Untitled

 avatar
unknown
plain_text
2 years ago
2.1 kB
5
Indexable
import random

def play_game():
    num_dice = int(input("How many dice do you want to play with? "))
    num_faces = int(input("How many faces do your dice have? "))
    players = []
    num_players = int(input("How many players are playing? "))
    for i in range(num_players):
        name = input(f"Enter the name of player {i+1}: ")
        players.append({"name": name, "dice": num_dice})
    current_player = random.randint(0, num_players-1)
    last_bid = (0, 0)
    while True:
        print(f"{players[current_player]['name']}'s turn:")
        bid = input(f"Enter your bid (quantity face), or type 'challenge': ")
        if bid.lower() == 'challenge':
            total = 0
            for player in players:
                for die in range(player['dice']):
                    face = random.randint(1, num_faces)
                    if face == last_bid[1]:
                        total += 1
            if total >= last_bid[0]:
                print(f"{players[current_player]['name']} wins!")
                break
            else:
                players[current_player]['dice'] -= 1
                if players[current_player]['dice'] == 0:
                    print(f"{players[current_player]['name']} is out of the game!")
                    players.remove(players[current_player])
                    num_players -= 1
                    if num_players == 1:
                        print(f"{players[0]['name']} wins!")
                        break
                print(f"{players[current_player]['name']} loses a die!")
                current_player = (current_player + 1) % num_players
                last_bid = (0, 0)
        else:
            try:
                quantity, face = map(int, bid.split())
                if (quantity > last_bid[0]) or (quantity == last_bid[0] and face > last_bid[1]):
                    last_bid = (quantity, face)
                    current_player = (current_player + 1) % num_players
                else:
                    print("Your bid must be higher than the last bid!")
            except:
                print("Invalid input!")

play_game()
Editor is loading...