بازی حذف اعداد

در این بازی، بازیکنان به نوبت عددی را انتخاب می‌کنند و تمام اعدادی که بر آن بخش‌پذیر هستند حذف می‌شوند. هر بازیکن به ازای تعداد اعداد حذف شده امتیاز می‌گیرد.

def remove_divisibles(num, available_numbers):
    \"\"\"Remove numbers that the chosen number is divisible by and return the count of removed numbers.\"\"\"
    removed = 0
    for n in available_numbers.copy():
        if num % n == 0:
            available_numbers.remove(n)
            removed += 1
    return removed

def print_available_numbers(available_numbers):
    \"\"\"Prints the current available numbers in a grid format\"\"\"
    print("Current available numbers:")
    for i in range(1, 51):
        if i in available_numbers:
            print(f"{i:2}", end=" ")
        else:
            print("--", end=" ")
        if i % 10 == 0:
            print()
    print()

def play_game():
    available_numbers = set(range(1, 51))
    scores = [0, 0]
    turn = 0

    print("Welcome to the Modified Math Game!")
    print("Players take turns selecting a number, and all numbers that the chosen number is divisible by are removed.")
    print("Each player scores points based on how many numbers they remove.")
    print()


    while available_numbers:
        print_available_numbers(available_numbers)
        print(f"Player {turn + 1}'s turn.")
        chosen_num = int(input("Choose a number from the available numbers: "))

        if chosen_num not in available_numbers:
            print(f"Number {chosen_num} is not available. Please choose another number.")
            continue

        removed_count = remove_divisibles(chosen_num, available_numbers)
        scores[turn] += removed_count

        print(f"Player {turn + 1} removed {removed_count} numbers and now has {scores[turn]} points.")
        print()

        turn = 1 - turn

    print("Game over!")
    print(f"Final scores:\nPlayer 1: {scores[0]} points\nPlayer 2: {scores[1]} points")
    if scores[0] > scores[1]:
        print("Player 1 wins!")
    elif scores[1] > scores[0]:
        print("Player 2 wins!")
    else:
        print("It's a tie!")

play_game()
بازگشت به صفحه اصلی