タイピングゲーム


出てきた文字をタイピングしていくゲーム


ソースコード

  1. class Application(tk.Frame):
  2.     def __init__(self, master):
  3.         super().__init__(master)
  4.         self.pack()
  5. import tkinter as tk
  6. if __name__ == "__main__":
  7.     root = tk.Tk()
  8.     root.mainloop()
  9. import tkinter as tk
  10. class Application(tk.Frame):
  11.     def __init__(self, master):
  12.         super().__init__(master)
  13.         self.pack()
  14.         master.geometry("300x200")
  15.         master.title("タイピングゲーム!")
  16.         self.create_widgets()
  17. if __name__ == "__main__":
  18.     root = tk.Tk()
  19.     Application(master=root)
  20.     root.mainloop()
  21. import tkinter as tk
  22.         master.geometry("300x200")
  23.         master.title("タイピングゲーム!")
  24.         self.create_widgets()
  25.         # Tkインスタンスに対してキーイベント処理を実装
  26.         self.master.bind("<KeyPress>", self.type_event)
  27.     # ウィジェットの生成と配置
  28.     def create_widgets(self):
  29.         self.q_label = tk.Label(self, text="お題:", font=("",20))
  30.         self.q_label.grid(row=0, column=0)
  31.         self.q_label2 = tk.Label(self, text="tkinter", width=5, anchor="w", font=("",20))
  32.         self.q_label2.grid(row=0, column=1)
  33.         self.ans_label = tk.Label(self, text="解答:", font=("",20))
  34.         self.ans_label.grid(row=1, column=0)
  35.         self.ans_label2 = tk.Label(self, text="", width=5, anchor="w", font=("",20))
  36.         self.ans_label2.grid(row=1, column=1)
  37.         self.result_label = tk.Label(self, text="正否ラベル", font=("",20))
  38.         self.result_label.grid(row=2, column=0, columnspan=2)
  39.     # キー入力時のイベント処理
  40.     def type_event(self, event):
  41.         self.ans_label2["text"] += event.keysym
  42. if __name__ == "__main__":
  43.     root = tk.Tk()
  44.     Application(master=root)
  45.     root.mainloop()
  46. import random
  47. import time
  48. # 単語リスト
  49. word_list = ["りんご","ばなな","いちご","れもん","さくらんぼ","みかん","ぱいなっぷる","いちじく","もも","どらごんふるーつ","ぱぱいや","めろん","ますかっと","ぐあば","ぶるーべりー"]
  50. def random_word():
  51.     return random.choice(word_list)
  52. def main():
  53.     score = 0
  54.     game_duration = 30 # ゲームの持続時間(秒)
  55.     print("ランダムタイピングゲームを開始します!")
  56.     print(f"{game_duration}秒間、できるだけ多くの単語をタイプしましょう。")
  57.     start_time = time.time()
  58.     end_time = start_time + game_duration
  59.     while time.time() < end_time:
  60.         target_word = random_word()
  61.         print(f"タイプしてください: {target_word}")
  62.         user_input = input()
  63.         if user_input == target_word:
  64.             print("正確です!")
  65.             score += 1
  66.         else:
  67.             print("間違いです。")
  68.     print(f"ゲーム終了!スコア: {score} / {game_duration} 秒")
  69. if __name__ == "__main__":
  70.     main()

感想

基礎となるウィンドウは作れたが、問題の文字がうまく反映されず作成できなかった。