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:
Burada sondaki generate question kısmındaki else kalan sorular 0 kalınca ne olacağını ayarlıyor.
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.