Unity quiz oyununu döngüye almak

Bertugs

Decapat
Katılım
15 Haziran 2022
Mesajlar
108
Çözümler
6
Daha fazla  
Cinsiyet
Erkek
Merhaba Unity üzerinden bir oyun yapıyorum. Bu oyunda karşımıza sorular geliyor ve gelen sorular örneğin 30 tane ve bu 30 soru rastgele çıkıp bitince oyun bitiyor. Ben bu 30 soru bitince o rastgele olan döngüyü yeniden başlatmak istiyorum. Soruların olduğu listteki sorular geçince RemoveAt fonksiyonuyla siliyorum ki geri çıkmasın.
Kullandığım scriptler:

Kod:
using System.Collections;
using System.Collections.Generic;
using System.Security.Cryptography;
using TMPro;
using TMPro.Examples;
using UnityEngine;
using UnityEngine.UI;

public class questionmanager : MonoBehaviour
{
    public List<QuestionAnsAnswers1> QnA;
    public GameObject[] options;
    public int currentQuestion;

    public TextMeshProUGUI QuestionTxt;

    public quizmanager quizmanager;

    public TextMeshProUGUI bonusscore;

    private void Start()
    {
        generateQuestion();
    }

    public void correct()
    {
        QnA.RemoveAt(currentQuestion);
        generateQuestion();
    }

    void SetAnswers()
    {
        for (int i = 0; i < options.Length; i++)
        {
            options[i].GetComponent<AnswerScript1>().isCorrect = false;
            options[i].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = QnA[currentQuestion].Answers[i];

            if (QnA[currentQuestion].CorrrectAnswer == i + 1)
            {
                options[i].GetComponent<AnswerScript1>().isCorrect = true;
            }
        }
    }

    void generateQuestion()
    {
        if (QnA.Count > 0)
        {
            currentQuestion = Random.Range(0, QnA.Count);

            QuestionTxt.text = QnA[currentQuestion].Question;
            SetAnswers();
        }
        else
        {
            quizmanager.oyunbitti();
        }

    }

}

Burada sondaki generate question kısmındaki else kalan sorular 0 kalınca ne olacağını ayarlıyor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı