太子プログラミングクラブ2-2~じゃんけんゲームを改良する~

2025年1月31日は、太子プログラミングクラブ「初級コース第2期」の2回目を実施しました。

2回目は、1回目で写経したじゃんけんゲームのプログラムを改良します!

タイピング練習

今回はWiFi環境を整えたので、いつものとおりタイピング練習から始めます。

タイピング練習で使うツールは、第1期と同じです。

  • 無料タイピング 
    https://manabi.benesse.ne.jp/gakushu/typing/
  • 寿司打
    https://sushida.net

そして、記録をつけていきます。記録を見れば、メンバーもわたしも上達が一目瞭然です。

第2期から参加のメンバーには、タッチタイピングの方法を個別にレクチャーしました。一番伸びしろがあります。半年後の上達を大いに期待しております。

じゃんけんゲームを改良する

今回のお題は、1回目で写経したじゃんけんゲームを改良することです。具体的には、以下の機能を実装します。

  • 終了を指示するまで、ずっとじゃんけんゲームが続く
  • プレーヤーのじゃんけんの手とは別に、終了を指示する

この2つを、まずは自分たちで考えながら改良していきます。

もちろんヒントは示しています。でも、答えは出し惜しみます。みんなで考えてもいいし、だれかが試して失敗したコードを改良してもかまいません。Webで調べてもいいし、教材を調べてもいいのです。

これが学校のテストだとやってはいけないことかもしれません。相談やカンニングはご法度です。

しかし、太子プログラミングクラブは学校ではありません。人の良いところは徹底的にパクりましょう。

内容は難しかったかもしれない

結局ゲームがずっと続く改良はできたメンバーが数人、終了の指示ができたメンバーはいませんでした。

でも、いまはそれでいいのです。今は、考え方や探し方を学べばそれが血肉になります。

自分で調べるときと、生成AIに聞くときの差を感じてもらうのもありかもしれません。これはそのうち企画します。

ちなみにわたしが書いた回答例はこちら。

import random

def play_game():
    choices = ["グー", "チョキ", "パー", "終了"]
    computer_choice = random.choice(choices)

    print("じゃんけんゲームを始めます!")
    print("1: グー")
    print("2: チョキ")
    print("3: パー")
    print("4: 終了")

    user_choice = int(input("選択肢の番号を入力してください: ")) - 1
    user_choice = choices[user_choice]

    print(f"あなたの選択: {user_choice}")
    print(f"コンピューターの選択: {computer_choice}")

    if user_choice == "終了":
        print("ありがとうございました")
        exit()
    elif user_choice == computer_choice:
        print("引き分けです!")
    elif (
        (user_choice == "グー" and computer_choice == "チョキ") or
        (user_choice == "チョキ" and computer_choice == "パー") or
        (user_choice == "パー" and computer_choice == "グー")
    ):
        print("あなたの勝ちです!")
    else:
        print("コンピューターの勝ちです!")

if __name__=="__main__":
    while True:
        play_game()
   

play_game()が長すぎる気がしますが……。そのうち改良します。

次回の予定

じゃんけんゲームは今回で終わりです。次回は、サイコロを作ります。