//data for display
{newQues = "abc"; string[] ans = { "abc", "bcd", "cde", "def" }; answer = "abc"; }
public IEnumerator DisplayQues() //use to display question
{
yield return new WaitForSeconds(0.25f);
Ques.GetComponent<Text>().text = newQues;
ansNum = Random.Range(0, ans.Length);
AnsA = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
ansNum = Random.Range(0, ans.Length);
AnsB = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
ansNum = Random.Range(0, ans.Length);
AnsC = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
ansNum = Random.Range(0, ans.Length);
AnsD = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
AnswerA.GetComponent<Text>().text = AnsA;
AnswerB.GetComponent<Text>().text = AnsB;
AnswerC.GetComponent<Text>().text = AnsC;
AnswerD.GetComponent<Text>().text = AnsD;
}
It show "NullReferenceException: Object reference not set to an instance of an object" when playing the scene.
There's an error occur in line ansNum = Random.Range(0, ans.Length);
How to replace these code?
ansNum = Random.Range(0, ans.Length);
AnsA = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
ansNum = Random.Range(0, ans.Length);
AnsB = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
ansNum = Random.Range(0, ans.Length);
AnsC = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();
ansNum = Random.Range(0, ans.Length);
AnsD = ans[ansNum];
ans = ans.Except(new string[] { ans[ansNum] }).ToArray();