sistema de valores com mensagem por faixa
2 participantes
Página 1 de 1
sistema de valores com mensagem por faixa
Bom dia a todos, estou tentando criar um sistema de valores e conforme o valor aparece uma mensagem, de tal maneira que se a reposta for um valor, por exemplo:> 50 aparece a mensagem 1, se for um valor entre 40 e 40.9 aparece a mensagem 2 e assim por diante, mas eu travei nesse ponto, alguém ´poderia me auxiliar>
public Text valor1;
public Text valor2;
public Text Resposta;
public Text msg1Txt;
[Header("Configuração das Mensagens")]
public string[] mensagem1;
private int grau1, grau2, ngrau, grau3;
void Start()
{
grau1 < 16.0;
grau2 = 16.0;
grau3 >= 50.0;
}
public void calcular()
{
float valor_1 = 0;
float valor_2 = 0;
paineis[0].SetActive(true);
if (float.TryParse (valor1.text, out valor_1) && float.TryParse (valor2.text, out valor_2))
{
Resposta.text = (valor_1 / Mathf.Pow (valor_2, 2)).ToString("F2");
}
if (Resposta >= 50) { ngrau; }
else if (Resposta >= grau3) { ngrau; }
else if (Resposta = grau2) { ngrau; }
msg1Txt.text = mensagem1[ngrau];
}
public Text valor1;
public Text valor2;
public Text Resposta;
public Text msg1Txt;
[Header("Configuração das Mensagens")]
public string[] mensagem1;
private int grau1, grau2, ngrau, grau3;
void Start()
{
grau1 < 16.0;
grau2 = 16.0;
grau3 >= 50.0;
}
public void calcular()
{
float valor_1 = 0;
float valor_2 = 0;
paineis[0].SetActive(true);
if (float.TryParse (valor1.text, out valor_1) && float.TryParse (valor2.text, out valor_2))
{
Resposta.text = (valor_1 / Mathf.Pow (valor_2, 2)).ToString("F2");
}
if (Resposta >= 50) { ngrau; }
else if (Resposta >= grau3) { ngrau; }
else if (Resposta = grau2) { ngrau; }
msg1Txt.text = mensagem1[ngrau];
}
eduardonog30- Avançado
- PONTOS : 2264
REPUTAÇÃO : 4
Respeito as regras :
Re: sistema de valores com mensagem por faixa
Jovem, um problema recorrente nos seus códigos, você não separa a parte lógica da parte visual, aí vive tendo que fazer conversões entre o texto da UI e o numero que precisa usar no cálculo. Esse código ainda é do app de calcular o IMC?
Você pode ter dois arrays, um de string[] com as mensagens para cada valor e um de float[] armazenando os limites de cada faixa de IMC, aí basta fazer um for percorrendo esses valores e checando se o valor atual (calculado) é maior que o valor no array de float, ele vai fazer essa checagem e se for maior você joga o texto no indice atual para a UI. no fim do for, o maior valor dentro dos limites calculados será mostrado na tela.
Você pode ter dois arrays, um de string[] com as mensagens para cada valor e um de float[] armazenando os limites de cada faixa de IMC, aí basta fazer um for percorrendo esses valores e checando se o valor atual (calculado) é maior que o valor no array de float, ele vai fazer essa checagem e se for maior você joga o texto no indice atual para a UI. no fim do for, o maior valor dentro dos limites calculados será mostrado na tela.
- Código:
using UnityEngine;
public class Arrays : MonoBehaviour
{
public float resultadoIMC = 22.5f; //Exemplo
private string[] classificacaoIMC = {
"Abaixo do peso",
"Peso ideal(Parabéns)",
"Levemente acima do peso",
"Obesidade grau I",
"Obesidade grau II(Severa)",
"Obesidade grau III(Mórbida)",
};
private float[] IMC =
{
18.5f,
24.9f,
29.9f,
34.9f,
39.9f,
40.0f
};
private void Start()
{
ChecarResultado();
}
private void ChecarResultado()
{
int indiceResultado = 0;
for (int i = 0; i < IMC.Length; i++)
{
if (resultadoIMC > IMC[i])
{
indiceResultado = i;
}
}
Debug.Log("Resultado: " + classificacaoIMC[indiceResultado]);
}
}
Fagner- Moderador
-
PONTOS : 3830
REPUTAÇÃO : 665
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :

» Mudar cor da faixa de texto.
» Carregar faixa de audio do celular
» Colocando valores
» Posso usar o sistema de marcas de derrapagem como base para outro sistema?
» 2 valores dentro de um condição
» Carregar faixa de audio do celular
» Colocando valores
» Posso usar o sistema de marcas de derrapagem como base para outro sistema?
» 2 valores dentro de um condição
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos