太子プログラミングクラブ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()が長すぎる気がしますが……。そのうち改良します。
次回の予定
じゃんけんゲームは今回で終わりです。次回は、サイコロを作ります。