Unityでの4択クイズゲームの問題の順番について
解決したいこと
Unityで4択のクイズゲームを作成しています。
その際に、問題をcsvファイルから読みだしているのですが、
一度目にUnityを起動して解くときは問題ないのですが、
Unityを止めずに二度目を解くときに、csvファイルの一番最後の問題が二度出題され、
csvファイルの一番最初の問題が出題されなくなってしまいます。
解決方法を教えていただきたいです。
発生している問題
csvファイルを一行ずつ、読みだすことには成功したのですが問題の順番がおかしくなってしまいます。
また一部の問題が表示されません
該当するソースコード
C#言語です。
TextAsset csvFile;
[SerializeField] private static List<string[]> csvDatas = new List<string[]>();
[SerializeField] private static List<int> qnumber = new List<int>();
[SerializeField] private static List<int> qused = new List<int>();
[SerializeField] private int csvrow=0,k=0;
[SerializeField] private static int qransu=0,qcount=0,ans=0;
[SerializeField] private static string answer;
void Start()
{
//csvファイルを一行ずつ読み出し、csvDatasというListに格納していく
csvFile = Resources.Load("F1Quiz") as TextAsset;
StringReader reader = new StringReader(csvFile.text);
while(reader.Peek() != -1)
{
string line = reader.ReadLine();
csvDatas.Add(line.Split(','));
csvrow++;
}
qransu=0;
---
クイズの問題を出す関数
---
}
//正誤判定の関数
public void Next()
{
qransu++;
//すべての問題を解いていたらif文に従って終わる。
if(qransu == csvrow)
{
GameScene.transform.position = new Vector2(-40,0);
TMP_Text Ans= GameObject.Find("Canvas/PanelParent/PanelFinish/Ans").GetComponentInChildren<TMP_Text>();
Ans.text= ans+"問正解!!";
ans=0;
qcount=0;
}
else
{
---
クイズの問題を出す関数
---
GameScene.transform.position = new Vector2(0,0);
}
自分で試したこと
最初は、出題の順番を変えようと思ってListなどを使ってシャッフルしようとしましたが、
できなかったためこのコードにしましたが、それでもうまくいきません。
0