
Photo by
bluewaters
[Python]ちょっと楽しい石取りゲーム
1.石取りゲーム
石とりゲームというものを作ります。ルールはn個ある石からプレイヤーとPCが交互に決められた範囲内の個数で石を取っていき最後に残った1個を取った方が負けるゲームです。今回は20個ある石から1~3個の範囲で石を取っていきます。
2.コード
t
otal_stone = 20
get_min_stone = 1
get_max_stone = 3
while True:
user_get_stone = int(input("石をいくつとりますか?(min:1/max:3):"))
#入力制限処理
if user_get_stone < get_min_stone:
user_get_stone = get_min_stone
elif user_get_stone > get_max_stone:
user_get_stone = get_max_stone
total_stone -= user_get_stone
if total_stone < 0:
total_stone = 0
print(f"あなたは{user_get_stone}個とりました。残石数:{total_stone}")
if total_stone == 0:
print("GAME OVER..負けちゃいましたね")
break
cp_get_stone = (total_stone - 1) % (get_min_stone + get_max_stone)
if cp_get_stone < get_min_stone:
cp_get_stone = get_min_stone
elif cp_get_stone > get_max_stone:
cp_get_stone = get_max_stone
total_stone -= cp_get_stone
if total_stone < 0:
total_stone = 0
print(f"CPは{cp_get_stone}個とりました。残石数:{total_stone}")
if total_stone == 0:
print("YOU WIN!! 勝利!圧倒的勝利!")
break
3.実行結果
石をいくつとりますか?(min:1/max:3):3
あなたは3個とりました。残石数:17
CPは1個とりました。残石数:16
石をいくつとりますか?(min:1/max:3):1
あなたは1個とりました。残石数:15
CPは2個とりました。残石数:13
石をいくつとりますか?(min:1/max:3):2
あなたは2個とりました。残石数:11
CPは2個とりました。残石数:9
石をいくつとりますか?(min:1/max:3):2
あなたは2個とりました。残石数:7
CPは2個とりました。残石数:5
石をいくつとりますか?(min:1/max:3):2
あなたは2個とりました。残石数:3
CPは2個とりました。残石数:1
石をいくつとりますか?(min:1/max:3):1
あなたは1個とりました。残石数:0
GAME OVER..負けちゃいましたね