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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/03/2008
Número de Mensagens : 267
Insígnias de JAM :

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

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

identificar se posição de array existe

em Dom 19 Abr 2009, 10:48
bom galera eu estou querendo montar um comando que identifique se a index de uma array existe para montar um script que vai lendo a array ate seu fim e também se existir um comando que retorne a maior posição da array.
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

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

Re: identificar se posição de array existe

em Dom 19 Abr 2009, 11:19
Bom, que eu sei,
se vc usar o comando:
array[-1]

vai retornar o valor da ultima array (vai ao contrario)
avatar
Data de inscrição : 19/03/2008
Número de Mensagens : 267
Insígnias de JAM :

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

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

Re: identificar se posição de array existe

em Dom 19 Abr 2009, 12:02
valeu Janx mas não é bem isso eu queria um comando que retornasse esses valores para mim.

o valor da ultima id e se a index que eu estou pedindo existe ou não. algo desse tipo:

arrar_exist_index(array,index,index)

ou

arrar_exist_index(array[index,index])
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: identificar se posição de array existe

em Dom 19 Abr 2009, 14:32
cara, nao existe em GML
avatar
Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://supermariobrasileiro.blogspot.com

Re: identificar se posição de array existe

em Dom 19 Abr 2009, 14:59
Tente isso:

Código:

if (variable_local_exists("nome_da_var[index]"))
{
//code
}

Se isso não funcionar, veja se isso ajuda:


The following functions exist that allow you to check whether certain variables exist and with which you can set variables and get their values. In all these functions the variable name is passed as a string!


variable_global_exists(name) Returns whether a global variable with the given name (a string) exists.
variable_local_exists(name) Returns whether a local variable with the given name (a string) exists for the current instance.
variable_global_get(name) Returns the value of the global variable with the given name (a string).
variable_global_array_get(name,ind) Returns the value of index ind of the global array variable with the given name (a string).
variable_global_array2_get(name,ind1,ind2) Returns the value of index ind1,ind2 of the global 2-dimensional array variable with the given name (a string).
variable_local_get(name) Returns the value of the local variable with the given name (a string).
variable_local_array_get(name,ind) Returns the value of index ind of the local array variable with the given name (a string).
variable_local_array2_get(name,ind1,ind2) Returns the value of index ind1,ind2 of the local 2-dimensional array variable with the given name (a string).
variable_global_set(name,value) Sets the global variable with the given name (a string) to the given value.
variable_global_array_set(name,ind,value) Sets the index ind in the global array variable with the given name (a string) to the given value.
variable_global_array2_set(name,ind1,ind2,value) Sets the index ind1,ind2 in the global 2-dimensional array variable with the given name (a string) to the given value.
variable_local_set(name,value) Sets the local variable with the given name (a string) to the given value.
variable_local_array_set(name,ind,value) Sets the index ind in the local array variable with the given name (a string) to the given value.
variable_local_array2_set(name,ind1,ind2,value) Sets the index ind1,ind2 in the local 2-dimensional array variable with the given name (a string) to the given value.

For example, you can write:


{
if variable_global_exists('ammunition')
global.ammunition += 1
else
global.ammunition = 0
}

You can also use these functions to pass variables to a script in a sort of by-reference way, by passing their names as strings and using the functions to change them.
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

Re: identificar se posição de array existe

em Dom 19 Abr 2009, 17:23
Você pode usar, ao invés de arrays 2D, ds_grid, que são a mesma coisa tecnicamente mas com mais funções.

Caso você não esteja familiarizado com ds_grids, como eu não estive até esse momento, aqui vai um help para ajudar o entendimento


Código:
Um objeto persistente:

@create:
mygrid = ds_grid_create(2,2); //note que a sintaxe é (largura,altura) ou seja, o OPOSTO da ordem das arrays na criação.
fileira = 0;
coluna = 0;
ds_grid_set(mygrid,fileira,coluna,10);
current_value = ds_grid_get(mygrid,fileira,coluna); //note que aqui é igual às arrays

@game_end:
ds_grid_destroy(minhaGrid);

@draw
draw_text(50,50

EDIT: Ah, esqueci de dizer o mais importante. O ds_grid_height(nomeDaGrid) retorna exatamente a altura da grid...
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