GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[Resolvido]Duvida com array?

4 participantes

Ir para baixo

[Resolvido]Duvida com array? Empty [Resolvido]Duvida com array?

Mensagem por Carlos L. Seg 07 Fev 2011, 00:04

Opa pessoal beleza, tom com uma dúvida cruel eu sei o que são arrays 1D e 2D mais não sei como utilizalas.
Por Exemplo, eu tenho a seguinte array 1D.
Código:
array[0]=1;
array[1]=5;
Certo já declarei as arrays mais na hora de utiliza-lás em um outro código como adiciono ela e como ela vai ser interpretada naquela código.
Agora já nas arrays 2D, por exemplo.
Código:
array[0,1]=1;
array[0,2]=5;
Nesse caso como elas serão executadas, na hora da execução elas seguirão sua ordem de linhas, como o código interpretara ela.

Ou seja não sei nada sobre a utilização de arrays se alguém poder me ajudar.
pirat
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por Janx Seg 07 Fev 2011, 00:20

Pense na array como uma tabela. A 1D é uma tabela de 1 linha e 'infinitas' colunas. A 2D é infinitas linhas e colunas.

Código:
array[0]=1;
array[1]=5;

show_message(string(array[0])); //Vai aparecer uma mensagem " 1 "

array2[0,1]=1;
array2[0,2]=5;

show_message(string(array2[0,1])); //Vai aparecer uma mensagem " 1 "

As arrays são como uma variavel com um só nome e vários valores. Digamos que a tabela é o nome da variável e nas colunas/linhas são guardados os muitos valores dela.

Pegar o valor é só você especificar de qual coluna/linha quer saber.
array2[0,2] -> Coluna 0, linha 2
array[6] -> Coluna 6, linha unica
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por Iasmim Ribeiro Seg 07 Fev 2011, 10:03

Janx disse:
"array2[0,2] -> Coluna 0, linha 2"

Na verdade é o oposto array[linha,coluna]

pra complementar a explicação anterior...

um array qdo é uni-dimensional - uma única direção, ele é chamado de vetor...
e já o bi-dimensional - é o q possui linhas e colunas...chamado de matrizes(igual aqla lá dá escola)
Eu te sugiro toda vez q for fazer algo..principalmente com arrays...faça o teste de mesa....

Lembrando:
todo array tem o seu tipo..tipo vc ñ pod enfiar tdo tipo d dados em um único array...dependendo do caso vc cria outro

array1[2,2] = 24 //na linha 2, coluna 2, será add o valor 24
array1[2,3] = Iasmim //na linha 2, coluna 3, será add Iasmim

Isso dará erro pq o primeiro valor é um Int...e o segundo uma String..

mas se vc fizer assim:
array2[2,3] = Iasmim //ñ levem em consideração as ""-foi um mero exemplo, e ñ coloquei por causa da variação d linguagem p/ linguagem...
Estará td certo...
Pense no array como uma variavel, q tem o poder d armazenar muitos dados...
E pra vc manipular as posições, vc mexe nos indices...q são esses números entre colchete...


att.
Iasmim Ribeiro
Iasmim Ribeiro

Data de inscrição : 05/07/2010
Reputação : 6
Número de Mensagens : 65
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por vinians Seg 07 Fev 2011, 11:48

Iasmim Ribeiro escreveu:
Janx disse:
"array2[0,2] -> Coluna 0, linha 2"

Na verdade é o oposto array[linha,coluna]

pra complementar a explicação anterior...

um array qdo é uni-dimensional - uma única direção, ele é chamado de vetor...
e já o bi-dimensional - é o q possui linhas e colunas...chamado de matrizes(igual aqla lá dá escola)
Eu te sugiro toda vez q for fazer algo..principalmente com arrays...faça o teste de mesa....

Lembrando:
todo array tem o seu tipo..tipo vc ñ pod enfiar tdo tipo d dados em um único array...dependendo do caso vc cria outro

array1[2,2] = 24 //na linha 2, coluna 2, será add o valor 24
array1[2,3] = Iasmim //na linha 2, coluna 3, será add Iasmim

Isso dará erro pq o primeiro valor é um Int...e o segundo uma String..

mas se vc fizer assim:
array2[2,3] = Iasmim //ñ levem em consideração as ""-foi um mero exemplo, e ñ coloquei por causa da variação d linguagem p/ linguagem...
Estará td certo...
Pense no array como uma variavel, q tem o poder d armazenar muitos dados...
E pra vc manipular as posições, vc mexe nos indices...q são esses números entre colchete...


