[Resolvido]Como colocar números em ordem numérica?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]Como colocar números em ordem numérica?

Mensagem por Anderson3d em Sex 06 Maio 2011, 14:13

Apelo mais uma vez a cúpula dos mestres do gml desse fórum. Dessa vez venho perguntar como por variáveis numéricas em ordem numérica. Fiz a busca no fórum por ordem numérica e nada achei para meu espanto.
Preciso muito aprender isso pois senão estarei fadado à paralização nos meus projetos. :cry:
Abração


Última edição por Anderson3d em Sex 06 Maio 2011, 18:47, editado 1 vez(es)

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Como colocar números em ordem numérica?

Mensagem por saim em Sex 06 Maio 2011, 14:28

ds_lists.
Código:
numeros=ds_list_create()
for(i=0; i<quantidade_de_numeros; i+=1)
ds_list_add(numeros, valor) //substituir "valor" pelo... bom... pelo valor. Se estiver numa array, fica fácil (mas pra que usar arrays quando você já tem uma ds_list?)
ds_list_sort(numeros, true)
Com isso, você terá uma ds_list com os números em ordem. Pra adicionar mais números, repita o comando ds_list_sort. Pra recuperar os dados, o comando é ds_list_find_value(numeros, posicao_na_list), onde posicao_na_list varia de zero até o tamanho da lista. Ah, o tamanho da lista é ds_list_size(numeros).

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Como colocar números em ordem numérica?

Mensagem por fredcobain em Sex 06 Maio 2011, 16:21

Vide Help do GM8:


ds_list_sort(id,ascend) Sorts the values in the list. When ascend is true the values are sorted in ascending order, otherwise in descending order.


afro

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Como colocar números em ordem numérica?

Mensagem por Anderson3d em Sex 06 Maio 2011, 17:30

saim escreveu:ds_lists.
Código:
numeros=ds_list_create()
for(i=0; i<quantidade_de_numeros; i+=1)
ds_list_add(numeros, valor) //substituir "valor" pelo... bom... pelo valor. Se estiver numa array, fica fácil (mas pra que usar arrays quando você já tem uma ds_list?)
ds_list_sort(numeros, true)
Com isso, você terá uma ds_list com os números em ordem. Pra adicionar mais números, repita o comando ds_list_sort. Pra recuperar os dados, o comando é ds_list_find_value(numeros, posicao_na_list), onde posicao_na_list varia de zero até o tamanho da lista. Ah, o tamanho da lista é ds_list_size(numeros).
Olá saim, sinceramente não entendi cara.
1- ds_list_create() cria a lista ok, entendi;
2- ds_list_add(numeros, valor) não entendi essa parte, ele esta adicionando alguma coisa a lista?
3- ds_list_sort(numeros, true) isso aqui sorteia na lista um valor, correto? eesse valor sorteado vem em ordem numérica? maior por menor ou ao contrário?

Não entendo como isso ai está colocando alguma coisa em ordem numérica. Pode dar um exemplo prático? (se não for pedir demais?) :cry:

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Como colocar números em ordem numérica?

Mensagem por PedroX em Sex 06 Maio 2011, 17:46

Vou dar um exemplo:

compras=ds_list_create() //cria a lista, pega a cesta etc...
-------------------------------------------------------------------------
ds_list_add(compras,'macarrão') //poe na cesta
ds_list_add(comprar,'arroz')

A lista fica assim:

0 - macarrao
1 - arroz
-------------------------------------------------------------------------
Coloca a lista em ordem alfabetica:
ds_list_sort(compras,1)

A lista fica assim:

0 - arroz
1 - macarrao


Ai se você usar o código abaixo (depois de ordenar a lista):

ds_list_find_value(compras, 1)

Vai retornar 'macarrao'.

FLW

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Como colocar números em ordem numérica?

Mensagem por Anderson3d em Sex 06 Maio 2011, 18:34

Pedro Henrique escreveu:Vou dar um exemplo:

compras=ds_list_create() //cria a lista, pega a cesta etc...
-------------------------------------------------------------------------
ds_list_add(compras,'macarrão') //poe na cesta
ds_list_add(comprar,'arroz')

A lista fica assim:

0 - macarrao
1 - arroz
-------------------------------------------------------------------------
Coloca a lista em ordem alfabetica:
ds_list_sort(compras,1)

A lista fica assim:

0 - arroz
1 - macarrao


Ai se você usar o código abaixo (depois de ordenar a lista):

ds_list_find_value(compras, 1)

Vai retornar 'macarrao'.

FLW

Devo estar com raciocínio lento hj... :|
1- ds_list_sort() Isso colocará em ordem alfabética? E pra colocar em numérica?
2- ds_list_find_value(compras, 1) vc disse que retorna macarrao, mas em que usaria isso?

O que quero é, ter 10 variáveis, tipo: lugar1, lugar2, lugar3 ... lugar10
De posse dessas 10 variáveis, colocá-las em ordem numérica, do maior valor ao menor, isso criará um rank certo?
De posse da ordem numérica, usando o draw, desenhar a sequência delas, uma abaixo da outra, tipo:
(linha1) draw_set_text(x,y,"primeiro lugar") lugar(X) (sendo x o maior das variáveis lugar)
(linha2) draw_set_text(x,y,"segundo lugar") lugar(X) (sendo x o segundo maior das variáveis lugar)
(linha3) draw_set_text(x,y,"terceiro lugar") lugar(X) (sendo x o terceiro maior das variáveis lugar)
(linha4) draw_set_text(x,y,"quarto lugar") lugar(X) (sendo x o quarto maior das variáveis lugar)

Espero não estar sendo chato, mas se eu conseguir isso será um grande avanço para mim,

Na minha cabeça essa é a melhor forma pra criar um rank. :|
edit: perdoem eu entendi, fiz teste e resolvi aqui, muito obrigado pessoal, passei por mais um aprendizado e agora já sei fazer ranks... Vou estudar pra passar isso para on line usando php. Vlw! cheers

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Como colocar números em ordem numérica?

Mensagem por Conteúdo patrocinado Hoje à(s) 20:05


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum