クソゲー課題

数当てゲーム

プレイ動画

解説

最初に最小値と最大値を定めて、その中から数を当てるというゲームです。

コマンド説明

def 関数の定義 
例 def 関数名(引数1, 引数2, 引数3,・・・):
処理内容1
処理内容2
・・・・
return 戻り値

while True 無限ループ

        
            
  1. import random
  2.  
  3. a = random.randint(1, 100)
  4. print(a)
  5. if a>=50:
  6.     print(player1,"さん、先行です")
  7. else:
  8.     print(player1,"さん、後攻です")
  9. def user_num():
  10.     num = int(input('数字を入力してください:\n'))
  11.     return num
  12. def max_num():
  13.     max_num = int(input('最高数値を入力してください:\n'))
  14.     return max_num
  15. def min_num():
  16.     min_num = int(input('最低数値を入力してください:\n'))
  17.     return min_num
  18.         
  19. min_num,max_num = min_num(),max_num()
  20.  
  21. while True:
  22.     res = random.randint(min_num,max_num)
  23.     if res!=min_num and res!=max_num:
  24.         break
  25. f = [min_num,max_num]
  26. def comp(a,b):
  27.     if a>b:
  28.         f[1] = a
  29.     else:
  30.         f[0] = a
  31.     print('続く、範囲は{}から{}まで,もう1回'.format(f[0],f[1]))
  32.  
  33. flag = 0
  34. while True:
  35.     num = user_num()
  36.     if num not in range(f[0],f[1]):
  37.         print('範囲外')
  38.         continue
  39.     elif num!=res:
  40.         comp(num,res)
  41.     elif num==res:
  42.         print("boom!")
  43.         break
  44.     flag += 1
  45. print("残念です、%d回目で爆発した"%flag)

補足

これは中国のサイトからゲームの型を持ってきて、それに自分で付け加えたものになります。
二人でプレイする想定なので、先行後攻を決める必要があるため、それができるよう最初に付け加えました。