[TUTORIAL] For, While, Do While e Foreach...como usar
4 participantes
Página 1 de 1
[TUTORIAL] For, While, Do While e Foreach...como usar
For
A instrução for repete em loop um pedaço de codigo quantas vezes voce comandar. Voce tem controle de quantas vezes o codigo se repetirá.
No inicio devemos declarar as variaveis que serão usadas.
Na condição devemos especificar quando o codigo pode ser repetido ou nao.
E no "o que fazer" devemos colocar o que fazer sempre que o codigo for repetido.
O for será repetido a todo frame até ser terminado, portando mesmo repetiçoes enormes sao muito rapidas. Tao rapidas que antes de voce piscar ele ja acabou.
Devemos sempre separar o for com ponto e virgula.
Acima declaramos o for da seguinte maneira:
for( = abrimos o for
i=0; = declaramos a variavel que será usada para verificar quando o for deve terminar e finalizamos as declaraçoes com ";". Se precisassemos declarar duas ou mais variaveis basta por "," entre elas. Ex: for(i=0,u=3,j=66;
i<30; = Aqui dizemos que enquanto "i" for menor que 30 o for ira se repetir. Finalizamos a condiçao com ";".
i++) = Aqui dizemos o que fazer em cada repetiçao. No caso o "i" ira aumentar em 1.
A cada loop o "i" vai ser acrescentado em 1 assim ficando 0,1,2,3,4...29 e quando chegar no 30 o for ira terminar pois "i" nao é menor que 30.
Tudo que estiver dentro das chaves do for sera executado a cada nova repetiçao.
Lembrando que o for assim como o if pode ser escrito sem chaves desde que seja somente uma instruçao de comando a ser realizada.
Simplesmente.
While
A instruçao While é bem parecida com o For.
O codigo ira se repetir enquanto a condicao declarada for verdadeira.
Veja só, este while é identico ao for que criamos ali em cima, enquanto "i" for menor que 30 o codigo se repetirá. Quando chegar a 30 ele terminará. Pois "i" nao vai ser menor que 30.
Como o IF e o FOR o While tambem pode ser escrito sem chaves. Desde que tenha somente uma instruçao de comando.
While aceita comparar funcoes,numeros, booleanas..
Do While
O Do While é como o While, porem seu codigo é executado pelo menos uma vez, mesmo o resultado da condiçao sendo falso ele executara uma vez ao menos.
Segue o mesmo padrao, enquando a condiçao é verdadeira o codigo se repete. A diferença é que sempre ira executar ao menos uma vez.
A verificaçao da condiçao só acontece no fim do loop. Portanto ira ser executado ao menos uma vez (repetindo pra você nao esquecer deste detalhe).
Foreach
Suponhamos que tenhamos uma array. E nessa array tenhamos varias strings. E precisamos escrever todas essas em ordem no log do unity. Poderiamos usar o for, o while, ou o do while. Todos indicando uma variavel index de 0 ao valor maximo de itens na array..certo?
Pois bem, se usassemos o foreach tudo ficaria mais simples.
Com o foreach podemos verificar todos itens de uma lista, array sem precisar de indices.
Veja bem, o foreach percorreu todos itens da array sem voce especificar o valor inicial ou o valor final que ela tem!, e a cada repeticao a string "item" recebeu o valor da str original. No primeiro loop o item recebeu o valor de "oi", depois de "tiau" e depois de "fejao".
Bem, essas sao as instrucoes de loop mais conhecidas e porque nao as mais usadas em programaçao, é muito importante conheçe-las e domina-las se voce quiser programar um codigo limpo e bem feito. Espero ter ajudado.
A instrução for repete em loop um pedaço de codigo quantas vezes voce comandar. Voce tem controle de quantas vezes o codigo se repetirá.
- Código:
for(inicio;condiçao;o que fazer){
// codigo para ser repetido
}
No inicio devemos declarar as variaveis que serão usadas.
Na condição devemos especificar quando o codigo pode ser repetido ou nao.
E no "o que fazer" devemos colocar o que fazer sempre que o codigo for repetido.
O for será repetido a todo frame até ser terminado, portando mesmo repetiçoes enormes sao muito rapidas. Tao rapidas que antes de voce piscar ele ja acabou.
Devemos sempre separar o for com ponto e virgula.
- Código:
for(i=0;i<30;i++){
// codigo
}
Acima declaramos o for da seguinte maneira:
for( = abrimos o for
i=0; = declaramos a variavel que será usada para verificar quando o for deve terminar e finalizamos as declaraçoes com ";". Se precisassemos declarar duas ou mais variaveis basta por "," entre elas. Ex: for(i=0,u=3,j=66;
i<30; = Aqui dizemos que enquanto "i" for menor que 30 o for ira se repetir. Finalizamos a condiçao com ";".
i++) = Aqui dizemos o que fazer em cada repetiçao. No caso o "i" ira aumentar em 1.
A cada loop o "i" vai ser acrescentado em 1 assim ficando 0,1,2,3,4...29 e quando chegar no 30 o for ira terminar pois "i" nao é menor que 30.
Tudo que estiver dentro das chaves do for sera executado a cada nova repetiçao.
Lembrando que o for assim como o if pode ser escrito sem chaves desde que seja somente uma instruçao de comando a ser realizada.
- Código:
for(i=0;i<30;i++) Debug.Log(i.ToString());
Simplesmente.
While
A instruçao While é bem parecida com o For.
O codigo ira se repetir enquanto a condicao declarada for verdadeira.
- Código:
i=0;
while(i<30){
i++
}
Veja só, este while é identico ao for que criamos ali em cima, enquanto "i" for menor que 30 o codigo se repetirá. Quando chegar a 30 ele terminará. Pois "i" nao vai ser menor que 30.
Como o IF e o FOR o While tambem pode ser escrito sem chaves. Desde que tenha somente uma instruçao de comando.
- Código:
i=0;
while (i<30) Debug.Log(i.ToString()); // porem,aqui o codigo nunca terminara pois nao aumentamos o "i".
While aceita comparar funcoes,numeros, booleanas..
Do While
O Do While é como o While, porem seu codigo é executado pelo menos uma vez, mesmo o resultado da condiçao sendo falso ele executara uma vez ao menos.
- Código:
do{
//codigo
}while(condiçao);
Segue o mesmo padrao, enquando a condiçao é verdadeira o codigo se repete. A diferença é que sempre ira executar ao menos uma vez.
- Código:
i=0;
do{
Debug.Log(i.ToString());
}while(i<30);
A verificaçao da condiçao só acontece no fim do loop. Portanto ira ser executado ao menos uma vez (repetindo pra você nao esquecer deste detalhe).
Foreach
Suponhamos que tenhamos uma array. E nessa array tenhamos varias strings. E precisamos escrever todas essas em ordem no log do unity. Poderiamos usar o for, o while, ou o do while. Todos indicando uma variavel index de 0 ao valor maximo de itens na array..certo?
Pois bem, se usassemos o foreach tudo ficaria mais simples.
Com o foreach podemos verificar todos itens de uma lista, array sem precisar de indices.
- Código:
private string[] str={"oi","tiau","fejao"};
foreach(string item in str){
Debug.Log(item);
}
Veja bem, o foreach percorreu todos itens da array sem voce especificar o valor inicial ou o valor final que ela tem!, e a cada repeticao a string "item" recebeu o valor da str original. No primeiro loop o item recebeu o valor de "oi", depois de "tiau" e depois de "fejao".
Bem, essas sao as instrucoes de loop mais conhecidas e porque nao as mais usadas em programaçao, é muito importante conheçe-las e domina-las se voce quiser programar um codigo limpo e bem feito. Espero ter ajudado.
RenanMSV- Instrutor
- PONTOS : 4485
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
Com o foreach como consigo
int i = 0;
int j = 0;
if(i!=180){
if (GUI.Button( new Rect(380+70*j,10+50*i,70,50)," "))
}else{
quero colocar butoes A B
C D
}
int i = 0;
int j = 0;
if(i!=180){
if (GUI.Button( new Rect(380+70*j,10+50*i,70,50)," "))
}else{
quero colocar butoes A B
C D
}
Chilinger- MembroAvançado
- PONTOS : 4093
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
Da uma olhada nisto Chilinger:
https://www.schultzgames.com/t308-tutorial-botoes-texto-gui-etc-com-barra-de-rolagem
e também nisto:
https://www.schultzgames.com/t308-tutorial-botoes-texto-gui-etc-com-barra-de-rolagem
e também nisto:
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
Então amigo esses laços voce usa conforme sua necessidade e gosto.
O For é usado normalmente quando voce sabe o numero de vezes que vai repetir e fazer verificações com base no indice.
O While normalmente utiliza-se quando você não sabe ao certo o numero de vezes que precisa repetir, então voce vai repetindo o laço ate uma determinada condição ser verdadeira.
O Foreach é usado quase sempre com arrays e lista, e é utilizado mais pra saber o valor sem se importar muito com o indice.
Mas nada te impede de usar um ou outro, vai depender muito mais do seu gosto do que propriamente digo da necessidade.
O For é usado normalmente quando voce sabe o numero de vezes que vai repetir e fazer verificações com base no indice.
O While normalmente utiliza-se quando você não sabe ao certo o numero de vezes que precisa repetir, então voce vai repetindo o laço ate uma determinada condição ser verdadeira.
O Foreach é usado quase sempre com arrays e lista, e é utilizado mais pra saber o valor sem se importar muito com o indice.
Mas nada te impede de usar um ou outro, vai depender muito mais do seu gosto do que propriamente digo da necessidade.
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
Entao eu estou usando o foreach para buscar uma class e agora quero que apareça igual os butoes que o marcos mando eu da uma olhada mas so consigo if e else sabendo a quantidade do proximo e mas nd nao faz o loop se eu nao sober quem e o proximo numero a ser multiplicado por isso o foreach e nao o for.
Chilinger- MembroAvançado
- PONTOS : 4093
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
Meio que assim:
Voce na maioria das vezes não pode usar o foreach para criar arrays. Ele é pra quando voce ja tem a array e precisa percorrer cada um dos items dessa array. Tanto que o foreach não tem indices. Porem voce pode usar
- Código:
using UnityEngine;
using System.Collections;
public class ButtonSpawner : MonoBehaviour {
void OnGUI(){
char[] letras = new char[4] { 'A', 'B', 'C', 'D' };
float YY = 0;
for(int i = 0; i < 4; i++){
if (GUI.Button(new Rect(380 + 70*i,10 + 50 * YY,60,50),letras[i].ToString())){
MenuResponse(i);
}
}
}
void MenuResponse(int i){
switch (i){
case 0:
print("Apertou o botão A");
break;
case 1:
print("Apertou o botão B");
break;
case 2:
print("Apertou o botão C");
break;
case 3:
print("Apertou o botão D");
break;
}
}
}
Voce na maioria das vezes não pode usar o foreach para criar arrays. Ele é pra quando voce ja tem a array e precisa percorrer cada um dos items dessa array. Tanto que o foreach não tem indices. Porem voce pode usar
- Código:
string[] palavras = new string[3] {"Palavra1","Palavra2","Palavra3"};
int i = 0
foreach (string str in palavras){
// fazer algo
palavras[i] = "TExto"; // sem noção fazer isto já que str é igual a palavras[i], mas pode servir para voce criar outras arrays usando os valores dessa.
i++;
}
RenanMSV- Instrutor
- PONTOS : 4485
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
- Código:
// public ItemDataBase[] shop = new ItemDataBase[4];
//ItemDataBase e uma class e eu quero colocar butoes 1 2
// 3 4
int contador=0;
int contadory=0;
foreach(var element in shop){
if(element.itemTipo == Item.ItemTipo.Armas){
if(contador==0&&contadory==0){
MostrarItemDaTela(element,contador,contadory);// retono contador=x e contadory=y se eu tirar array e colocar lista como fica
contador++;
}else if(contador==1&&contadory==0){
MostrarItemDaTela(element,contador,contadory);
contadory++;
contador--;
}else if(contadory==1&&contador==0){
MostrarItemDaTela(element,contador,contadory);
contador++;
}else if(contadory==1&&contador==1){
MostrarItemDaTela(element,contador,contadory);
}
}
}
Chilinger- MembroAvançado
- PONTOS : 4093
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: [TUTORIAL] For, While, Do While e Foreach...como usar
@@ parece que esta dúvida foi postada aqui:
https://www.schultzgames.com/t2673-como-posso-comparar-enum-de-uma-class-no-meu-script-e-buscar-todos-objetos-que-tem-esse-enum#19508
Vou ver se respondo por lá.
https://www.schultzgames.com/t2673-como-posso-comparar-enum-de-uma-class-no-meu-script-e-buscar-todos-objetos-que-tem-esse-enum#19508
Vou ver se respondo por lá.
Chilinger- MembroAvançado
- PONTOS : 4093
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] IF,Else,Else if .. como usar
» [TUTORIAL] como Usar OnPartcleCollision
» [TUTORIAL] Como usar o "for" nos scripts
» [TUTORIAL] Como Usar O Forum
» [TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
» [TUTORIAL] como Usar OnPartcleCollision
» [TUTORIAL] Como usar o "for" nos scripts
» [TUTORIAL] Como Usar O Forum
» [TUTORIAL] Como usar FREE EASY CRIATURA CONTROLE IA
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos