ゲーム作成

ゲームについて

私たちはみんなと被らない少しマイナーな遊びをゲームにしようと考えた。
このゲームはコンピュータと対戦するゲームで1~5の数字を先に全て出した方が勝ちというゲームだ。
しかし必ず相手より大きい数字を出さなければならない。また、5の場合次も同じ人の番である。

プレイ映像

YouTube

  1. import random
  2. import copy
  3. print("こんにちは")
  4. print("これは、1対1で行うゲームです。まず先攻後攻を決めます。先攻から1から5の数字を選んでいき、先にすべて言い終わったほうの勝ちです。")
  5. print("しかし、数字を選ぶ際、必ず相手より大きな数字を選ばなければなりません。自分の数字に相手より大きな数字がない場合パスになります。")
  6. print("パスの場合は0を入力してください")
  7. mochite_com=[1,2,3,4,5]
  8. mochite_pla=[1,2,3,4,5]
  9. te_com=0
  10. te_player=0
  11. for i in range(1,20):
  12.     print(i,"ターン")
  13.     # print("c",mochite_com)
  14.     print("p",mochite_pla)
  15.     if te_com!=5:
  16.         te_player = int(input("数字を入れてください"))
  17.         if 0<te_player <= 4:
  18.             mochite_pla.remove(te_player)
  19.             #プレイヤーの手が4以下だったらコンピュータにその数字以上の手を出してほしい
  20.             #コンピュータの持ち手から出す候補を作成(プレイヤーの出してより大きい)
  21.             dasu_koho = copy.copy(mochite_com)
  22.             #出す候補のなかでプレイヤーの手より小さいものを削除
  23.             for c in range(1, te_player+1):
  24.                 try:
  25.                     dasu_koho.remove(c)
  26.                 except:
  27.                     pass
  28.             #出す手の候補からランダムにコンピュータの手を選ぶ
  29.             try:
  30.                 te_com = random.choice(dasu_koho)
  31.                 print("COM", te_com)
  32.                 #コンピュータが出した手をコンピュータの持ち手から削除
  33.                 mochite_com.remove(te_com)
  34.             except:
  35.                 print("COMパス")
  36.                 pass
  37.         elif te_player==0:
  38.             print("Playerパス")
  39.             # コンピュータの手
  40.             dasu_koho = copy.copy(mochite_com)
  41.             # 出す手の候補からランダムにコンピュータの手を選ぶ
  42.             te_com = random.choice(dasu_koho)
  43.             print("COM", te_com)
  44.             # コンピュータが出した手をコンピュータの持ち手から削除
  45.             mochite_com.remove(te_com)
  46.         else:
  47.             mochite_pla.remove(te_player)
  48.             #プレイヤーの手が5だったらパスしたい
  49.             print("COMパス")
  50.     else:
  51.         print("Playerパス")
  52.         #コンピュータの手
  53.         dasu_koho = copy.copy(mochite_com)
  54.         # 出す手の候補からランダムにコンピュータの手を選ぶ
  55.         te_com = random.choice(dasu_koho)
  56.         print("COM", te_com)
  57.         # コンピュータが出した手をコンピュータの持ち手から削除
  58.         mochite_com.remove(te_com)
  59.     if len(mochite_pla)==0:
  60.         print("Playerの勝ち")
  61.         exit()
  62.     elif len(mochite_com) == 0:
  63.         print("COMの勝ち")
  64.         exit()

ゲーム作成を通して

メモ

UI:ユーザーインターフェイス フロントエンド(ユーザー側)ビジュアル重視 バックエンド(サーバー側) 記憶していく領域が必要 条件分岐(コンピュータに判断させる) くりかえし
前のページへ