Duvida sobre condições (if)
3 participantes
Página 1 de 1
Duvida sobre condições (if)
-Tenho o código abaixo, e vejo que ele está bagunçado por muitos if's...(apesar que irei ajeitar o resto)
-Tentei usar o Swicth porem não obtive exito..
-Para explicar melhor o que quero fazer, está em pegar a mesma variável que decai, e aplicar a outras condições com seu mesmo valor atualizado a cada segundo.. e isso com as outras variveis
obrigado
-Tentei usar o Swicth porem não obtive exito..
-Para explicar melhor o que quero fazer, está em pegar a mesma variável que decai, e aplicar a outras condições com seu mesmo valor atualizado a cada segundo.. e isso com as outras variveis
obrigado
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PandaStatus : MonoBehaviour
{
[SerializeField] GameObject pandaHUD;
public static PandaStatus pandaStatus;
public float limitFome, limitSede, limitSaude, limitCarinho;
public float fome;
public float sede;
public float saude;
public float carinho;
// Update is called once per frame
void Update ()
{
Necessidade();
Necessito();
Sleeping ();
}
public void Necessidade()
{
Debug.Log("Ativoou");
fome -= (Time.deltaTime / Random.Range(1, 5));
sede -= (Time.deltaTime / Random.Range(1, 10));
saude -= (Time.deltaTime / Random.Range(1, 15));
carinho -= (Time.deltaTime / Random.Range(1, 20));
//if(fome < 3)
//{
//pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (0).gameObject.SetActive (true);
//}
// Debug.Log("funfando");
}
void Sleeping()
{
if (fome > 80)
{
Debug.Log ("bugs");
}
if (sede > 80)
{
}
if (saude > 80)
{
}
if (carinho > 80)
{
}
}
void Necessito()
{
if (fome <= 3)
{
pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (0).gameObject.SetActive (true);
Debug.Log("algo");
}
if (sede <= limitSede)
{
pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (1).gameObject.SetActive (true);
}
if ( saude <= limitSaude)
{
pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (2).gameObject.SetActive (true);
}
if ( carinho <= limitCarinho)
{
pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (3).gameObject.SetActive (true);
}
else
{
pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (0).gameObject.SetActive (false);
//pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (1).gameObject.SetActive (false);
//pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (2).gameObject.SetActive (false);
//pandaHUD.GetComponent<PandaHud> ().StatusParent.transform.GetChild (3).gameObject.SetActive (false);
//Debug.Log("watafaaak");
}
}
void Alerta ()
{
if (fome <= 10) {
Debug.Log ("outra condição");
}
}
}
Ronnisz- Iniciante
- PONTOS : 2651
REPUTAÇÃO : 1
Respeito as regras :
Re: Duvida sobre condições (if)
Cara pelo que entendi a estrutura que você fez está certo, só que está faltando indentação.
Para este caso você não vai conseguir utilizar a instrução switch case, ela apenas verifica se o valor é igual. Não realiza a comparação se o valor é maior ou menor.
Exemplo:
Referência:
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/switch
Para este caso você não vai conseguir utilizar a instrução switch case, ela apenas verifica se o valor é igual. Não realiza a comparação se o valor é maior ou menor.
Exemplo:
- Código:
int fome = 100;
switch (fome)
{
case 30: //Se a fome é igual a 30
Print("Estou com fome");
break;
case 100: //Se a fome é igual a 100
Print("Não estou com fome");
break;
default: //Se a fome não é igual as demais condições acima
Print("Estou tranquilo");
break;
}
Referência:
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/switch
#N31- Membro
- PONTOS : 3388
REPUTAÇÃO : 11
Idade : 30
Respeito as regras :
Re: Duvida sobre condições (if)
Não entendi muito bem o que quer fazer mais switch não compara menor ou maior, caso queira um resultado igual, mais pratico e mais rápido e que aceita menor ou maior tente usar uma Condição Ternaria
Ele está em C++ mas tambem funciona no C#
Ele está em C++ mas tambem funciona no C#
Phph09- Profissional
- PONTOS : 3791
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Duvida sobre versao da unity e sobre o lerp
» [DÚVIDA] Dúvida sobre script e rigidbody
» [Dúvida] - Pequena dúvida sobre o IENumerator..
» Duvida sobre UVs
» Duvida sobre o playerPrefs
» [DÚVIDA] Dúvida sobre script e rigidbody
» [Dúvida] - Pequena dúvida sobre o IENumerator..
» Duvida sobre UVs
» Duvida sobre o playerPrefs
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos