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:
COMBUSTIVEL
Guia PBR - Luz e Matéria: A teoria da renderização e sombreamento
player pulando eternamente quando dentro de um trigger colllider, como corrigir isso? 2D
13º Andar, jogo indie completo!
Uma das principais razões pelas quais desenvolvedores fracassam
[TUTORIAL] Inimigo que segue player enquanto player está vendo
(Ajuda) Verificação do conometro
Formação de Equipe ( Favela Killer)
Hengor meu MMORPG indie
Destruir um inimigo e mudar de cena para o fim do jogo
[TUTORIAL] Sistema Simples de Falas
Como criar macro com tempo no Windows
Gente estou com dúvida de como que faz o sistema do personagem (First Person)
Chamar variavel em outra script para chama-lo ao slide
Limite de spawn e respawn de inimigos
Command 888
(DUVIDA)Privacy Policy e Terms of use
[TUTORIAL] Como fazer um TELEPORTE
Verificar se outro objeto tem um script usando o raycasy
alguem pode ajudar com um problema xbox live
Unity: Não consigo criar meu projeto
[Projeto em Andamento] Brazil Combat
Asset Store Está Recusando Meus Modelos 3D
Construção estilo Minecraft DUVIDA
Arma atravessando paredes - AJUDA
Sites de efeitos sonoros
Sistema de skin (Player) Sprite Renderer
Inserir animação em certos elemento
Som de passos 3º pessoas Unity C#
Ui só em tal lugar
Duvida sobre menu
como faco para spawnar a vida do inimigo junto com ele direto do prefabe
Freio Motor De Caminhão
Segurar item na mão e dropar item.
Como que faço para transformar um Vector3 em transform.position?
Textura aplicada na objeto mas não aparece
CharacterController não interage com Box Colliders.
Dúvida sobre pagamento de direitos autorais
Sistema de foco na Unity.
Rotação de sprite dentro do canvas (deformação)
duvida conta no banco inter
Flamehead MMORPG Indie
Colisoes na Unity
diminuir a vida do enemy que esta coollidindo com o player ,combase nos niveis
[RESOLVIDO] Exportar do blender para 3D Max?
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
ARRAYS
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Problema com sprite na unity
[RESOLVIDO] Preciso de ajuda com joystic para personagem 2D
Spawn Random simultâneo em pontos específicos
erro no scripts de dano no player 2D
Software de modelagem 3D bom para LowPoly
Dúvida sobre Orientation Layout
Quais cuidados devo tomar ao trabalhar em dupla?
Botão UI pressionar tecla do teclado?
[TUTORIAL] Mover, girar e lançar objetos com o MOUSE (Unity 2017, atualizado)
Editor de Script nao aparece aquela previa
Criar Script para configurar um assets de um character
"Banco de Dados" de Sprites
[TUTORIAL] Unity 2019 - Lanterna e pilhas, com UI
QUERIA SABER SE POSSO VENDER MODELOS 3D AQUI ????
Unity Grama interagindo com Collider
Descer do Caminhão?
Qual a sua opinião sobre modelos de negócio e monetização de jogos?
Documentação do Unity Offline em Português Existe???
Não consigo atribuir pontos no admob reward.
não consigo atirar
a iluminacao de pono nao esta passando para o teto , unity
Preciso de desenvolverdor para projeto de game
[RESOLVIDO] Valor de App de Realidade Aumentada.
Ajuda mistura de cores azul + amerelo
Sprite Renderer em canvas
[____ASSET____] MS Vehicle System (FREE VERSION)
[RESOLVIDO] Sistema básico em C# - Objetos aparecerem em lugares específicos
[RESOLVIDO] Ajuda com Canvas/UI
[TUTORIAL] Script de arma automatica
[RESOLVIDO] Quero aprender a desenvolver jogo na unity em C#
[RESOLVIDO] Duvida sobre C# na Unity
Erros Diversos no Script
Inserindo Animação em cada Ação
[RESOLVIDO] Como fazer um Mathf.Lerp com velocidade constante?
[SEM NOME] [UNITY] [TERROR]
Jogo está com nome "em breve" na playstore e não abre ao público.
[DÚVIDA] Ajuda com joystick em mobile...
DESCER DO VEICULO?
o meu carro ta com as lateral fantasma
[RESOLVIDO] Como fazer um contorno no objeto quando passar o mouse em cima ?
[RESOLVIDO] Dúvida steam publicar jogos
Networking em jogo cooperativo.
Mas alguém teve problemas com o Unity na nova versão do Linux Mint?
Controlar a renderização da camera com um slider
Chamar cena ao entrar em um collider.
[_____CRONOGRAMA DO CANAL_____]
Corcle (Mobile) - Um jogo simples com um nome estranho.
[RESOLVIDO] Preciso de uma ajuda com PUM v1
[VIDEO] Sistema de Yu-Gi-Oh com SQLite
[TUTORIAL] Sistema simples de GRANADA e EXPLOSÕES
script jogo carro para mudRunner bleder
Hoje à(s) 10:52 am
Hoje à(s) 10:36 am
Hoje à(s) 1:24 am
Ontem à(s) 6:50 pm
Ontem à(s) 5:58 pm
Ontem à(s) 2:29 pm
Ontem à(s) 2:14 pm
Ontem à(s) 12:36 pm
Ontem à(s) 12:25 pm
Ontem à(s) 12:30 am
Sab Jul 13, 2019 10:12 pm
Sab Jul 13, 2019 10:12 pm
Sab Jul 13, 2019 8:13 pm
Sab Jul 13, 2019 7:50 pm
Sab Jul 13, 2019 7:07 pm
Sab Jul 13, 2019 12:34 pm
Sab Jul 13, 2019 10:54 am
Sex Jul 12, 2019 7:51 pm
Sex Jul 12, 2019 4:22 pm
Sex Jul 12, 2019 3:32 pm
Sex Jul 12, 2019 1:56 pm
Qui Jul 11, 2019 9:38 pm
Qui Jul 11, 2019 8:50 pm
Qui Jul 11, 2019 7:41 pm
Qui Jul 11, 2019 7:38 pm
Qui Jul 11, 2019 6:32 pm
Qua Jul 10, 2019 11:58 pm
Qua Jul 10, 2019 8:34 pm
Qua Jul 10, 2019 6:11 pm
Ter Jul 09, 2019 10:55 pm
Ter Jul 09, 2019 10:09 pm
Ter Jul 09, 2019 8:28 pm
Ter Jul 09, 2019 7:23 pm
Ter Jul 09, 2019 5:19 pm
Seg Jul 08, 2019 7:27 pm
Seg Jul 08, 2019 6:26 pm
Seg Jul 08, 2019 3:01 pm
Seg Jul 08, 2019 1:51 pm
Seg Jul 08, 2019 8:10 am
Seg Jul 08, 2019 2:56 am
Seg Jul 08, 2019 12:09 am
Dom Jul 07, 2019 8:38 pm
Dom Jul 07, 2019 3:52 pm
Dom Jul 07, 2019 10:09 am
Dom Jul 07, 2019 8:53 am
Dom Jul 07, 2019 1:13 am
Sab Jul 06, 2019 11:40 pm
Sab Jul 06, 2019 9:07 pm
Sab Jul 06, 2019 11:57 am
Sab Jul 06, 2019 11:54 am
Sab Jul 06, 2019 11:47 am
Sab Jul 06, 2019 11:37 am
Sab Jul 06, 2019 7:59 am
Sab Jul 06, 2019 7:53 am
Sab Jul 06, 2019 7:47 am
Sab Jul 06, 2019 7:35 am
Sab Jul 06, 2019 7:34 am
Sab Jul 06, 2019 7:18 am
Sab Jul 06, 2019 7:16 am
Sab Jul 06, 2019 7:08 am
Sab Jul 06, 2019 7:04 am
Sab Jul 06, 2019 7:03 am
Sab Jul 06, 2019 6:55 am
Sab Jul 06, 2019 6:53 am
Sab Jul 06, 2019 6:36 am
Sab Jul 06, 2019 5:45 am
Sab Jul 06, 2019 5:38 am
Sab Jul 06, 2019 5:37 am
Sab Jul 06, 2019 5:30 am
Sex Jul 05, 2019 9:46 pm
Sex Jul 05, 2019 11:09 am
Sex Jul 05, 2019 9:38 am
Qui Jul 04, 2019 10:47 pm
Qui Jul 04, 2019 9:47 pm
Qui Jul 04, 2019 9:17 pm
Qui Jul 04, 2019 6:44 pm
Qui Jul 04, 2019 3:36 pm
Qui Jul 04, 2019 2:14 pm
Qui Jul 04, 2019 2:00 pm
Qua Jul 03, 2019 8:24 pm
Qua Jul 03, 2019 6:36 pm
Qua Jul 03, 2019 5:09 pm
Qua Jul 03, 2019 3:22 pm
Qua Jul 03, 2019 3:16 pm
Ter Jul 02, 2019 8:18 pm
Ter Jul 02, 2019 8:05 pm
Ter Jul 02, 2019 7:30 pm
Ter Jul 02, 2019 3:20 pm
Ter Jul 02, 2019 2:05 pm
Ter Jul 02, 2019 8:24 am
Ter Jul 02, 2019 3:21 am
Seg Jul 01, 2019 8:24 pm
Seg Jul 01, 2019 8:02 pm
Seg Jul 01, 2019 3:40 pm
Dom Jun 30, 2019 9:44 pm
Dom Jun 30, 2019 7:17 pm
Dom Jun 30, 2019 4:56 pm
Dom Jun 30, 2019 1:39 pm
Dom Jun 30, 2019 1:34 pm
Magnatah
Magnatah
mathhBR
Patrick
thales.ulisses
FantasmaFX
Magnatah
zeca urubu
Callyde Jr
SteveRogers
Magnatah
lesgoy
Magnatah
Magnatah
Blandbrute6677
Callyde Jr
poyser
mama2401
diegopds
diegopds
Callyde Jr
dkrazor
Magnatah
rafaelllsd
rafaelllsd
poyser
luckas211
ffabim
merike11
iToddy
poyser
guimaraf
yurinogueira
Ed Mafi
Ed Mafi
Ed Mafi
LúcioHenrique098
eduardonog30
ruanzikaad
danielPedra90
MarcosSchultz
Magnatah
Magnatah
Magnatah
TioUV
LúcioHenrique098
MarcosSchultz
luckas211
poyser
poyser
guimaraf
luckas211
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
luckas211
numb123
NKKF
MayLeone
dkrazor
SteveRogers
KingsAlex
luckas211
Yagogomes
poyser
LúcioHenrique098
Magnatah
LúcioHenrique098
luckas211
Tegh
Magnatah
Magnatah
Magnatah
ruanzikaad
diegopds
SteveRogers
yurinogueira
Magnatah
Magnatah
Magnatah
Félix Santos
yurinogueira
MayLeone
Magnatah
Magnatah

Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Ir em baixo

