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
Em quais operações o comando "for" atua? Cite 4 exemplos.
+2
Pit Bull
Limalokão
6 participantes
Página 1 de 1
Em quais operações o comando "for" atua? Cite 4 exemplos.
HeHe parece prova não? Mas essa é a minha dúvida, em quais operações ou em que momentos o for atua?
Ele atua na criação de um inventário. Isso eu sei =D mas não sei usar haha
Se puderem dar exemplos com códigos estou tentando aprender isso aí a tempos, só que nunca sei onde usar! Obrigado.
Ele atua na criação de um inventário. Isso eu sei =D mas não sei usar haha
Se puderem dar exemplos com códigos estou tentando aprender isso aí a tempos, só que nunca sei onde usar! Obrigado.
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
Primeiro, para aprender qualquer linguagem não se pode pensar que aquilo só serve para algo, tem que ter na cabeça que isso e uma seguencia logica de ações.
o for nada mais e que um segundo while, ou seja, mais organizado, contento ponto inicial, ponto final e o valor que vai ser acrescentado ou retirado.
for(ponto inicial;ponto final;valor acrescentado ou retirado){
ação a ser repetida
}
Se você quer que o for pare em um determinado momento é só usar o break; que ele sai do comando for e executa a proxima etapa do seu script(ou d&d).
exemplo:
você quer criar 200 objetos de uma só vez, como fazer?
instance_create(x,y,objeto)
instance_create(x,y,objeto)
instance_create(x,y,objeto)
instance_create(x,y,objeto)
...
imagina o tamanho do codigo fazendo assim.
Com o for você só usará 4 linhas(modelo organizado).
for(variavel=1;variavel<=200;variavel+=1)
{
instance_create(x,y,objeto)
}
enguanto a variavel for menor ou igual a 200 será repetido o comando entre as chaves e no final irá acrescentar 1 na variavel.
lembre que se o for não tiver fim seu jogo irá travar, e por isso que tem o acréscimo.
Acho que expliquei do melhor jeito possivel, como aprendi na faculdade ;D
o for nada mais e que um segundo while, ou seja, mais organizado, contento ponto inicial, ponto final e o valor que vai ser acrescentado ou retirado.
for(ponto inicial;ponto final;valor acrescentado ou retirado){
ação a ser repetida
}
Se você quer que o for pare em um determinado momento é só usar o break; que ele sai do comando for e executa a proxima etapa do seu script(ou d&d).
exemplo:
você quer criar 200 objetos de uma só vez, como fazer?
instance_create(x,y,objeto)
instance_create(x,y,objeto)
instance_create(x,y,objeto)
instance_create(x,y,objeto)
...
imagina o tamanho do codigo fazendo assim.
Com o for você só usará 4 linhas(modelo organizado).
for(variavel=1;variavel<=200;variavel+=1)
{
instance_create(x,y,objeto)
}
enguanto a variavel for menor ou igual a 200 será repetido o comando entre as chaves e no final irá acrescentar 1 na variavel.
lembre que se o for não tiver fim seu jogo irá travar, e por isso que tem o acréscimo.
Acho que expliquei do melhor jeito possivel, como aprendi na faculdade ;D
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
É explicou legal, mas onde usar? Tipo em que tipo de jogos?
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
fala aí SOul.
No meu inventário eu uso pra criar os Itens, que estão dentro de um Vetor.
O For é usado pra executar um comando quantas vezes vc especificar.
por exemplo:
Coloco os itens em um Vetor, e usando um laço For , crio uma
instancia de cada Item, usando o Contador 'i' para setar o 'index' do Vetor.
No meu inventário eu uso pra criar os Itens, que estão dentro de um Vetor.
O For é usado pra executar um comando quantas vezes vc especificar.
por exemplo:
- Código:
var itens;
var itens_tamanho;
itens[0] = obj_Erva;
itens[1] = obj_Flecha;
itens_tamanho = 2;
for (i=0; i< itens_tamanho; i+=1){
in = instance_create(x,y + ((i+1)*40),itens[i]);
}
Coloco os itens em um Vetor, e usando um laço For , crio uma
instancia de cada Item, usando o Contador 'i' para setar o 'index' do Vetor.
Eudes - Hyo- Games Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Reputação : 27
Número de Mensagens : 513
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
E ae Eudes, então... esse cód que vc usa para colocar coisas no seu inventario, ele vai adicionando 1 a 1 dentro dos quadrados certo? Ou seja se vc pega uma erva, ele adiciona no primeiro quadrado, se voce pega outra ele adiciona no outro. Isso?
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
O for na verdade não é uma obrigatoriedade padrão de um jogo , e sim está envolvido na facilitação do trabalho do programador.O for em si , conceitualmente falando , é isso mesmo a que o pit bull se refere.A aplicação dele depende da sua necessidade.Vou dar um exemplo :
# Exemplo :
# Exemplo :
- Código:
text = ""; // Text é declarado como uma variável-string.
for(i = 0; i < 5; i += 1) // Iniciamos a estrutura de repetição que se fará 5 vezes .
begin // Início
text += choose("a" , "b" , "c" , "d" , "0" , "1" , "2" , "3"); // Somamos algum desses caracteres aleatoriamente.
end // Fim.
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
TRFN então com esse cód aí ele vai escrever: B32CA por exemplo!? Ou 310CD etc.
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
O for é um laço. Ou seja, o jogo fica "preso" no laço (ou ciclo) até que o mesmo termine. Assim como o for, há outros laços, como while. Qual é a principal diferença? O while segura o jogo enquanto a condição for satisfeita, mas o for te dá a possibilidade de saber quantas vezes o ciclo foi repetido (não é só isso).
Por exemplo:
while( nome == "" ) nome = get_string('Digite seu nome:', '');
Isso vai prender o jogo enquanto o nome estiver vazio. Ficará repetindo o código.
Já no caso do for, você pode fazer muitas outras coisas, mas vou mostrar o mesmo exemplo, incrementado:
Isso também impedirá que o nome seja vazio. Além disso, há a possibilidade de certo nome ser proibido. No while isso é até mais fácil, mas o exemplo tem objetivos didáticos. No caso, o jogo vai declarar i como a string digitada. Então vai checar se i é igual a "", se não for, ele já para de executar o laço. Se for, ele executa o código colocado na terceira posição (i = get_string()), então ele volta a verificar a condição (i == ""), e assim o laço recomeça.
Até mais!
Por exemplo:
while( nome == "" ) nome = get_string('Digite seu nome:', '');
Isso vai prender o jogo enquanto o nome estiver vazio. Ficará repetindo o código.
Já no caso do for, você pode fazer muitas outras coisas, mas vou mostrar o mesmo exemplo, incrementado:
- Código:
for(i = get_string("Digite seu nome:", ''); i =="" or i=="nome proibido"; i = get_string("Digite seu nome:", '') ) {};
Isso também impedirá que o nome seja vazio. Além disso, há a possibilidade de certo nome ser proibido. No while isso é até mais fácil, mas o exemplo tem objetivos didáticos. No caso, o jogo vai declarar i como a string digitada. Então vai checar se i é igual a "", se não for, ele já para de executar o laço. Se for, ele executa o código colocado na terceira posição (i = get_string()), então ele volta a verificar a condição (i == ""), e assim o laço recomeça.
Até mais!
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
Soul Limaloko escreveu:E ae Eudes, então... esse cód que vc usa para colocar coisas no seu inventario, ele vai adicionando 1 a 1 dentro dos quadrados certo? Ou seja se vc pega uma erva, ele adiciona no primeiro quadrado, se voce pega outra ele adiciona no outro. Isso?
isso. a minha lógica é asism:
vetor itens[]
itens_tamanho = 0
Na colisão do Player com qualquer Item, eu adiciono o Item ao vetor, e seto seu tamanho:
Colisão do Player com Erva:
- Código:
itens[itens_tamanho] = obj_erva;
itens_tamanho = itens_tamanho +1;
Eudes - Hyo- Games Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Reputação : 27
Número de Mensagens : 513
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
Não pense em um comando deste jeito. As linguagens disponibilizam os comandos para você construir o seu software (no caso do GM, na maioria Jogos). Por isso é muito importante se concentrar na lógica do que você quer fazer do que no comando em si. Por exemplo, se você precisa repetir algo, pode usar o For, While, Repeat etc isso é uma escolha pessoal e de conveniência.
Eu particularmente uso For quando trabalho com arrays, pois é muito facil você "atravessar" um array usando este comando. Ou seja, basicamente os comandos de laço como For, While e Repeat são usados quando se quer "Repetir" algo e/ou "Indexar" algo. Operações com índices são muito importantes para projetos de jogos mais sofisticados.
O exemplo de "Inventario" que você citou pode ser feito utilizando um array bidimensional, por isso a utlização do For se aplica tão bem a este tipo de construção.
Por isso mais uma vez eu digo, se concentre mais naquilo que deseja fazer e use os comandos (qualquer um deles) como ferramentas para se chegar ao objetivo desejado, pensar desta maneira inclusive facilita portar o seu jogo para outras plataformas com mais facilidade.
Eu particularmente uso For quando trabalho com arrays, pois é muito facil você "atravessar" um array usando este comando. Ou seja, basicamente os comandos de laço como For, While e Repeat são usados quando se quer "Repetir" algo e/ou "Indexar" algo. Operações com índices são muito importantes para projetos de jogos mais sofisticados.
O exemplo de "Inventario" que você citou pode ser feito utilizando um array bidimensional, por isso a utlização do For se aplica tão bem a este tipo de construção.
Por isso mais uma vez eu digo, se concentre mais naquilo que deseja fazer e use os comandos (qualquer um deles) como ferramentas para se chegar ao objetivo desejado, pensar desta maneira inclusive facilita portar o seu jogo para outras plataformas com mais facilidade.
Re: Em quais operações o comando "for" atua? Cite 4 exemplos.
Muito bom! Gostei bastante das respostas.
Vou treinar agora tentando fazer um inventário. Começando por ele é lógico. Alguém tem um bom tutorial para indicar de inventário? Sem engine sem nada! O que eu quero é basicamente: "1- ja tenho uma HUD de inventario desenhada 5x3=15 quadradinhos, 2- colocar objetos dentro dele, 3- com o mouse excluir os objetos dele". Pow, entendi bem só me resta treinar se não esqueço tudo de novo! haha Obrigado.
- EDIT -
Procureis uns tutoriais, e achei alguns que fazem o seguinte: Adicionam o objeto mas sempre na mesma casa =/ por exemplo: peguei um diamante, ele adiciona na casa 2, depois peguei um ouro adiciona na casa 1, o correto seria verificar se a casa 1 está livre e entao jogar na casa 1, se nao estiver livre na casa 2, se a casa 2 nao estiver livre na casa 3 e assim sucessivamente mas não consegui achar isso.
Vou treinar agora tentando fazer um inventário. Começando por ele é lógico. Alguém tem um bom tutorial para indicar de inventário? Sem engine sem nada! O que eu quero é basicamente: "1- ja tenho uma HUD de inventario desenhada 5x3=15 quadradinhos, 2- colocar objetos dentro dele, 3- com o mouse excluir os objetos dele". Pow, entendi bem só me resta treinar se não esqueço tudo de novo! haha Obrigado.
- EDIT -
Procureis uns tutoriais, e achei alguns que fazem o seguinte: Adicionam o objeto mas sempre na mesma casa =/ por exemplo: peguei um diamante, ele adiciona na casa 2, depois peguei um ouro adiciona na casa 1, o correto seria verificar se a casa 1 está livre e entao jogar na casa 1, se nao estiver livre na casa 2, se a casa 2 nao estiver livre na casa 3 e assim sucessivamente mas não consegui achar isso.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos