Прямо сейчас я создаю игру-викторину.вопрос, изображение для вопроса и ответ хранятся в текстовом файле.поэтому основная программа отображает только вопрос и изображения, направленные из этого текстового файла.и когда игрок вводит ответ, нажимая кнопку «Истина» или «Ложь», программа проверит его с ответом на этот вопрос в текстовом файле.
текстовый файл выглядит примерно так:
question 1, TRUE, image1
question 2, FALSE, image2
question 3, FALSE, image3
question 4, TRUE, image4
question 5, TRUE, image5
question 6, TRUE, image6
question 7, FALSE, image7
question 8, TRUE, image8
question 9, FALSE, image9
question 10, FALSE, image10
и вот как я читаю данные из текстового файла:
StreamReader sr = new StreamReader("data.txt");
string line;
while ((line = sr.ReadLine()) != null)
{
string[] parts = line.Split(',');
Soal datasoalnya = new Soal();
datasoalnya.soal = parts[0];
if (parts[1] == "TRUE")
{
datasoalnya.jawaban = true;
}
else if (parts[1] == "FALSE")
{
datasoalnya.jawaban = false;
}
datasoalnya.tempatImage = parts[2];
soalList.Add(datasoalnya);
}
и вот как я проверяю ответ:
if ((mouseState.LeftButton == ButtonState.Pressed && prevMouseState.LeftButton == ButtonState.Released) &&
(new Rectangle(mouseState.X, mouseState.Y, 1, 1).Intersects(correctRectangle)))
{
((Game1)Game).SoundBank.PlayCue("1_btn_click02");
if (datasoalnya.jawaban = true)
{
score += 100;
noSoal++;
if (noSoal == 11)
{
mouseDiBenar = true;
noSoal = 1;
score = 0;
}
}
else if (datasoalnya.jawaban = false)
{
noSoal++;
if (noSoal == 11)
{
mouseDiBenar = true;
noSoal = 1;
}
}
}
else if ((mouseState.LeftButton == ButtonState.Pressed && prevMouseState.LeftButton == ButtonState.Released) &&
(new Rectangle(mouseState.X, mouseState.Y, 1, 1).Intersects(falseRectangle)))
{
((Game1)Game).SoundBank.PlayCue("1_btn_click02");
if (datasoalnya.jawaban = true)
{
noSoal++;
if (noSoal == 11)
{
mouseDiBenar = true;
noSoal = 1;
score = 0;
}
}
else if (datasoalnya.jawaban = false)
{
score += 100;
noSoal++;
if (noSoal == 11)
{
mouseDiBenar = true;
noSoal = 1;
}
}
}
проблема в том, что когда игрок вводит ответпрограмма не проверила состояние этого входа, независимо от того, истинно оно или нет.как всякий раз, когда игрок нажимает правильную кнопку, счет всегда умножается на 100, если в текстовом файле это правда или ложь.
как я могу сделать так, чтобы программа могла проверить ответ ...?