Conectar-se
Quem está conectado
19 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 19 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 36

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.wibix.webs.com

Estrutura de dados

em Qua 29 Jul 2015, 23:01
Legal esses "assessores" pra facilitar o uso de ds grip list e map, exemplo:
Código:
ds_map_find_value(id,key) = id[? key]
Eu não sei se estou certo ou errado... ... quando criamos uma array ou uma ds, na verdade estamos criando uma string, meio parecido com conjuntos numéricos (lembra em matemática), só que quando é ds tem uma estrutura a mais... eu já tentei usar array com 3 index mas não deu certo... já vi usuários tentando por um index do tipo string numa array(o que ficaria a mesma coisa que uma ds_map)... apesar de todos esse conjunto de estrutura de dados as vezes tenho problemas em organizar informações, como por exemplo informações das salas de um jogo, com um id nome numero de usuários e senhas próprios, sendo:
*O id tem que ser fixo, sala 1 sempre será sala 1, para podermos achar o restante dos dados.
*E o restante das informações guardadas em ds_map, tipo Nomes(? id).

Ate ai tá meio bagunçado mas da pra levar, mas se eu precisasse guarda informações a mais como usuários que estão na sala. Criaria uma ds_list pra cada sala?
Se pudesse array com 3 index "acho" que daria pra guarda todos os dados nela:
Salas = {id,{nome,senha,usuários{carlos,alberto,patricia}}}

Código:
Salas[1] //posição/id
Salas[1,1] //nome
Salas[1,2] //senha
Salas[1,3,1] //usuario
Salas[1,3,2] //usuario
Salas[1,3,3] //usuario
E usar as funções string para manipular. Não pense com o intuito de "vai da errado", pense que talvez possa da certo.
avatar
Data de inscrição : 06/03/2013
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 23

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

Re: Estrutura de dados

em Qui 30 Jul 2015, 00:43
Cara, também já tive a mesma dúvida. Com uma linguagem de programação orientada a objeto isso seria muito fácil de se resolver. No GM o jeito que eu encontrei de melhor organizar seria mais ou menos assim :

Código:

nome[0] = "nome da sala 0"
senha[0] = "senha da sala 0"
usuario[0,0] =  "usuário 0 da sala 0"
usuario[0,1] = "usuário 1 da sala 0"

E para achar o valor que você quer basta substituir o index pelo numero da sala,ou por uma variável que controle as salas, isso também tiraria a necessidade de um id.
E caso o id seja necessario basta colocar por exemplo :

Código:

_id[0] = 1977456

Isso já ficaria bastante organizado, e se quiser mais organização ainda pode utilizar arquivos de texto externos para guardar os valores de cada sala.


Última edição por mleoni em Qui 30 Jul 2015, 00:54, editado 4 vez(es)
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1598
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: Estrutura de dados

em Qui 30 Jul 2015, 00:48
da pra criar um sistema de array 3 dimensional com scripts, não é igual as arrays comuns, mais funciona bem, vi a que o pedro fez e fiz meu proprio sistema. mais no meu caso, eu usaria uma segunda array para definir os "usuarios" nesse caso...

Código:
Salas[0,0] //posição/id da sala 0
Salas[0,1] //nome da sala 0
Salas[0,2] //senha da sala 0
User[0,0] //usuario da sala 0
User[0,1] //usuario da sala 0
User[0,2] //usuario da sala 0

Salas[1,0] //posição/id da sala 1
Salas[1,1] //nome da sala 1
Salas[1,2] //senha da sala 1
User[1,0] //usuario da sala 1
User[1,1] //usuario da sala 1
User[1,2] //usuario da sala 1

ou usaria uma 3 array "Salas[1,3]" para armazenar o "banco de dados" da sala, algo do tipo Salas[1,2]=ds_grid_ceate(...)...

mais se vc quer colocar tudo em uma unica string, veja isso: IMBR
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