SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Nitro para Carro
Firebase (Login com facebook)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Duvida com API Vulkan Vs OpenGL -- Unity !!!!
Procura-se equipe para jogo de puzzle em 3º Pessoa
Ajuda jogo
duvida player quicando ao descer desnivel
cliente/servidor
Animação de abrir/fechar porta mais complexa
duvida sobre essa Ui e raycast
Duvida Tamanho do Mapa unity
[Formação de Equipe] - City Driving
Graficos bugados no android Unity 5
[ASSET] Script Arma Completo Incluso Recuo. Incluso outros Scripts
Clicar em um Sprite e realizar uma ação
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Ajuda com Colisões
mudar objeto ao clicar nele
Ajuda com um script(SmoothCamera)
Duvida em Desenhar UI -- HELP
Finalização Calculadora, fazer com que o jogador tente novamente
Como colocar musicas em um app?
[Duvida] Sobre Reference Resolution -> (Canvas)
Como criar navegador próprio em app?
[RESOLVIDO] Duvida sobre Edição de texto em imagem
Da pra criar Apps na Unity?
BUG MT CHATO. USANDO O PlayerPrefs. ME AJUDAAAAAAA PF
[RESOLVIDO] Camera não colide com parede
Há algum segredo em criações de I.A?
[RESOLVIDO] salvar as configurações para aparecer no game certo que o jogador configurou
Dica de estudos
[RESOLVIDO] Duvida Sobre C#
Script parando de funcionar quando maximizo a tela do game
Fazer uma seleção de personagens e seguir para o jogo com o personagem escolhido
Como faço para colocar unity em rede
personagem
Criar animações
Detectar movimento Joystick
tem como abrir arquivos de jogos já compilado?
Como criar rede neural para AI
[____ADMINISTRAÇÃO____] Gostaria da opinião de vocês...
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Navegador reiniciando no mobile dos IOS [WEBGL]
[RESOLVIDO] Dúvida Script OnTriggerEnter
Gerar APK
[TUTORIAL] Salvar dados com playerprefs facilmente.
É possível reproduzir som durante logo de abertura do jogo?
[TUTORIAL] Criação de Skins Realistas em 3D!
Command 888
Sistema de Yu-Gi-Oh - C O M P L E T O - Download 13/08
[RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY
Construção de um save das configurações e ir pro jogo com as config certas
Podem me ajudar com esse problema
Contagem de tempo em classes abstratas
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Como mostrar o valor atual de uma variável do tipo Int em um text
Como se faz um dash?
Como permitir que o usuário escolha uma imagem para ser usada em um jogo?
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
[TUTORIAL] Sistema Pdv, Mercado, Padaria, Conveniência, Lojas Em Geral - C# VISUAL STUDIO
Diferenciar execução (mobile / desktop) WEBGL
Como mudar de camera assim que o player entrar no Trigger
WEBGL
Como faço para mover um objeto?
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Ajuda em bug da Unity!
como mudar o material de um mesh que tem mas de 1 material por Script ?
[Duvida] Como funciona a coleta de dados e como é feito?
Teclado na Unity
Formação de equipe -- ASSALTO A BANCO--
Câmera estar limitada ao tamanho da tela
ESCOLA DE DESENVOLVIMENTO DE GAMES.
Mudar uma animação já existente com o clique em um botão UI
Cam
[RESOLVIDO] Minha imagem só aparece na scene
COMO EXPORTAR PARA IOS COM WINDOWS
Criei uma Grama com Shader Graph
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Joystick
Limite Máximo de tamanho de mapa na Unity?
Jogo Mobile (Leia)
Entender um script
[RESOLVIDO] Como Ativar Objeto Apenas na Frente Dele?
POR QUE O TOUCH MOBILE TRAVA COM ADMOB?
Qual o Tempo Máximo que vocês Jogaram um Jogo ?
Tocar audio
Todos os veiculos mudando de cor no multplayer, como resolver ?
[Projeto em Andamento] Brazil Combat
Background com bug
[Projeto] Omega Racers
[RESOLVIDO] Clones morrendo ao mesmo tempo?
Alguém pode me dizer o que esse script está fazendo?
HELP inimigo perseguir personagens
Html 5
1 exception was raised by workers: see the console for detail HELP
Acessar teclado nativo dispositivo, para inputFiled [WEBGL]
Como fazer uma animação parar em determinado frame?
Meu Jogo inspirado em resident evil 2 remake
Posso limitar o "Instantiate" para instanciar até uma quantidade X?
Hoje à(s) 6:32 pm
Hoje à(s) 6:22 pm
Hoje à(s) 6:06 pm
Hoje à(s) 5:02 pm
Hoje à(s) 4:48 pm
Hoje à(s) 2:25 pm
Hoje à(s) 1:29 pm
Hoje à(s) 11:47 am
Hoje à(s) 9:51 am
Hoje à(s) 3:47 am
Ontem à(s) 11:29 pm
Ontem à(s) 9:40 pm
Ontem à(s) 7:08 pm
Ontem à(s) 5:33 pm
Ontem à(s) 3:16 pm
Sab Ago 17, 2019 11:23 pm
Sab Ago 17, 2019 3:16 am
Sex Ago 16, 2019 11:27 pm
Sex Ago 16, 2019 8:50 pm
Sex Ago 16, 2019 12:19 pm
Sex Ago 16, 2019 12:07 pm
Sex Ago 16, 2019 10:58 am
Sex Ago 16, 2019 6:33 am
Qui Ago 15, 2019 6:42 pm
Qui Ago 15, 2019 4:02 pm
Qui Ago 15, 2019 12:10 pm
Qui Ago 15, 2019 11:57 am
Qua Ago 14, 2019 7:13 pm
Qua Ago 14, 2019 6:07 pm
Qua Ago 14, 2019 5:48 pm
Qua Ago 14, 2019 5:18 pm
Qua Ago 14, 2019 5:05 pm
Qua Ago 14, 2019 5:00 pm
Qua Ago 14, 2019 4:56 pm
Qua Ago 14, 2019 4:53 pm
Qua Ago 14, 2019 4:52 pm
Qua Ago 14, 2019 4:49 pm
Qua Ago 14, 2019 4:47 pm
Qua Ago 14, 2019 4:45 pm
Qua Ago 14, 2019 4:44 pm
Qua Ago 14, 2019 4:35 pm
Qua Ago 14, 2019 4:32 pm
Qua Ago 14, 2019 4:31 pm
Qua Ago 14, 2019 4:10 pm
Qua Ago 14, 2019 12:39 am
Ter Ago 13, 2019 10:23 pm
Ter Ago 13, 2019 10:03 pm
Ter Ago 13, 2019 7:53 pm
Ter Ago 13, 2019 6:33 pm
Ter Ago 13, 2019 4:26 pm
Ter Ago 13, 2019 4:10 pm
Seg Ago 12, 2019 11:25 pm
Seg Ago 12, 2019 8:31 pm
Seg Ago 12, 2019 6:17 pm
Seg Ago 12, 2019 12:51 pm
Dom Ago 11, 2019 7:54 pm
Dom Ago 11, 2019 10:17 am
Sab Ago 10, 2019 10:32 pm
Sab Ago 10, 2019 2:34 pm
Sex Ago 09, 2019 10:43 pm
Sex Ago 09, 2019 5:56 pm
Qui Ago 08, 2019 7:48 pm
Qui Ago 08, 2019 5:21 pm
Qui Ago 08, 2019 12:32 pm
Qui Ago 08, 2019 2:53 am
Qua Ago 07, 2019 10:57 pm
Qua Ago 07, 2019 8:10 pm
Qua Ago 07, 2019 7:16 pm
Qua Ago 07, 2019 4:29 pm
Qua Ago 07, 2019 2:51 pm
Seg Ago 05, 2019 11:24 pm
Seg Ago 05, 2019 9:51 pm
Seg Ago 05, 2019 8:48 pm
Seg Ago 05, 2019 8:33 pm
Seg Ago 05, 2019 7:36 pm
Seg Ago 05, 2019 6:23 pm
Seg Ago 05, 2019 5:31 pm
Seg Ago 05, 2019 5:27 pm
Seg Ago 05, 2019 2:35 am
Seg Ago 05, 2019 2:27 am
Dom Ago 04, 2019 7:37 pm
Dom Ago 04, 2019 4:25 pm
Dom Ago 04, 2019 3:58 pm
Dom Ago 04, 2019 3:44 pm
Dom Ago 04, 2019 4:50 am
Dom Ago 04, 2019 4:39 am
Dom Ago 04, 2019 4:37 am
Sab Ago 03, 2019 9:43 pm
Sab Ago 03, 2019 9:13 pm
Sex Ago 02, 2019 8:47 pm
Sex Ago 02, 2019 11:55 am
Sex Ago 02, 2019 2:48 am
Sex Ago 02, 2019 2:41 am
Sex Ago 02, 2019 2:36 am
Qui Ago 01, 2019 11:00 pm
Qui Ago 01, 2019 10:50 pm
Qui Ago 01, 2019 10:47 pm
Qui Ago 01, 2019 8:23 pm
Qua Jul 31, 2019 11:00 pm
HeroSword
Zack2
Tegh
SteveRogers
merike11
richerd
Édipo
Valakinhas
ovoPentelho
clarckquente
MarcosSchultz
artplayer
MarcosSchultz
Jhonyzin
MayLeone
Callyde Jr
MarcosSchultz
MayLeone
rafaelllsd
SteveRogers
lucaspoiob
Daniel Dória
nibirou
Daniel Dória
nibirou
Daniel Dória
daniel123163
SergioDB
Projeto Residentes Evil
lucaspoiob
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dionilson
guimaraf
rafaelllsd
artplayer
Diguinho
Callyde Jr
MayLeone
lucaspoiob
Unidade3d5
MayLeone
MayLeone
dstaroski
RodriGO3477
SteveRogers
artplayer
dkrazor
Chilinger
numb123
Matrirxp
MarcosSchultz
Lonx SpellArtsStudio
MarcosSchultz
SteveRogers
ffabim
poyser
artplayer
artplayer
joffersoju
rafaelllsd
RodriGO3477
MarcosSchultz
Hamassfall
gtcmcsgo
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
iToddy
MayLeone
LardosJogos
artplayer
MarcosSchultz
MarcosSchultz
MarcosSchultz
dkrazor
abraao36
zZAndersonZz
speedluk
MarcosSchultz
MarcosSchultz
MarcosSchultz
Magnatah
Magnatah
Magnatah
iToddy
RodriGO3477

[RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Ir em baixo

Resolvido [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Qui Ago 08, 2019 1:19 pm

Boa tarde, estou com um problema, não estou conseguindo finalizar uma questão aqui, eu necessito fazer uma calculadora para confirmar se o jogador poderá continuar no jogo, então a forma que eu pensei em fazer isso seria fazer um array com textmesh de umas 4 ou 5 operações matemáticas que iria aparecer para o usuário de forma aleatória, sendo assim gravando o resultado de cada operação em uma variável e depois teria que comparar o resultado com que o jogador colocasse no mobile, não sei como seria a melhor maneira de fazer isso receber o resultado do usuário, como posso fazer isso e comparando com a operação certa no momento e como fazer aparecer o textmesh aleatório?? a base dessa calculadora tá sendo feito tudo no UI com canvas, o teclado númerico que aparece para o jogador é tudo botão, teria que definir cada valor de cada botão tb ne??

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Qui Ago 08, 2019 2:33 pm

Bem, lembre-se que texto não faz operação matemática, portanto todo o seu texto que representa os valores na UI sempre vão ser convertidos para int ou float (se desejar trabalhar com valores decimais).

Para sortear uma operação matemática, existem várias formas, mas um jeito fácil é primeiro sortear os números que farão parte dessa operação (creio que sejam dois né?) e depois sortear a operação.

Por exemplo: randomizar entre o número 0 e o número 99 e guardar esse valor numa variável chamada "firstNumber" e então fazer o mesmo para uma outra variável chamada "secondNumber".
Depois vc pode criar um array de char contendo as operações:

char[] operators = {'+', '-', '*', '/'}; 

E sortea um índice aleatório desse array para escolher uma operação, guardando numa variável:

var op = operators[Random.Range(0, operators.Length)];

Para o resultado, vc o guarda em outra variável, pode ser chamada de "result", fazendo uma verificação de qual operação foi realizada com um switch:

switch (op){
case '+': 
result = firstNumber + secondNumber;
break;

case '-':
result = firstNumber - secondNumber;
break;
}
e assim para as outras operações....

Para mostrar essa conta no textmesh você pode criar uma string chamada "showOperation" e concatenar tudo:

string showOperation = firstNumber.ToString() + " " + op.ToString() + " " + secondNumber.ToString();

E aí vc usa a variável "showOperation" para ser mostrada no TextMesh.

Então se por exemplo firstNumber receber o valor randômico de 67 e secondNumber receber 15, e op for de subtração, o TextMesh vai exibir exatamente o seguinte:

67 - 15
E por dentro, o resultado será 52.
Pronto, tem agora a primeira parte do sistema feita.

Para receber o input do usuário, também existem várias formas, como vc optou para ser por botões, acredito q vc crie eles com cada um tendo o texto de cada número correspondente, né? Por exemplo: o botão do número 2 tem como texto o 2.
Se for assim, fica simples:

Cria uma classe estática e nela um campo estático chamado "userInput" do tipo string:

public static class Controller{
public static string userInput; 
}

Agora para o botão, ele terá um script que quando ele for clicado, vc incrementa dentro do userInput o valor do seu texto,assim:

public void OnClick(){
Controller.userInput += GetComponentInChildren<Text>().text;
}

Então se você clicar no 4, depois no 9, e aí no 3, a variável userInput vai ser 493, por exemplo.

Agora para ver se o usuário acertou a conta ou não, dentro do botão de confirmação faz o seguinte:

public void OnClick(){
var userResult = System.ConvertToInt32(Controller.userInput);
if(userResult == result){
// Acertou
} else {
// Errou
}
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Sex Ago 09, 2019 1:38 am

@MayLeone escreveu:Bem, lembre-se que texto não faz operação matemática, portanto todo o seu texto que representa os valores na UI sempre vão ser convertidos para int ou float (se desejar trabalhar com valores decimais).

Para sortear uma operação matemática, existem várias formas, mas um jeito fácil é primeiro sortear os números que farão parte dessa operação (creio que sejam dois né?) e depois sortear a operação.

Por exemplo: randomizar entre o número 0 e o número 99 e guardar esse valor numa variável chamada "firstNumber" e então fazer o mesmo para uma outra variável chamada "secondNumber".
Depois vc pode criar um array de char contendo as operações:

char[] operators = {'+', '-', '*', '/'}; 

E sortea um índice aleatório desse array para escolher uma operação, guardando numa variável:

var op = operators[Random.Range(0, operators.Length)];

Para o resultado, vc o guarda em outra variável, pode ser chamada de "result", fazendo uma verificação de qual operação foi realizada com um switch:

switch (op){
case '+': 
result = firstNumber + secondNumber;
break;

case '-':
result = firstNumber - secondNumber;
break;
}
e assim para as outras operações....

Para mostrar essa conta no textmesh você pode criar uma string chamada "showOperation" e concatenar tudo:

string showOperation = firstNumber.ToString() + " " + op.ToString() + " " + secondNumber.ToString();

E aí vc usa a variável "showOperation" para ser mostrada no TextMesh.

Então se por exemplo firstNumber receber o valor randômico de 67 e secondNumber receber 15, e op for de subtração, o TextMesh vai exibir exatamente o seguinte:

67 - 15
E por dentro, o resultado será 52.
Pronto, tem agora a primeira parte do sistema feita.

Para receber o input do usuário, também existem várias formas, como vc optou para ser por botões, acredito q vc crie eles com cada um tendo o texto de cada número correspondente, né? Por exemplo: o botão do número 2 tem como texto o 2.
Se for assim, fica simples:

Cria uma classe estática e nela um campo estático chamado "userInput" do tipo string:

public static class Controller{
public static string userInput; 
}

Agora para o botão, ele terá um script que quando ele for clicado, vc incrementa dentro do userInput o valor do seu texto,assim:

public void OnClick(){
Controller.userInput += GetComponentInChildren<Text>().text;
}

Então se você clicar no 4, depois no 9, e aí no 3, a variável userInput vai ser 493, por exemplo.

Agora para ver se o usuário acertou a conta ou não, dentro do botão de confirmação faz o seguinte:

public void OnClick(){
var userResult = System.ConvertToInt32(Controller.userInput);
if(userResult == result){
// Acertou
} else {
// Errou
}
Hmmm entendi, você está correto está forma pode dar certo mesmo, mas a minha questão é bem mais fácil acho tb, pois as operações já vão vim prontas nos códigos, então praticamente irei colocar 4 operações la( 4x2,5x5,2x7,8x3) ai só irá aparecer essas operações com o resultado de cada uma ai para comparar com o que o usuario colocou, então essas 4 só iriam estar dentro de um array randômico, por isso pensei em fazer como um texto mesmo, e no final compara se é verdadeiro ou falso o resultado do usuário, esse jeito que eu pensei está certo tb não??

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MarcosSchultz em Sex Ago 09, 2019 12:40 pm

Da certo, mas o jeito da @MayLeone é muitooo melhor, vai por mim.

Tenta fazer um esforço e implementar o que ela explicou, o código vai ficar mais aleatório e vai requerir menos trabalho depois para gerar novas operações... E como a Unity entende operações matemáticas, vai dar pra fazer muitas outras coisas, expandindo as funcionalidadades com algumas pequenas edições.
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 62217
REPUTAÇÃO : 2328
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Sex Ago 09, 2019 2:54 pm

[quote="MarcosSchultz"]Da certo, mas o jeito da @MayLeone é muitooo melhor, vai por mim.

Tenta fazer um esforço e implementar o que ela explicou, o código vai ficar mais aleatório e vai requerir menos trabalho depois para gerar novas operações... E como a Unity entende operações matemáticas, vai dar pra fazer muitas outras coisas, expandindo as funcionalidadades com algumas pequenas edições.[/quote]
 Obrigadoo, vou tentando fazer aqui, Qualquer coisa posso peço ajuda de novo, ta bom?? Valeu

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Sex Ago 09, 2019 6:47 pm

@MarcosSchultz escreveu:Da certo, mas o jeito da @MayLeone é muitooo melhor, vai por mim.

Tenta fazer um esforço e implementar o que ela explicou, o código vai ficar mais aleatório e vai requerir menos trabalho depois para gerar novas operações... E como a Unity entende operações matemáticas, vai dar pra fazer muitas outras coisas, expandindo as funcionalidadades com algumas pequenas edições.

Eu fiz alguns scripts que deram certo, agora só falta converter o textMeshPro para int para assim eu poder verificar o valor e fazer as condições, por favor me ajudem, estou empacado nisso agora, os códigos estão abaixo;
CODIGO 1 - Calculadora
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class Calculadora : MonoBehaviour
{
    public int PrimeiroNumero;
    public int SegundoNumero;
    public char[] operators = {'+' , '*'};
    public int resultado;
    private string ShowOP;
    public TextMeshProUGUI textDisplay;
    public int textResultado;
    public int ResultadoFinal;
    // Start is called before the first frame update
    void Start()
    {
        PrimeiroNumero = Random.Range (0,9);
        SegundoNumero = Random.Range (0,9);
        var op = operators[Random.Range(0, operators.Length)];
        switch (op){
            case '+':
            resultado = PrimeiroNumero + SegundoNumero;
            break;
            case '*':
            resultado = PrimeiroNumero * SegundoNumero;
            break;
        }
        Debug.Log(op);
        ShowOP = PrimeiroNumero.ToString() + " " + op.ToString() + " " + SegundoNumero.ToString() + " = ";
        textDisplay.text = ShowOP;
        Debug.Log(ShowOP);
    }

    // Update is called once per frame
    void Update()
    {
      
    }
}[/size]

CODIGO 2 - Botaotexto, eu tentei fazer por esse covert32 mas nao funciona ou da erro no textmeshprougui
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class BotaoTexto : MonoBehaviour
{
    public TextMeshProUGUI texto;
    public int resultado;    
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    public void AddDigito(string digito){
        if(texto.text.Length < 2){
            texto.text = texto.text + digito;
            Debug.Log(digito);
            resultado = System.Convert.ToInt32(texto);
            Debug.Log(resultado);
            Debug.Log(texto);
        }
    }
}[/size]

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Sex Ago 09, 2019 9:30 pm

Entendo. Não tenho como testar agora os erros que o Convert.ToInt32 podem causar, talvez tenha que usar o TryParse.
De qualquer forma, tente fazer o caminho inverso: Converta o "resultado" para string e compare os valores como string mesmo, sem ser número:

Código:
resultado = texto;

//Acessando a variável "resultado" dentro da calculadora:
Calculadora calculadora = GameObject.Find("Nome do objeto que tem a calculadora na cena").GetComponent<Calculadora>();

if(resultado == calculadora.resultado.ToString())

// Acertou

else

// Errou

Não tenho como testar agora porque estou num PC sem Unity, qualquer dúvida ou erro, só falar.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Sex Ago 09, 2019 11:40 pm

@MayLeone escreveu:Entendo. Não tenho como testar agora os erros que o Convert.ToInt32 podem causar, talvez tenha que usar o TryParse.
De qualquer forma, tente fazer o caminho inverso: Converta o "resultado" para string e compare os valores como string mesmo, sem ser número:

Código:
resultado = texto;

//Acessando a variável "resultado" dentro da calculadora:
Calculadora calculadora = GameObject.Find("Nome do objeto que tem a calculadora na cena").GetComponent<Calculadora>();

if(resultado == calculadora.resultado.ToString())

// Acertou

else

// Errou

Não tenho como testar agora porque estou num PC sem Unity, qualquer dúvida ou erro, só falar.

Eu tentei esses dois aqui mas nao deu certo Sad 
Código:
resultado = texto;

//Acessando a variável "resultado" dentro da calculadora:
Calculadora calculadora = GameObject.Find("Nome do objeto que tem a calculadora na cena").GetComponent<Calculadora>();

if(resultado == calculadora.resultado.ToString())

// Acertou

else

// Errou


Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class BotaoTexto : MonoBehaviour
{
    public TextMeshProUGUI texto;
    public int resultado;
    // Start is called before the first frame update
    void Start()
    {

    }
    // Update is called once per frame
    void Update()
    {
        resultado = texto;
        //Acessando a variável "resultado" dentro da calculadora:
        Calculadora calculadora = GameObject.Find("Calculo").GetComponent<Calculadora>();

        if (resultado == calculadora.resultado.ToString())

        // Acertou

        else

        // Errou
    }
    public void AddDigito(string digito)
    {
        if (texto.text.Length < 2)
        {
            texto.text = texto.text + digito;
            textoString = texto;
        }
    }
}

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Sex Ago 09, 2019 11:42 pm

Ops esse daqui na real escreveu:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class BotaoTexto : MonoBehaviour
{
    public TextMeshProUGUI texto;
    public string textoString;
    public int resultado;
    // Start is called before the first frame update
    void Start()
    {

    }
    // Update is called once per frame
    void Update()
    {
 
    }
    public void AddDigito(string digito)
    {
        if (texto.text.Length < 2)
        {
            texto.text = texto.text + digito;
            textoString = texto;
            resultado = int.Parse(textoString);
        }
    }
}

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Sab Ago 10, 2019 12:20 am

A variável "resultado" do script BotaoTexto precisa ser do tipo string.
Que erro que está dando?
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Sab Ago 10, 2019 3:11 pm

@MayLeone escreveu:A variável "resultado" do script BotaoTexto precisa ser do tipo string.
Que erro que está dando?
 O erro que ele dá é na hora de compilar o código!! Não precisa ser string, pode ser tb int ou alguma forma de pegar e verificar se o valor que o usuário digitou é igual o que está salvo na variavel resultado da CALCULADORA, mas o valor que o usuario colocou está em forma de textMeshProUGUI, nao sei se collocar como inputfield seria melhor ou algum outro tipo para receber o resultado que o usuario colocou??? 

ERRO quando tento trocar o textmeshprougui para int: Cannot implicity convert type 'TMPro.TextMeshProUGUI' to 'int'               e   o outro erro quando tento trocar o textmeshprougui para string: Cannot implicity convert type 'TMPro.TextMeshProUGUI' to 'string'

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Sab Ago 10, 2019 4:23 pm

Vc precisa converter a propriedade "text" de TextMeshProUGUI, e não a classe em si.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Dom Ago 11, 2019 3:49 am

@MayLeone escreveu:Vc precisa converter a propriedade "text" de TextMeshProUGUI, e não a classe em si.
Hmmmm e de que forma eu consigo fazer isso no meu código??

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Dom Ago 11, 2019 2:12 pm

Faz assim:

Código:
string resultado = GameObject.Find("Calculo").GetComponent<Calculadora>().resultado.ToString();

if(resultado == texto.text){
// Acertou
}else{
// Errou
}

Quando vc tentou fazer:
textoString = texto;
Vc estava tentando armazenar dentro de uma string um objeto do tipo TextMeshProUI, então acarretava esse erro.
O objeto TextMesh possui muitas informações, não é uma string. A string do TextMesh vc acessa da forma como vc estava fazendo: texto.text.
Era essa propriedade q vc deveria usar para armazenar dentro de textoString:
textoString = texto.text;
Daí não daria erros.

Mas pq colocar essa propriedade dentro de uma variável  para ser usada só uma vez para fazer uma verificação?
Nesse caso é preferível usar a propriedade directamente  no if como eu te mostro mais acima.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Seg Ago 12, 2019 10:56 am

@MayLeone escreveu:Faz assim:

Código:
string resultado = GameObject.Find("Calculo").GetComponent<Calculadora>().resultado.ToString();

if(resultado == texto.text){
// Acertou
}else{
// Errou
}

Quando vc tentou fazer:
textoString = texto;
Vc estava tentando armazenar dentro de uma string um objeto do tipo TextMeshProUI, então acarretava esse erro.
O objeto TextMesh possui muitas informações, não é uma string. A string do TextMesh vc acessa da forma como vc estava fazendo: texto.text.
Era essa propriedade q vc deveria usar para armazenar dentro de textoString:
textoString = texto.text;
Daí não daria erros.

Mas pq colocar essa propriedade dentro de uma variável  para ser usada só uma vez para fazer uma verificação?
Nesse caso é preferível usar a propriedade directamente  no if como eu te mostro mais acima.
Olha eu tentei fazer desse jeito ai mas está dando outro erro agora, vou mandar os dois códigos para você ver
Codigo Calculadora 
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class Calculadora : MonoBehaviour
{
    public int PrimeiroNumero;
    public int SegundoNumero;
    public char[] operators = {'+' , '*'};
    public int resultado;
    private string ShowOP;
    public TextMeshProUGUI textDisplay;
    // Start is called before the first frame update
    void Start()
    {
        PrimeiroNumero = Random.Range (0,9);
        SegundoNumero = Random.Range (0,9);
        var op = operators[Random.Range(0, operators.Length)];
        switch (op){
            case '+':
            resultado = PrimeiroNumero + SegundoNumero;
            break;
            case '*':
            resultado = PrimeiroNumero * SegundoNumero;
            break;
        }
        Debug.Log(op);
        ShowOP = PrimeiroNumero.ToString() + " " + op.ToString() + " " + SegundoNumero.ToString() + " = ";
        textDisplay.text = ShowOP;
        Debug.Log(ShowOP);
    }

    // Update is called once per frame
    void Update()
    {
     
    }
}[/size]

Código BOTAOTEXTO 
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class BotaoTexto : MonoBehaviour
{
    public TextMeshProUGUI texto; 
    public int resultado;
    public float timer;
    // Start is called before the first frame update
    void Start()
    {
       
    }

    // Update is called once per frame
    void Update()
    {
        string resultado = GameObject.Find("Calculo").GetComponent<Calculadora>().resultado.ToString();

    if(resultado == texto.text){
        UnityEngine.SceneManagement.SceneManager.LoadScene("Menu");
    }else{
        timer += Time.deltaTime;
        if(timer >= 3){
        UnityEngine.SceneManagement.SceneManager.LoadScene("Calculadora");
        }
    }
    }
    public void AddDigito(string digito){
        if(texto.text.Length < 2){
            texto.text = texto.text + digito;
        }
    }
}[/size]

O ERRO QUE ESTÁ DANDO AGORA É: NullReferenceException: Object reference not set to an instance of an object. BotaoTexto.Update()(at Assets/Telas Iniciais/BotaoTexto.cs:21)

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Seg Ago 12, 2019 2:14 pm

No script do botão tem duas variáveis chamadas resultado, deleta aquela lá de cima do tipo int e só deixa a string dentro do Update.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Seg Ago 12, 2019 3:04 pm

@MayLeone escreveu:No script do botão tem duas variáveis chamadas resultado, deleta aquela lá de cima do tipo int e só deixa a string dentro do Update.

Funcionouuu Obrigado, valeu pelas ajudas!! Smile

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Seg Ago 12, 2019 3:26 pm

@MayLeone escreveu:No script do botão tem duas variáveis chamadas resultado, deleta aquela lá de cima do tipo int e só deixa a string dentro do Update.
Eu só queria saber como fazer para esperar o jogador digitar o resultado e depois ir para os if de verificação,pois está indo pro if direto sem esperar o jogador colocar o resultado, ai já ta aparecendo outra operação na hora, pois eu coloquei um timer de um tempo se o jogador errar para recarregar o level de novo para vim uma operação nova para ele, mas já está indo para o else direto sem ele ter colocado nada, tem que criar outro if para pegar a digitação do jogador??

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Seg Ago 12, 2019 6:05 pm

Vc está colocando a verificação se o jogador acertou ou não dentro do Update, então realmente nem vai dar tempo pra pessoa digitar o número, ele já vai pro else.
Para corrigir isso sugiro que você crie um IEnumerator e passe pra ele um tempo pra pessoa digitar, por exemplo, 5 segundos... Se a pessoa não digitar em 5 segundos o tempo acaba e aí faz a verificação.

Apaga o Update e cria um IEnumerator assim:

Código:
IEnumerator WaitTime(){
yield return new WaitForSeconds(5);
        string resultado = GameObject.Find("Calculo").GetComponent<Calculadora>().resultado.ToString();
    if(resultado == texto.text){
        UnityEngine.SceneManagement.SceneManager.LoadScene("Menu");
    }else{
        UnityEngine.SceneManagement.SceneManager.LoadScene("Calculadora");
        }
    }
Daí dentro do Start desse script você coloca o seguinte:

Código:
void Start(){
StartCoroutine("WaitTime");
}

Agora a pessoa terá tempo para digitar o número (5 segundos, mas vc pode mudar ali no WaitForSeconds) e quando o tempo acabar, verifica se a pessoa acertou ou não o resultado.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Seg Ago 12, 2019 8:59 pm

@MayLeone escreveu:Vc está colocando a verificação se o jogador acertou ou não dentro do Update, então realmente nem vai dar tempo pra pessoa digitar o número, ele já vai pro else.
Para corrigir isso sugiro que você crie um IEnumerator e passe pra ele um tempo pra pessoa digitar, por exemplo, 5 segundos... Se a pessoa não digitar em 5 segundos o tempo acaba e aí faz a verificação.

Apaga o Update e cria um IEnumerator assim:

Código:
IEnumerator WaitTime(){
yield return new WaitForSeconds(5);
        string resultado = GameObject.Find("Calculo").GetComponent<Calculadora>().resultado.ToString();
    if(resultado == texto.text){
        UnityEngine.SceneManagement.SceneManager.LoadScene("Menu");
    }else{
        UnityEngine.SceneManagement.SceneManager.LoadScene("Calculadora");
        }
    }
Daí dentro do Start desse script você coloca o seguinte:

Código:
void Start(){
StartCoroutine("WaitTime");
}

Agora a pessoa terá tempo para digitar o número (5 segundos, mas vc pode mudar ali no WaitForSeconds) e quando o tempo acabar, verifica se a pessoa acertou ou não o resultado.

Aeeeee deu certo obrigado, só mais uma coisa que eu gostaria de saber se funciona, queria que só aparecesse operações que o resultado for positivo ou zero e que fossem inteiros tb, pois tipo por exemplo nas operações de divisão quase sempre vai dar um numero float eu acho ne?? igual se for sorteado por exemplo 10-20, ai iria dar negativo. teria alguma forma de resolver isso?

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Seg Ago 12, 2019 9:49 pm

Sim.

Dentro do case da subtração:

Código:
case '-':
result = firstNumber - secondNumber;
if( result < 0)
Start();
break;

No caso aqui usaria um pouco de recursão: Se o resultado for um valor menor que zero, ou seja, um valor negativo, ele chama o Start de novo para sortear novos valores, e vai fazendo isso até result ser um valor positivo ou igual a zero. Caso ele encontre result como positivo, ele procede o código como antes.

Pode-ser fazer o mesmo sem usar recursão com o laço while que se mantém false até encontrar um valor positivo, mas acho que assim como eu fiz acima já resolve.

Para a divisão não acredito que dê valores flutuantes porque você está trabalhando com Int, isso quer dizer que o C# vai arredondar o valor flutuante para um inteiro, por exemplo: 4 dividido por 9 daria 0.45, mas vai ser arredondado para 0 se não me engano.
Então sim, existe um problema se o primeiro número ser menor que o segundo, obrigatoriamente o valor seria arredondado sempre pra zero, o que não traria desafio.
Outro fator da matemática: Nunca dividirás por zero, ou seja, o segundo número NUNCA pode ser zero.

Sobre essa perspectiva eu evitaria esse tipo de situação:

Código:
case '/':
if(firstNumber < secondNumber || secondNumber == 0){
Start();
} else {
result = firstNumber / secondNumber;
}
break;

Existe também o caso das divisões não serem exatas, por exemplo: 97/8 = 12,125.
Mas como eu disse, o resultado não vai ser flutuante porque você está trabalhando com inteiros, nesse caso a resposta correta seria apenas 12.
Mas se quiser evitar isso, faça com que os números sejam sempre múltiplos de si, que aí as divisões serão sempre exatas:

Código:
// Melhorando a divisão para sempre mútiplos:

case '/':
if(firstNumber < secondNumber || secondNumber == 0){
Start();
} else if (firstNumber % secondNumber == 0) {
result = firstNumber / secondNumber;
}  else {
Start();
}
break;

Acho que da forma acima melhora demais e evita divisões com resto, mas por ter uma recursão pode ser que pese na performance.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Seg Ago 12, 2019 10:04 pm

Outra alternativa sem a recursão é utilizando a instrução "goto" dentro do "switch":

Código:
var op = operators[Random.Range(0, operators.Length)];
 
SortearNovosValores:

        PrimeiroNumero = Random.Range (0,9);
        SegundoNumero = Random.Range (0,9);

        switch (op){
            case '+':
            resultado = PrimeiroNumero + SegundoNumero;
            break;
            case '*':
            resultado = PrimeiroNumero * SegundoNumero;
            break;
case '-':
resultado =  PrimeiroNumero - SegundoNumero;
if (resultado < 0)
goto SortearNovosValores;
break;

case '/':
if (PrimeiroNumero < SegundoNumero || SegundoNumero == 0)
goto SortearNovosValores;
else if (PrimeiroNumero % SegundoNumero == 0)
resultado = PrimeiroNumero / SegundoNumero;
else
goto SortearNovosValores;
    }
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Ter Ago 13, 2019 3:22 pm

@MayLeone escreveu:Outra alternativa sem a recursão é utilizando a instrução "goto" dentro do "switch":

Código:
var op = operators[Random.Range(0, operators.Length)];
  
SortearNovosValores:

        PrimeiroNumero = Random.Range (0,9);
        SegundoNumero = Random.Range (0,9);

        switch (op){
            case '+':
            resultado = PrimeiroNumero + SegundoNumero;
            break;
            case '*':
            resultado = PrimeiroNumero * SegundoNumero;
            break;
case '-':
resultado =  PrimeiroNumero - SegundoNumero;
if (resultado < 0)
goto SortearNovosValores;
break;

case '/':
if (PrimeiroNumero < SegundoNumero || SegundoNumero == 0)
goto SortearNovosValores;
else if (PrimeiroNumero % SegundoNumero == 0)
resultado = PrimeiroNumero / SegundoNumero;
else
goto SortearNovosValores;
     }
 Eu Coloquei desssa forma mas está dando um erro: ...\Calculadora.cs(35,13): error CS8070: Control cannot fall out of switch from final case lavel('case '/':')
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class Calculadora : MonoBehaviour
{
    public int PrimeiroNumero;
    public int SegundoNumero;
    public char[] operators = {'+' , '*'};
    public int resultado;
    private string ShowOP;
    public TextMeshProUGUI textDisplay;
    // Start is called before the first frame update
    void Start()
    {
        var op = operators[Random.Range(0, operators.Length)];
        SortearNovosValores:
        PrimeiroNumero = Random.Range (0,9);
        SegundoNumero = Random.Range (0,9);
        switch(op){
            case '+':
            resultado = PrimeiroNumero + SegundoNumero;
            break;
            case '*':
            resultado = PrimeiroNumero * SegundoNumero;
            break;
            case '-':
            resultado =  PrimeiroNumero - SegundoNumero;
            if (resultado < 0){
            goto SortearNovosValores;
            }
            break;
            case '/':
            if (PrimeiroNumero < SegundoNumero || SegundoNumero == 0){
            goto SortearNovosValores;
            }
            else if (PrimeiroNumero % SegundoNumero == 0){
            resultado = PrimeiroNumero / SegundoNumero;
            }else{
            goto SortearNovosValores;
            }
        }
        Debug.Log(op);
        ShowOP = PrimeiroNumero.ToString() + " " + op.ToString() + " " + SegundoNumero.ToString() + " = ";
        textDisplay.text = ShowOP;
        Debug.Log(ShowOP);
    }

    // Update is called once per frame
    void Update()
    {
      
    }
}[/size]

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por MayLeone em Ter Ago 13, 2019 4:03 pm

Faltou uma instrução break embaixo da chave do último goto da estrutura.
MayLeone
MayLeone
Instrutor

Feminino PONTOS : 1132
REPUTAÇÃO : 299
Áreas de atuação : Unity & C#
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY Aad8pUi

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY

Mensagem por lucaspoiob em Ter Ago 13, 2019 4:10 pm

@MayLeone escreveu:Faltou uma instrução break embaixo da chave do último goto da estrutura.
Pronto agora está tudo finalizado, obrigado pela ajuda Smile

lucaspoiob
Membro
Membro

PONTOS : 903
REPUTAÇÃO : 0
Respeito as regras : [RESOLVIDO] Como fazer uma calculadora recebendo o resultado do jogador? UNITY WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


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