Entrar
Últimos assuntos
» player não consegue andarpor 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
Problemas com arrays
3 participantes
Página 1 de 1
Problemas com arrays
Olá a todos, já tive uma conta neste fórum, porém eu perdi a senha... Enfim, estou de volta agora e tenho uma dúvida em relação a ARRAYS.
minha intenção inicial era selecionar cartas aleatórias do baralho, e continuar as comprando, mas sem repetições.
Estudei alguns tutoriais sobre arrays (por enquanto não entrarei no estudo de ds_list) e consegui fazer uma engine, porém as cartas se repetem quando eu clico no obj_baralho para cria-las... Vejam:
Este código eu coloquei no evento Create do obj_carta.
Eu sinceramente entendi muito pouco sobre como aplicar arrays, apesar de já entender bem as suas variadas utilidades.
Por favor, se alguém poder me dar um help, eu já agradeço!!!
minha intenção inicial era selecionar cartas aleatórias do baralho, e continuar as comprando, mas sem repetições.
Estudei alguns tutoriais sobre arrays (por enquanto não entrarei no estudo de ds_list) e consegui fazer uma engine, porém as cartas se repetem quando eu clico no obj_baralho para cria-las... Vejam:
- Código:
image_speed=0;
var i;
i=0;
cartas[i]=0;i+=1
cartas[i]=1;i+=1
cartas[i]=2;i+=1
cartas[i]=3;i+=1
cartas[i]=4;i+=1
cartas[i]=5;i+=1
cartas[i]=6;i+=1
cartas[i]=7;i+=1
cartas[i]=8;i+=1
cartas[i]=9;i+=1
cartas[i]=10;i+=1
cartas[i]=11;i+=1
cartas[i]=12;i+=1
cartas[i]=13;i+=1
cartas[i]=14;i+=1
cartas[i]=15;i+=1
cartas[i]=16;i+=1
cartas[i]=17;i+=1
cartas[i]=18;i+=1
cartas[i]=19;i+=1
cartas[i]=20;i+=1
cartas[i]=21;i+=1
cartas[i]=22;i+=1
cartas[i]=23;i+=1
cartas[i]=24;i+=1
cartas[i]=25;i+=1
cartas[i]=26;i+=1
cartas[i]=27;i+=1
cartas[i]=28;i+=1
cartas[i]=29;i+=1
cartas[i]=30;i+=1
cartas[i]=31;i+=1
cartas[i]=32;i+=1
cartas[i]=33;i+=1
cartas[i]=34;i+=1
cartas[i]=35;i+=1
cartas[i]=36;i+=1
cartas[i]=37;i+=1
cartas[i]=38;i+=1
cartas[i]=39;i+=1
cartas[i]=40;i+=1
cartas[i]=41;i+=1
cartas[i]=42;i+=1
cartas[i]=43;i+=1
cartas[i]=44;i+=1
cartas[i]=45;i+=1
cartas[i]=46;i+=1
cartas[i]=47;i+=1
cartas[i]=48;i+=1
cartas[i]=49;i+=1
cartas[i]=49;
cartas[i]=image_index||i==49;
image_index=random(49);
for (i=0; i<=49 i+=1)
cartas[i]=0;
Este código eu coloquei no evento Create do obj_carta.
Eu sinceramente entendi muito pouco sobre como aplicar arrays, apesar de já entender bem as suas variadas utilidades.
Por favor, se alguém poder me dar um help, eu já agradeço!!!
Felipe Reis Magno 2- Games Ranking :
Notas recebidas : E
Data de inscrição : 08/08/2014
Reputação : 2
Número de Mensagens : 43
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas com arrays
cartas[i]=8 // guarda a indentificaçao da carta... certo?
tente:
cartas[i,0]=8//id da carta
cartas[i,1]=false//comprada true = comprada false = nao comprada
dai so fazer com que cartas[i,1]=true quando comprar...
sei que nao pediu ajuda com isso, mais e mais facil se iniciar assim:
ou
tente:
cartas[i,0]=8//id da carta
cartas[i,1]=false//comprada true = comprada false = nao comprada
dai so fazer com que cartas[i,1]=true quando comprar...
sei que nao pediu ajuda com isso, mais e mais facil se iniciar assim:
- Código:
i=0//inicia a contagem das cartas
repeat(49){
cartas[i,0]=i//id da carta
cartas[i,1]=false//comprada true = comprada false = nao comprada
i+=1//aumenta a contagem das cartas
}
ou
- Código:
for(i=0; i<50; i+=1){
cartas[i,0]=i//id da carta
cartas[i,1]=false//comprada true = comprada false = nao comprada
}
Re: Problemas com arrays
Na programação você encontrará mais sobre isso procurando por "Vetores". O modo mais confortável e otimizado de fazer isso é utilizando ds_lists. Se usássemos vetores, teríamos um trabalho 'braçal' muito maior e possivelmente um código confuso.
O baralho que está usando é um baralho comum (Francês)? Como não disse, vamos supor que seja. Ele tem 52 cartas, vamos dizer que tu tem ai uma sprite com 52 frames, uma carta de cada. No create do obj_baralho coloque:
- Código:
//Cria lista vazia para as cartas
cartas = ds_list_create();
//Preenche lista com valores de 0 a 51 - Caso a quantidade de cartas for menor troque o 52 pela quantia certa
for (var i = 0; i < 52; i++)
{
ds_list_add(cartas, i);
}
Essa lista vai guardar as cartas que não foram usados. No caso, todos. Agora a usaremos para criar as cartas. Vá até o evento de clique no obj_baralho e coloque:
- Código:
//Se tem cartas no baralho
if ds_list_size(cartas) > 0
{
//Embaralha baralho -_-
ds_list_shuffle(cartas);
//Pega a primeira carta da lista e armazena na variável n
var n = ds_list_find_value(cartas,0);
//Cria uma carta e armazena sua referência (id) na variável i
var i = instance_create(mouse_x, mouse_y, obj_card);
//Seleciona subimagem da carta criada
i.image_index = n;
//Deleta essa carta do baralho para que não apareça na próxima
ds_list_delete(cartas,0);
}
E por último não esqueça de colocar isso na carta:
- Código:
image_speed = 0;
Não esquecendo de remover seus códigos de vetores.
Testado, qualquer dúvida estamos ai.
FLWS!
Re: Problemas com arrays
Poxa, vlw gente, testarei os 2 códigos no inicio da semana e logo responderei se deu certo!
Felipe Reis Magno 2- Games Ranking :
Notas recebidas : E
Data de inscrição : 08/08/2014
Reputação : 2
Número de Mensagens : 43
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [DUVIDA] Arrays e "for"?
» [HELP] declarando arrays
» Array de arrays.
» [Tutorial] Arrays
» duvida com arrays
» [HELP] declarando arrays
» Array de arrays.
» [Tutorial] Arrays
» duvida com arrays
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos