Conectar-se
Quem está conectado
33 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 30 Visitantes

gart30, Katerp, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

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

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)
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

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

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).
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

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

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:
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

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

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
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum