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


Duvidas

3 participantes

Ir para baixo

Duvidas Empty Duvidas

Mensagem por jose rocha Dom 08 Jun 2014, 16:21

Olá a todos, tenho umas duvidas de código, agradeço desde já a quem me poder ajudar:

1- Sempre que vejo isto mesmo num tutorial não entendo, gostaria que alguém me explicasse isto linha por linha:

ordem = 0;
for(i=0;i<5;i+=1) {
if letras[i] == true {
draw_text(0, ordem * 16, chr(55+i));
ordem += 1;
}
}

Este código refere-se ao meu post:
https://gmbr.forumeiros.com/t28238-preciso-de-ajuda-para-sistema


2- Como posso fazer algo se repetir até atingir o valor desejado? exemplo:

global.numero = irandomrange (0,7) ((((quaquer coisa assim,não interessa))))

if global.numero = global.numero 2

{
aqui eu queria que ele volta-se á primeira linha (por ser igual) e volta-se a gerar o numero
}

3- Tem alguma maneira de organizar a estrutura do "if dentro de if"? exemplo:

if qualquer coisa {
if outra qualquer coisa também {

resultado
}}

Queria saber se tem maneira de fazer isto mais fácil porque eu tiver que meter um monte de condiçoes então fica confuso.

Obrigado pela atenção.
jose rocha
jose rocha

Data de inscrição : 06/10/2013
Reputação : 3
Número de Mensagens : 76
Prêmios : Duvidas 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

Duvidas Empty Re: Duvidas

Mensagem por manobrother Dom 08 Jun 2014, 17:10

O 1 e o 2 infelizmente não sei te responder mas no caso do 3 pode sim fazer, por exemplo:

if keyboard_check(vk_right){
if sprite_index = spr_personagem_esq{
sprite_index = spr_personagem_dir
}
}



Espero ter ajudado:)
manobrother
manobrother

Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios : Duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

Duvidas Empty Re: Duvidas

Mensagem por jose rocha Dom 08 Jun 2014, 17:29

Obrigado pela resposta mas isso sei eu, talvez eu me tenha explicado mal:

Quero fazer isso mas de outro maneira porque se eu tiver muitos "if" vira confusão.

qualquer coisa do tipo:

if keyboard_check(vk_right) and sprite_index = spr_personagem_esq and sprite_index = spr_personagem_dir
{
qualquer coisa aqui
}
jose rocha
jose rocha

Data de inscrição : 06/10/2013
Reputação : 3
Número de Mensagens : 76
Prêmios : Duvidas 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

Duvidas Empty Re: Duvidas

Mensagem por Camin Seg 16 Jun 2014, 18:59

Vou tentar explicar : Duvidas 31640 

---------------------------------------------------------------------
1.:


ordem = 0;
for(i=0;i<5;i+=1) {
if letras[i] == true {
draw_text(0, ordem * 16, chr(55+i));
ordem += 1;
}
}

"ordem = 0;" declaração(criação) da variável ordem.

---------------------------------------------------------------------

"for(i=0;i<5,i+=1) { laço }"
o laço "for" possui três argumentos divididos por ";"(ponto e vírgula):

for(argumento1;argumento2;argumento3)

argumento1:Este argumento acontece uma vez, dá um valor a uma variável, neste caso "i=0"( i recebe 0 )

argumento2:condição para o laço continuar repetindo, ou seja, o laço({}) vai repetir enqüanto "i<5"(i for menor que 5)

argumento 3: acontece cada vez que o laço se repetir "i += 1" (i adicionará mais 1)

inicialmente "i=0",e enqüanto "i<5" o que está dentro das chaves({aqui}) irá se repetir, e cada vez que repetir "i += 1";(repetirá 6 vezes)
Isso é muito útil em certas situações, depois que se aprende a usar o for muitas coisas ficam mais fáceis.
---------------------------------------------------------------------
"if (letras[i] == true) { laço }"
'if' significa 'se'
'letras[i]' isso é um vetor, é mais ou menos assim:
letras[5] ([0]=true [1]=true [2]=false [3]=true [4]=false [5]=false)
é como se fosse um monte de variáveis numa só. O "i" nesse caso indica qual valor será acessado.
----------------------------------------------------------------------
"draw_text(0, ordem * 16, chr(55+i));"
draw ( x , y , text )
desenha (ou escreve ) um texto na posição (x,y).
----------------------------------------------------------------------
"ordem += 1"
ordem adiciona mais 1.
----------------------------------------------------------------------
---------------------------------------------------------------------
2.:


Use o laço for falado acima:
for ( numero = 2 ; numero <7 ; numero +=1 )
{
laço de comando
}
neste caso o que estiver dentro do laço se repetirá cinco veses.
---------------------------------------------------------------------
3.:

Sim!
compare:
&& ---------- and (e)
|| ---------- or (ou)
! ---------- not (não)


para testar duas condições:

if (qualquer_coisa == 0)&&(outra_coisa ==0) { laço }
ou
if (qualquer_coisa == 0)and(outra_coisa ==0) { laço }
se qualquer_coisa e outra_coisa forem 0.

if (qualquer_coisa == 0)||(outra_coisa ==0) { laço }
ou
if (qualquer_coisa == 0)or(outra_coisa ==0) { laço }

se qualquer_coisa ou outra_coisa forem 0.
---------------------------------------------------------------------

Uma dica que pode ser útil: colocar comentários próximos ao fim do laço.
veja a situação por exemplo:

if (alguma_coisa == 0)
{
if ((outra_coisa)&&(mais_outra_coisa)>0)
{
 if ((maisOutraCoisaAinda)||(SebeDeusOque)<80)
 {
  for (troco = 0; troco < coisa ; troco += 1)
  {
   SabeDeusOque += 3;
  }//fim de FOR
 
  if ( tu ) != ( ele )
  {
   tu +=1;
  }// fim de tu és diferente dele
 }//fim de +outracoisa e SabeDeus
}//fim de outra e mais outra coisa!

if (Alguma_coisinha == 0)
{
 algo +=1;
}//fim de alguma coisinha!
}//fim de alguma_coisa!

usando comentários facilitam quando se possui um carnaval de IFs.


Desculpe qualquer coisa, quis deixar o mais bem explicado possível.
Se tiver mais alguma dúvida escreva.
Camin
Camin

Data de inscrição : 26/03/2011
Reputação : 9
Número de Mensagens : 101
Prêmios : Duvidas 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

Duvidas Empty Re: Duvidas

Mensagem por jose rocha Qua 18 Jun 2014, 21:32

caraças, a sua explicação é melhor que um tutorial. Estou exclarecido mais uma vez obrigado.
jose rocha
jose rocha

Data de inscrição : 06/10/2013
Reputação : 3
Número de Mensagens : 76
Prêmios : Duvidas 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

Duvidas Empty Re: Duvidas

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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