DÚVIDA Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Sex Mar 15, 2019 2:49 pm

O código é este:

Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class responder : MonoBehaviour {



    private int idTema;

    public Text pergunta;
    public Text respostaA;
    public Text respostaB;
    public Text respostaC;
    public Text respostaD;
    public Text infoRespostas;

    public string[] perguntas;
    public string[] alternativaA;
    public string[] alternativaB;
    public string[] alternativaC;
    public string[] alternativaD;
    public string[] corretas;

    private int idPergunta;

    private float acertos;
    private float questoes;
    private float media;
    private int notaFinal;
    private object usedValues;

    // Use this for initialization
    void Start() {

        idTema = PlayerPrefs.GetInt("idTema");
        idPergunta = 0;
        questoes = perguntas.Length;

        pergunta.text = perguntas[idPergunta];
        respostaA.text = alternativaA[idPergunta];
        respostaB.text = alternativaB[idPergunta];
        respostaC.text = alternativaC[idPergunta];
        respostaD.text = alternativaD[idPergunta];

        infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
  
    }

    public void resposta(string alternativa)
    {

        if (alternativa == "A")
        {

            if (alternativaA[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }


        }
        else if (alternativa == "B")
        {
            if (alternativaB[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "C")
        {
            if (alternativaC[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "D")
        {
            if (alternativaD[idPergunta] == corretas[idPergunta])
            {
                acertos += 1;
            }

        }

        proximaPergunta();

    }




  
    void proximaPergunta()
    {



        idPergunta += 1;

        if(idPergunta <= (questoes-1))
        {
            pergunta.text = perguntas[idPergunta];
            respostaA.text = alternativaA[idPergunta];
            respostaB.text = alternativaB[idPergunta];
            respostaC.text = alternativaC[idPergunta];
            respostaD.text = alternativaD[idPergunta];

            infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
        }
        else
        {
            media = 10 * (acertos / questoes);
            notaFinal = Mathf.RoundToInt(media);

            if (notaFinal > PlayerPrefs.GetInt("notaFinal"+idTema.ToString()))
            {
                PlayerPrefs.SetInt("notaFinal"+idTema.ToString(), notaFinal);
                PlayerPrefs.SetInt("acertos"+idTema.ToString(), (int) acertos);
            }

            PlayerPrefs.SetInt("notaFinalTemp" + idTema.ToString(), notaFinal);
            PlayerPrefs.SetInt("acertosTemp" + idTema.ToString(), (int)acertos);


            Application.LoadLevel("notaFinal");


        }


    

    }




}

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por MarcosSchultz em Sex Mar 15, 2019 5:09 pm

Isso é um tutorial? Uma dúvida?
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 61993
REPUTAÇÃO : 2273
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D Aad8pUi

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

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Sex Mar 15, 2019 11:27 pm

@MarcosSchultz escreveu:Isso é um tutorial? Uma dúvida?

Está em "Duvidas em geral", então sim, é uma duvida. Não sei como fazer isto...

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por MayLeone em Dom Mar 17, 2019 3:03 pm

Do jeito que está, fica dificil implementar uma aleatoriedade, recomendo mudar a arquitetura do código.
Dê uma olhada nesse tutorial, talvez possa te ajudar: http://compilemosfacil.blogspot.com/2018/01/desenvolvendo-um-jogo-de-quiz-com.html
MayLeone
MayLeone
ProgramadorMaster

Feminino PONTOS : 1048
REPUTAÇÃO : 273
Áreas de atuação : Unity & C#
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D Aad8pUi

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

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Dom Mar 17, 2019 3:42 pm

pelo jeito, vc precisa aleatorizar a pergunta, porem, não poderia repetir, ao meu entender no código o idpergunta é oque faz cada questão.

se utilizar um idpergunta = random.range(0,200); aleatorizaria de 0 a 200, porem a mesma pergunta poderia aparecer diversas vezes.

oque poderia ser feito é:
criar um grupo de bool - public bool[] Respondidas.
assim que uma bool for respondida deixar true.
depois para trocar as perguntas
idpergunta = random.range(0,perguntas.lenght); // isto pega o max de perguntas possíveis
depois disso vc checa pra ver se já foi respondida
if(Respondidas[idpergunta] == true){
proximaPergunta();
return; // para retornar a função

}

isto sim seria aleatório a posição das perguntas, e elas não se repetiriam.
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Dom Mar 17, 2019 4:13 pm

@luiz12345 escreveu:pelo jeito, vc precisa aleatorizar a pergunta, porem, não poderia repetir, ao meu entender no código o idpergunta é oque faz cada questão.

se utilizar um idpergunta = random.range(0,200); aleatorizaria de 0 a 200, porem a mesma pergunta poderia aparecer diversas vezes.

oque poderia ser feito é:
criar um grupo de bool - public bool[] Respondidas.
assim que uma bool for respondida deixar true.
depois para trocar as perguntas
idpergunta = random.range(0,perguntas.lenght); // isto pega o max de perguntas possíveis
depois disso vc checa pra ver se já foi respondida
if(Respondidas[idpergunta] == true){
proximaPergunta();
return; // para retornar a função

}

isto sim seria aleatório a posição das perguntas, e elas não se repetiriam.


Fiz assim:

Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class responder : MonoBehaviour {

    private int idTema;

    public bool[] Respondidas.

    public Text pergunta;
    public Text respostaA;
    public Text respostaB;
    public Text respostaC;
    public Text respostaD;
    public Text infoRespostas;

    public string[] perguntas;
    public string[] alternativaA;
    public string[] alternativaB;
    public string[] alternativaC;
    public string[] alternativaD;
    public string[] corretas;

    private int idPergunta;

    private float acertos;
    private float questoes;
    private float media;
    private int notaFinal;

    // Use this for initialization
    void Start() {

        idTema = PlayerPrefs.GetInt("idTema");
        idPergunta = random.range(0, perguntas.lenght); // isto pega o max de perguntas possíveis
        questoes = perguntas.Length;

        pergunta.text = perguntas[idPergunta];
        respostaA.text = alternativaA[idPergunta];
        respostaB.text = alternativaB[idPergunta];
        respostaC.text = alternativaC[idPergunta];
        respostaD.text = alternativaD[idPergunta];

        infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
 
    }

    public void resposta(string alternativa)
    {

        if (alternativa == "A")
        {

            if (alternativaA[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }


        }
        else if (alternativa == "B")
        {
            if (alternativaB[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "C")
        {
            if (alternativaC[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "D")
        {
            if (alternativaD[idPergunta] == corretas[idPergunta])
            {
                acertos += 1;
            }

        }

        proximaPergunta();

    }


    void proximaPergunta()
    {
        idPergunta += 1;

        if(idPergunta <= (questoes-1))
        {
            pergunta.text = perguntas[idPergunta];
            respostaA.text = alternativaA[idPergunta];
            respostaB.text = alternativaB[idPergunta];
            respostaC.text = alternativaC[idPergunta];
            respostaD.text = alternativaD[idPergunta];

            infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
        }
        else
        {
            media = 10 * (acertos / questoes);
            notaFinal = Mathf.RoundToInt(media);

            if (notaFinal > PlayerPrefs.GetInt("notaFinal"+idTema.ToString()))
            {
                PlayerPrefs.SetInt("notaFinal"+idTema.ToString(), notaFinal);
                PlayerPrefs.SetInt("acertos"+idTema.ToString(), (int) acertos);
            }

            PlayerPrefs.SetInt("notaFinalTemp" + idTema.ToString(), notaFinal);
            PlayerPrefs.SetInt("acertosTemp" + idTema.ToString(), (int)acertos);


            Application.LoadLevel("notaFinal");
        }
    }

    if(Respondidas[idpergunta] == true){
proximaPergunta();
return; // para retornar a função
}

}


Porém deu este erro: "Unedxpected symbol "public" in class, struct, or interface member declaration". Aparentemente foi no "public Text pergunta;"

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Dom Mar 17, 2019 4:24 pm

Eu consertei algumas coisas no código, mas ainda da erro (principalmente no "if").

public bool[] Respondidas;

idPergunta = Random.Range (0, perguntas.Lenght); // isto pega o max de perguntas possíveis

if(Respondidas[idPergunta] == true){
proximaPergunta();
return; // para retornar a função
}

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Dom Mar 17, 2019 5:50 pm

se o erro for quando da o play, deve ser porque o numero de bool respondidas n é igual ao numero de perguntas. tipo existem 20 perguntas mais n colocou nenhuma bool.

se o erro for no código deve ser o local onde esta chamando este if(), ou então na parte onde ele invoca a própria void.

um jeito seria em vez de void, colocar no update, pois é necessário checar varias vezes, pois se existirem 20 perguntas, e ele já respondeu 19, vai ter uma chance de 5% do script pegar a pergunta restante, ou seja talvez ele faça essa verificação mais de 50x

para colocar no update:
1-crie uma bool normal com um nome tipo 

proximaPergunta.
2-na void update, cheque se ela esta true. if(proximaPergunta){}
3-remova a void proximaPergunta, e coloque ela inteira dentro do if que você criou na update.
4- no final do if() com todos os parâmetros que antes estava na void, adicione: proximaPergunta = false;
5-adicione o que eu havia dito antes.

idPergunta = Random.Range (0, perguntas.Lenght); // lembre-se de add isto na parte inicial do if

if(Respondidas[idPergunta] == true){ // note que n é necessário deixar true o proximaPergunta.
return; 
}
aqui em baixo o código da void.


luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Dom Mar 17, 2019 6:23 pm

Eu coloquei 10 perguntas em cada fase, mas algumas eu colocarei mais perguntas e outras menos. O erro foi no código não na hora do play.

Eu coloquei o if no void proximaPergunta e funcionou. Ficou aleatório. Mas quando clica, a próxima pergunta não vai, da erro.

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Dom Mar 17, 2019 6:27 pm

e outro erro foi o "Lenght" que na verdade é "Length", mas já consertei.

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Dom Mar 17, 2019 6:30 pm

Ficou assim:

Código:
void proximaPergunta()
    {
        idPergunta += 1;

        if (Respondidas[idPergunta] == true)
        {
            proximaPergunta();
            return; // para retornar a função
        }

        if (idPergunta <= (questoes-1))
        {
            pergunta.text = perguntas[idPergunta];
            respostaA.text = alternativaA[idPergunta];
            respostaB.text = alternativaB[idPergunta];
            respostaC.text = alternativaC[idPergunta];
            respostaD.text = alternativaD[idPergunta];

            infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
        }
        else
        {
            media = 10 * (acertos / questoes);
            notaFinal = Mathf.RoundToInt(media);

            if (notaFinal > PlayerPrefs.GetInt("notaFinal"+idTema.ToString()))
            {
                PlayerPrefs.SetInt("notaFinal"+idTema.ToString(), notaFinal);
                PlayerPrefs.SetInt("acertos"+idTema.ToString(), (int) acertos);
            }

            PlayerPrefs.SetInt("notaFinalTemp" + idTema.ToString(), notaFinal);
            PlayerPrefs.SetInt("acertosTemp" + idTema.ToString(), (int)acertos);


            Application.LoadLevel("notaFinal");
        }
    }

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 12:08 pm

Diz que o erro é em         if (Respondidas[idPergunta] == true)

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 6:30 pm

Apaguei está parte do código (abaixo) e funcionou. Por enquanto as perguntas não estão repetidas e quando clica ela vai pra próxima pergunta.

Código:
 if (Respondidas[idPergunta] == true)[size=14][/size]        {[size=14][/size]            proximaPergunta();[size=14][/size]            return; // para retornar a função[size=14][/size]        }




Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class responder : MonoBehaviour {

    private int idTema;

    public bool[] Respondidas;


    public Text pergunta;
    public Text respostaA;
    public Text respostaB;
    public Text respostaC;
    public Text respostaD;
    public Text infoRespostas;

    public string[] perguntas;
    public string[] alternativaA;
    public string[] alternativaB;
    public string[] alternativaC;
    public string[] alternativaD;
    public string[] corretas;

    private int idPergunta;

    private float acertos;
    private float questoes;
    private float media;
    private int notaFinal;

    // Use this for initialization
    void Start() {

        idTema = PlayerPrefs.GetInt("idTema");
        idPergunta = Random.Range(0, perguntas.Length); // isto pega o max de perguntas possíveis
        questoes = perguntas.Length;

        pergunta.text = perguntas[idPergunta];
        respostaA.text = alternativaA[idPergunta];
        respostaB.text = alternativaB[idPergunta];
        respostaC.text = alternativaC[idPergunta];
        respostaD.text = alternativaD[idPergunta];

        infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
  
    }

    public void resposta(string alternativa)
    {

        if (alternativa == "A")
        {

            if (alternativaA[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }


        }
        else if (alternativa == "B")
        {
            if (alternativaB[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "C")
        {
            if (alternativaC[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "D")
        {
            if (alternativaD[idPergunta] == corretas[idPergunta])
            {
                acertos += 1;
            }

        }

        proximaPergunta();

    }


    void proximaPergunta()
    {
        idPergunta += 1;

      

        if (idPergunta <= (questoes-1))
        {
            pergunta.text = perguntas[idPergunta];
            respostaA.text = alternativaA[idPergunta];
            respostaB.text = alternativaB[idPergunta];
            respostaC.text = alternativaC[idPergunta];
            respostaD.text = alternativaD[idPergunta];

            infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
        }
        else
        {
            media = 10 * (acertos / questoes);
            notaFinal = Mathf.RoundToInt(media);

            if (notaFinal > PlayerPrefs.GetInt("notaFinal"+idTema.ToString()))
            {
                PlayerPrefs.SetInt("notaFinal"+idTema.ToString(), notaFinal);
                PlayerPrefs.SetInt("acertos"+idTema.ToString(), (int) acertos);
            }

            PlayerPrefs.SetInt("notaFinalTemp" + idTema.ToString(), notaFinal);
            PlayerPrefs.SetInt("acertosTemp" + idTema.ToString(), (int)acertos);


            Application.LoadLevel("notaFinal");
        }
    }



}

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 6:32 pm

Só que na próxima pergunta não fica aleatório...

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Seg Mar 18, 2019 6:43 pm

tenta deixar aquela parte e envia aqui o erro que da, e diz se é durante o jogo(quando da play na cena), ou se ele da o erro todo o tempo.
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 7:32 pm

@luiz12345 escreveu:tenta deixar aquela parte e envia aqui o erro que da, e diz se é durante o jogo(quando da play na cena), ou se ele da o erro todo o tempo.

Dá erro quando clico na pergunta (ele não vai pra proxima pergunta) e fala isso "IndexOutofRangeException: Array index is out of range". O erro diz que é no  if (Respondidas[idPergunta]);

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 8:06 pm

me disseram pra usar este código (abaixo), mas não sei onde colocar ele:

Código:
Debug.Log("The value is " + idPergunta.ToString());

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Seg Mar 18, 2019 8:35 pm

o numero de bools no inspector é o mesmo que o numero de perguntas possíveis?
quando você criou o Respondidas[] foi adicionado no inspector uma área de bool, porem você antes precisa selecionar a quantidade.

caso não queria fazer isto, tenta adicionar isto antes do if():
Respondidas = new bool[perguntas.Length];
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Seg Mar 18, 2019 8:39 pm

opa, oque eu disse antes está errado pois como isto será checado de novo, ira resetar todos os valores, tendo efeito nulo o if(). Ou seja, não coloque antes do if(), coloque em primeiro na void update.
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Seg Mar 18, 2019 8:39 pm

@luiz12345 escreveu:opa, oque eu disse antes está errado pois como isto será checado de novo, ira resetar todos os valores, tendo efeito nulo o if(). Ou seja, não coloque antes do if(), coloque em primeiro na void update.
Void Start* to meio enrolado ;-;
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 9:53 pm

@luiz12345 escreveu:
@luiz12345 escreveu:opa, oque eu disse antes está errado pois como isto será checado de novo, ira resetar todos os valores, tendo efeito nulo o if(). Ou seja, não coloque antes do if(), coloque em primeiro na void update.
Void Start* to meio enrolado ;-;

Agora mano, funcionou. Valeu rsrsrs
Ficou assim:

Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class responder : MonoBehaviour {

    private int idTema;

    public bool[] Respondidas;


    public Text pergunta;
    public Text respostaA;
    public Text respostaB;
    public Text respostaC;
    public Text respostaD;
    public Text infoRespostas;

    public string[] perguntas;
    public string[] alternativaA;
    public string[] alternativaB;
    public string[] alternativaC;
    public string[] alternativaD;
    public string[] corretas;

    private int idPergunta;

    private float acertos;
    private float questoes;
    private float media;
    private int notaFinal;

    // Use this for initialization
    void Start() {

        idTema = PlayerPrefs.GetInt("idTema");
        idPergunta = Random.Range(0, perguntas.Length); // isto pega o max de perguntas possíveis
        questoes = perguntas.Length;
        Respondidas = new bool[perguntas.Length];

        pergunta.text = perguntas[idPergunta];
        respostaA.text = alternativaA[idPergunta];
        respostaB.text = alternativaB[idPergunta];
        respostaC.text = alternativaC[idPergunta];
        respostaD.text = alternativaD[idPergunta];

        infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
 
    }

    public void resposta(string alternativa)
    {

        if (alternativa == "A")
        {

            if (alternativaA[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }


        }
        else if (alternativa == "B")
        {
            if (alternativaB[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "C")
        {
            if (alternativaC[idPergunta] == corretas[idPergunta])
            {

                acertos += 1;
            }

        }

        else if (alternativa == "D")
        {
            if (alternativaD[idPergunta] == corretas[idPergunta])
            {
                acertos += 1;
            }

        }

        proximaPergunta();

    }


    void proximaPergunta()
    {
        idPergunta += 1;
        Debug.Log("The value is " + idPergunta.ToString());

        if (Respondidas[idPergunta])
        {
            proximaPergunta();
            return; // para retornar a função
        }

        if (idPergunta <= (questoes-1))
        {
            pergunta.text = perguntas[idPergunta];
            respostaA.text = alternativaA[idPergunta];
            respostaB.text = alternativaB[idPergunta];
            respostaC.text = alternativaC[idPergunta];
            respostaD.text = alternativaD[idPergunta];

            infoRespostas.text = "Respondendo " + (idPergunta + 1).ToString() + " de " + questoes.ToString() + " perguntas.";
        }
        else
        {
            media = 10 * (acertos / questoes);
            notaFinal = Mathf.RoundToInt(media);

            if (notaFinal > PlayerPrefs.GetInt("notaFinal"+idTema.ToString()))
            {
                PlayerPrefs.SetInt("notaFinal"+idTema.ToString(), notaFinal);
                PlayerPrefs.SetInt("acertos"+idTema.ToString(), (int) acertos);
            }

            PlayerPrefs.SetInt("notaFinalTemp" + idTema.ToString(), notaFinal);
            PlayerPrefs.SetInt("acertosTemp" + idTema.ToString(), (int)acertos);


            Application.LoadLevel("notaFinal");
        }
    }



}

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Seg Mar 18, 2019 11:26 pm

Porém testando aqui deu erro de novo. Eu respondo algumas perguntas e depois da o mesmo "IndexOutofRangeException: Array index is out of range". O erro diz que é no  if (Respondidas[idPergunta]);

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Ter Mar 19, 2019 1:14 am

tente substituir o:
Respondidas = new bool[perguntas.Length];

Por:

Respondidas = new bool[perguntas.Length + 1];


isso buga porque em certas parte ele conta o zero, em outras não.
se der mais erros avise
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Ter Mar 19, 2019 10:56 am

@luiz12345 escreveu:tente substituir o:
Respondidas = new bool[perguntas.Length];

Por:

Respondidas = new bool[perguntas.Length + 1];


isso buga porque em certas parte ele conta o zero, em outras não.
se der mais erros avise

Isso fez com que ele respondesse 1 ou 2 perguntas e depois finalizasse o questionário, sendo que são 10 perguntas.

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Ter Mar 19, 2019 11:12 am

Tentei postar uma print, mas o fórum não permite. Então vou tentar explicar...
Quando eu clicava na pergunta aparecia isto "The value is 8 UnityEngine.Debug:Log(Object)responder:proximaPergunta()"; quando chegava no "The value is 9", ele dava erro "IndexOutofRangeException: Array index is out of range".


Então eu removi o  "Debug.Log("The value is " + idPergunta.ToString());" e funcionou normalmente. Porém, quando chegava na ultima pergunta ele não ia para a nota final, ele dava de novo o erro "IndexOutofRangeException: Array index is out of range".

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Ter Mar 19, 2019 11:14 am

Ele nem começa do começo. Tem horas que ele já vai pra ultima pergunta (são 10 perguntas)...

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por luiz12345 em Ter Mar 19, 2019 12:34 pm

se for um sistema aleatório então ele pode tanto pegar a primeira, como a quinta, como a ultima pergunta, pois é aleatório, porem se for um sistema onde a primeira e a ultima não são aleatória ai já precisa de mais programação.
Quanto ao erro, eu não entendi muito bem, oque você poderia fazer é criar um outro tópico informando sobre este erro para que mais pessoas possam ajuda-lo.
luiz12345
luiz12345
MembroAvançado

Masculino PONTOS : 1305
REPUTAÇÃO : 14
Idade : 18
Áreas de atuação : Programação, Modelagem 3D, Criação De Jogos Digitais.
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário https://discord.gg/8b8bGyY

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D

Mensagem por Akuma97 em Ter Mar 19, 2019 1:50 pm

@luiz12345 escreveu:se for um sistema aleatório então ele pode tanto pegar a primeira, como a quinta, como a ultima pergunta, pois é aleatório, porem se for um sistema onde a primeira e a ultima não são aleatória ai já precisa de mais programação.
Quanto ao erro, eu não entendi muito bem, oque você poderia fazer é criar um outro tópico informando sobre este erro para que mais pessoas possam ajuda-lo.

Se quiser te mando o jogo pra você ver e tentar fazer ficar aleatório.

Akuma97
Membro
Membro

PONTOS : 162
REPUTAÇÃO : 1
Respeito as regras : Como fazer as perguntas ficarem aleatorias em jogo quiz - Unity 2D WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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