3

簡単な数学ゲームにタイマーを追加しようとしています。これまでのところ、すべてがうまく機能しており、ボタンを押すとユーザーに質問が表示され、回答に対するフィードバックが提供されます。ユーザーが乗算に答えるのにかかる時間を確認するためのタイマーを追加したいと考えています。これは、この数学ゲームのプロトタイプの最後の部分です。ユーザーがスウェーデン語で新しい番号を意味する「nytt tal」をクリックするとタイマーが開始し、ユーザーがスウェーデン語で回答を意味する「svar」をクリックするとタイマーが停止するようにします。これが私のコードです。

Tkinterインポートから *
インポート tkMessageBox
インポートランダム
輸入時間
システムをインポート

# ユーザーへの質問の定義
デフfraga1():
    グローバル num3
    num3 = ランダム.randint(1, 10)
    グローバル num4
    num4 = ランダム.randint(1, 10)
    グローバル svar1
    svar1 = num3 * num4
    label1.config(text='Vad blir' + str(num3) + '*' + str(num4) + '?')
    entry1.focus_set()


#回答に基づいてフィードバックを提供する回答
デフ svar1():
   mainAnswer = entry1.get()
   len(mainAnswer) == 0 の場合:
      tkMessageBox.showwarning(message='Skriv in några nummer!')
   戻る
   int(mainAnswer) != svar1 の場合:
      tkMessageBox.showwarning(message='Tyvärr det rätta svaret: ' + str(svar1))
   そうしないと:
      tkMessageBox.showinfo(message='RÄTT!! :)')

#終了ボタンの定義
デフ終了():
   グローバルルート
   root.destroy()

#この部分が動かないタイマーの定義
デフォルト開始():
   グローバル count_flag
   フラガ1()
   count_flag = True
   カウント = 0.0
   True の間:
      count_flag == False の場合:
          壊す
   ラベル['テキスト'] = str(カウント)
   時間.スリープ(0.1)
   root.update()
   カウント += 0.1


#ウィンドウコード
ルート = Tk()
root.title("乗算 tidtagning")
root.geometry('800x500')

count_flag = True

# ラベルのウェルカム メッセージ
label2 = Label(root, text="Hej!\n Nu ska vi lösa lite マットの問題!")
label2.config(font=('times', 18, 'bold'), fg='black', bg='white')
label2.grid(行=0、列=0)

#ラベルでの遊び方の説明

label3 = Label(root, text="Instruktioner!\n For att starta ett spel tryck på nyttspel")
label3.config(font=('times', 12, 'bold'), fg='black', bg='white')
label3.grid(行=2、列=2)

#その他のレーベル
label1 = ラベル (ルート)
label1.grid(行=2、列=0)


# スタートボタンのエントリーウィジェット
entry1 = エントリ (ルート)
entry1.grid(行=3、列=0)

# 再起動すると新しい質問が表示されます
entry1.bind('', func=lambda e:checkAnswer())

#ボタン

fragaBtn = Button(root, text='Nytt tal', command=fraga1)
fragaBtn.grid(行=4、列=0)

svarButton = Button(root, text='Svar', command=svar1)
svarButton.grid(行=4、列=1)


quit_bttn = Button(root, text = "Avsluta", command=quit)
quit_bttn.grid(行=5、列=0)



root.mainloop()
4

5 に答える 5

0

人がスタートを押したときの現在の時刻を格納するグローバル変数を使用します。次に、ユーザーが関数 svar で svar を押すと、現在の時刻を取得し、それらを互いに減算して、所要時間を取得し、グローバル変数も 0 にリセットすると、ほら、所要時間が得られます

于 2016-09-05T20:46:33.807 に答える