att.
Ótima explicação Iasmim, porém o modo de interpretar as dimensões de um array fica a cargo do programador, tanto faz [linha, coluna] ou [coluna, linha]. Não há nada que impeça uma tabela de ser interpretada desse ou daquele jeito.
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por Carlos L. Seg 07 Fev 2011, 14:24

Deixa eu ver se eu entendi direito. Uma array e a mesma coisa que uma variável, mas ela armazena muitos dados com a simples mudança de seus índices.
Exemplo.:
Código:
array[0] = 5; // Na array 0 ela irá adicionar o valor 5;
array[1] = 'Game Maker'; // Nesse caso vai dar erro pois a primeira eu armazenei um numero e na segunda eu adicionei uma string?
Agora no caso das matrizes, se eu fizer do mesmo jeito que a de cima também dará erro, mas por que se ela age do mesmo jeito que uma variável.
E no caso das linhas e das colunas tem um limite ou pode armazenar o numero que quiser?
Exemplo.:
Código:
array[0,1] = 1;
array[50,20] = 2;
Question
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por vinians Seg 07 Fev 2011, 14:40

Sim, uma vez que você inicialize o primeiro elemento de um vetor com um tipo de dados (string ou numero) deve continuar com aquele tipo nos outros elementos do mesmo vetor.
Para usar um vetor com mais dimensões você deve inicializa-lo antes de referenciar o seu conteudo.
Por exemplo, supondo que você precise armazenar uma tabela de jogo de damas de 10 x 10 elementos você faria assim:
Código:

var i, j;
for (i = 0; i < 10; i += 1)
{
  for (j = 0; j < 10; j += 1)
  {
      damas[i, j] = 0; //casa desocupada
  }
}
Nesse caso foi inicializado um vetor chamado damas de 10 x 10 elementos começando do 0 (zero) ou seja o indice variará de 0 a 9 colunas por 0 a 9 linhas totalizando 100 elementos.
Assim sendo, apos inicializado você pode "usar" o valor ali armazenado. Veja:
Evento DRAW:
Código:

draw_text(x, y, "Valor do elemento em 5, 5 do array Damas:" + string(damas[5, 5]));
O seu programa (jogo) pode usar então os elementos do array damas normalmente.
flws!

vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por Carlos L. Seg 07 Fev 2011, 15:07

Opa valeu pela ajuda, se eu entendi direito uma array iniciada com um certo elemento deve sempre seguir aquele elemento em suas respectivas arrays.
Já no caso do limite da array sempre deve-se fazer uma verificação para colocar um limite no numero de arrays que se deseja, ou por exemplo ao chegar na array...
Código:
array[0,1] = 1;
...
array[0,9] = 9;
Deve-se mudar o numero da coluna.
Código:
array[1,1] = 2;
...
array[1,9] = 9;
array[2,1] = 3;
E assim por diante.
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por vinians Seg 07 Fev 2011, 15:20

Carlos L. escreveu:Opa valeu pela ajuda, se eu entendi direito uma array iniciada com um certo elemento deve sempre seguir aquele elemento em suas respectivas arrays.
Já no caso do limite da array sempre deve-se fazer uma verificação para colocar um limite no numero de arrays que se deseja, ou por exemplo ao chegar na array...
Código:
array[0,1] = 1;
...
array[0,9] = 9;
Deve-se mudar o numero da coluna.
Código:
array[1,1] = 2;
...
array[1,9] = 9;
array[2,1] = 3;
E assim por diante.
Atribuir valores a um array dificilmente vai dar um erro de "array não declarado" o que geralmente dará erro é fazer referencia (usar o valor, mostrar, calcular etc) de um array que nao tenha sido atribuido valores nele antes. No Game Maker você não especifica diretamente o limite de um array como no Delphi por exemplo. Uma vez atribuido valor, ele estará disponível ao programa. Isso significa que :
Código:

meu_array[1,2] = "teste";
Nao inicializa automaticamente o meu_array[1, 1].
Nem mesmo em arrays unidimensionais (vetores), veja:
dados[5] = 10;
Se eu fizer:
Código:

draw_text(x, y, "Valor da posicao 4:" + string(dados[4]));
Isso dará um erro pois não foi inicializada ainda essa posição.
flws!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por Carlos L. Seg 07 Fev 2011, 15:22

Valeu Vinians agora sim deu para entender. Muito obrigado a ajuda de todos.
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Resolvido]Duvida com array? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[Resolvido]Duvida com array? Empty Re: [Resolvido]Duvida com array?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos