در این بازی دو نفره، n جعبه کبریت وجود دارد.
در هر نوبت، بازیکن میتواند ۱ تا k جعبه بردارد.
بازیکنی که آخرین جعبه را بردارد، بازنده است.
برنامه بهصورت نوبتی بین دو بازیکن اجرا میشود و در پایان اعلام میکند چه کسی بازنده شده است.
def matchbox_game(n: int, k: int):
turn = 0 # 0: Player 1, 1: Player 2
while n > 0:
print(f"\nRemaining matchboxes: {n}")
move = int(input(f"Player {turn + 1}, pick 1 to {min(k, n)} matchboxes: "))
if move < 1 or move > min(k, n):
print("Invalid move. Try again.")
continue
n -= move
if n == 0:
print(f"\nPlayer {turn + 1} took the last matchbox and loses!")
break
turn = 1 - turn
# دریافت ورودیها از کاربر
n = int(input("تعداد جعبههای کبریت را وارد کنید: "))
k = int(input("حداکثر تعداد قابل برداشتن در هر نوبت: "))
matchbox_game(n, k)
تعداد جعبههای کبریت: 10
حداکثر تعداد قابل برداشتن: 3
Remaining matchboxes: 10
Player 1, pick 1 to 3 matchboxes: 2
Remaining matchboxes: 8
Player 2, pick 1 to 3 matchboxes: 3
Remaining matchboxes: 5
Player 1, pick 1 to 3 matchboxes: 2
Remaining matchboxes: 3
Player 2, pick 1 to 3 matchboxes: 3
Player 2 took the last matchbox and loses!
- بازی با n جعبه شروع میشود و هر بازیکن نوبتی بازی میکند
- در هر نوبت، بازیکن میتواند ۱ تا k جعبه بردارد
- اگر بازیکنی آخرین جعبه را بردارد، بازنده اعلام میشود