identificar se posição de array existe

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

identificar se posição de array existe

Mensagem por reddragon 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.

reddragon

Número de Mensagens : 267
Idade : 27
Data de inscrição : 19/03/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: identificar se posição de array existe

Mensagem por Janx 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)

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: identificar se posição de array existe

Mensagem por reddragon 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])

reddragon

Número de Mensagens : 267
Idade : 27
Data de inscrição : 19/03/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: identificar se posição de array existe

Mensagem por Gusba em Dom 19 Abr 2009, 14:32

cara, nao existe em GML

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: identificar se posição de array existe

Mensagem por CPinheiro 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.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: identificar se posição de array existe

Mensagem por KinKing 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...

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: identificar se posição de array existe

Mensagem por Conteúdo patrocinado Hoje à(s) 03:42


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