Pygame 6-4 のトリビア ゲームの分析

3.3.3 質問オプションの表示

質問の選択肢を表示する場合、ユーザーが回答を選択していない場合、ユーザーの回答が正しい場合、ユーザーの回答が間違っている場合の 3 つの状況があります。

(1) ユーザーが回答を選択していない場合

このとき、図4①のように4つの選択肢が白色で表示されます。

図 4 質問のオプション

対応するコードは以下の通りです。

print_text(font1, 5, 170, "ANSWERS")
print_text(font2, 20, 210, "1 - " + self.data[self.current+1], self.colors[0])
print_text(font2, 20, 240, "2 - " + self.data[self.current+2], self.colors[1])
print_text(font2, 20, 270, "3 - " + self.data[self.current+3], self.colors[2])
print_text(font2, 20, 300, "4 - " + self.data[self.current+4], self.colors[3])

このうちself.currentは質問内容に相当する行数で、この行以降の1~4行目に質問の4つの選択肢が記述されています。

(2) ユーザーの回答が正しい場合

ユーザーの答えが正しい場合、図 5①および図 5②に示すように、オプションが緑色のフォントで表示され、緑色のフォントのプロンプトが表示されます。

図 5 答えが正しい場合

この関数は次のコードによって実装されます。

if self.scored:
    self.colors = [white,white,white,white]
    self.colors[self.correct-1] = green
    print_text(font1, 230, 380, "CORRECT!", green)
    print_text(font2, 170, 420, "Press Enter For Next Question", green)

このうち、得点がTrueの場合は正解を意味し、このとき色の自己正解の項目の色が緑色に変更されます。変数正しい値は、次のコードを通じて取得されます。

self.correct = int(self.data[self.current+5])

このうち、current はデータ内の現在の質問内容の行数を表し、次の 4 行が質問の選択肢、次の 5 行が正解です (図 6 を参照)。

図6 質問形式

(3) 利用者の回答が間違っていた場合

ユーザーの答えが正しい場合、図 7①と図 7②に示すように、正しい選択肢は緑色のフォントで表示され、ユーザーが選択した間違った選択肢は赤色のフォントで表示され、赤色のフォントでプロンプトが表示されます。

図7 答えが間違っている場合

この関数は次のコードによって実装されます。

elif self.failed:
    self.colors = [white,white,white,white]
    self.colors[self.wronganswer-1] = red
    self.colors[self.correct-1] = green
    print_text(font1, 220, 380, "INCORRECT!", red)
    print_text(font2, 170, 420, "Press Enter For Next Question", red)

failed が True の場合、答えが間違っていることを意味し、間違った答えは間違った答えを意味し、正しい場合は正しい答えを意味します。

おすすめ

転載: blog.csdn.net/hou09tian/article/details/132640736