Utilidade do While e Then

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

Utilidade do While e Then

Mensagem por mleoni em Ter 16 Jul 2013, 12:33

As vezes fico me perguntando:qual a utilidade do While e Then ? Em outras linguagens de programação eu sei,mas em GML não.O WHILE pode ser substituido pelo IF no evento STEP,mas eu queria saber alguma situação em que isso não poderia ocorrer,alguma situação em que o while é realmente necessário.

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por fredcobain em Ter 16 Jul 2013, 13:54

É sempre bom evitar o uso de códigos dentro do step, pois consomem processamento.

É por isso que as iterações (for, while, repeat, etc) são úteis.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por luiz_eldorado em Ter 16 Jul 2013, 15:59

O while cria um laço, dessa forma:
Código:
while (algumacoisa) {
código
}
Enquanto algumacoisa foi verdadeiro (maior que 0.5 (eu acho)), então ele vai executar aquele código repetidamente até que algumacoisa seja falso. Não dá pra trocar com o if. Talvez até dê com o for, mas é diferente.

O then é muito pouco usado, é apenas uma forma de "compatibilidade" pra quem veio de outras linguagens de programação. Funciona assim:
Código:
if algumascoisablablabla then
begin
codigos
end
Ele só é compatível quando você usa begine end, não quando você usa as chaves { e }. Ou seja, inútil, basicamente.

Té mais

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 18
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por mleoni em Ter 16 Jul 2013, 18:19

Se trocar o while pelo if no STEP da na mesma,não ?
Código:

if (algumacoisa=true) {
código
}

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por fredcobain em Ter 16 Jul 2013, 18:24

O efeito é o mesmo, massss:

Como eu disse no post anterior escreveu:
É sempre bom evitar o uso de códigos dentro do step, pois consomem processamento.

É por isso que as iterações (for, while, repeat, etc) são úteis.


fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por mleoni em Ter 16 Jul 2013, 18:26

Tendi sorrindo 

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por Isaque Onix em Ter 16 Jul 2013, 18:32

aproveitando a duvida do amigo, eu não sabia dessa do while, mesmo que o while esteja num alarm, por exemplo, ele será executado repetidamente? como se fosse um if no step?

Isaque Onix

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

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por Igor KinGamer em Ter 16 Jul 2013, 18:57

Na verdade, é beeeem diferente de um if no step. Em códigos e algoritmos (principalmente mais avançados), o while pode ser bastante necessário pra fazer coisas que devem acontecer todo step.

Um exemplo simples que tem na própria ajuda do GM é um código pra colocar um objeto numa posição aleatória vazia:

Código:
while (!place_free(x, y))
{
    x = random(room_width);
    y = random(room_height);
}

Ou seja, equanto não está num lugar vazio, vai pra outro lugar escolhido aleatoriamente. Se você colocasse isso no step, seria totalmente diferente. O objeto ficaria pulando de step em step, sendo que o objetivo é ir de uma vez só.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por GameMakerTutoriais em Ter 16 Jul 2013, 19:00


"then" é uma palavra-chave herdada de variantes do Basic e do antigo Algol, como o Pascal, por exemplo. Ela quer dizer "então" e serve pra complementar a sintaxe do escopo de uma expressão condicional.

Código:
if (valor = 0) then // se valor = 0 então
begin // início
end // fim

Desde as primeiras versões o Game Maker aceita a sintaxe Pascal. Isso inclui operadores relacionais, lógicos e de atribuição, também.

:= é o mesmo que =
<> é o mesmo que !=
= é o mesmo que ==
and é o mesmo que &&
or é o mesmo que ||
xor é o mesmo que ^^
not é o mesmo que !

Só pra corrigir o que foi dito aí, trocar while por if não consome nem mais, nem menos processamento. São só maneiras diferentes de construir o código. Se vai gastar mais ou menos processamento, depende do que vai ser feito após (ou enquanto) a condição se tornar verdadeira.

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por Isaque Onix em Ter 16 Jul 2013, 19:45

aata, agora ta intendido... valeu por explicar! precisando é só falar!...

Isaque Onix

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

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Utilidade do While e Then

Mensagem por Conteúdo patrocinado Hoje à(s) 19:10


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