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
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 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


Problemas com arrays

3 participantes

Ir para baixo

Problemas com arrays Empty Problemas com arrays

Mensagem por Felipe Reis Magno 2 Sex 08 Ago 2014, 13:55

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:

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
Felipe Reis Magno 2

Games Ranking : Nota E

Notas recebidas : E
Data de inscrição : 08/08/2014
Reputação : 2
Número de Mensagens : 43
Prêmios : Problemas com arrays 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

Problemas com arrays Empty Re: Problemas com arrays

Mensagem por Isaque Onix Sex 08 Ago 2014, 15:12

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:

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
}
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Problemas com arrays 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Problemas com arrays Empty Re: Problemas com arrays

Mensagem por All-x Sex 08 Ago 2014, 15:24

Isaque Foi mais rápido.

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!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : Problemas com arrays Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

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


https://redscreensoft.com

Ir para o topo Ir para baixo

Problemas com arrays Empty Re: Problemas com arrays

Mensagem por Felipe Reis Magno 2 Sáb 09 Ago 2014, 07:52

Poxa, vlw gente, testarei os 2 códigos no inicio da semana e logo responderei se deu certo!
Felipe Reis Magno 2
Felipe Reis Magno 2

Games Ranking : Nota E

Notas recebidas : E
Data de inscrição : 08/08/2014
Reputação : 2
Número de Mensagens : 43
Prêmios : Problemas com arrays 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

Problemas com arrays Empty Re: Problemas com arrays

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