Em quais operações o comando "for" atua? Cite 4 exemplos.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Limalokão em Sab 28 Jul 2012, 17:18

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 Happy estou tentando aprender isso aí a tempos, só que nunca sei onde usar! Obrigado.

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Pit Bull em Sab 28 Jul 2012, 17:28

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

Pit Bull

Número de Mensagens : 630
Idade : 21
Data de inscrição : 31/08/2010
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://leninja.com.br

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Limalokão em Sab 28 Jul 2012, 17:32

É explicou legal, mas onde usar? Tipo em que tipo de jogos?

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Eudes - Hyo em Sab 28 Jul 2012, 17:35

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:
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]);
}
Eu uso isso pra exibir Itens em um inventário.
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

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Limalokão em Sab 28 Jul 2012, 17:40

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?

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por TRFN em Sab 28 Jul 2012, 17:42

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 :
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.

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Limalokão em Sab 28 Jul 2012, 17:45

TRFN então com esse cód aí ele vai escrever: B32CA por exemplo!? Ou 310CD etc.

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por PedroX em Sab 28 Jul 2012, 18:29

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:

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!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Eudes - Hyo em Sab 28 Jul 2012, 18:42

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

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por vinians em Sab 28 Jul 2012, 20:55

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.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Limalokão em Sab 28 Jul 2012, 21:01

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. Happy

- 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.

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Em quais operações o comando "for" atua? Cite 4 exemplos.

Mensagem por Conteúdo patrocinado Hoje à(s) 12:27


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum