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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


[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 : 2715
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 : 2715
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 : 2715
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