import random import time one = " \n * \n " two = " * \n\n *" three = " * \n * \n *" four = " * *\n\n * *" five = " * *\n *\n * *" six = " * *\n * *\n * *" dice_dict = {one: 1, two: 2, three: 3 , four: 4, five: 5, six: 6} running = True rolling = True throws = 0 responses = ('y', 'n') # Function to roll the dice when called def roll_dice(): roll = input("Roll dice? (y/n) ") while roll not in responses: print("INVALID RESPONSE. Please try again.") roll = input("Roll dice? (y/n) n") continue if roll == 'y': first_roll = random.choice(tuple(dice_dict.keys())) first_roll_int = dice_dict.get(first_roll) second_roll = random.choice(tuple(dice_dict.keys())) second_roll_int = dice_dict.get(second_roll) elif roll == 'n': print("Thanks for playing.") time.sleep(3) exit() return first_roll, second_roll, first_roll_int, second_roll_int print("------------------------------------------------") print(" Python Dice Game ") print("------------------------------------------------") # Initial dice roll first_die = random.choice(tuple(dice_dict.keys())) first_die_int = dice_dict.get(first_die) second_die = random.choice(tuple(dice_dict.keys())) second_die_int = dice_dict.get(second_die) # Display dice print(first_die) time.sleep(1) print() print(second_die) # Check for wins and losses # If 7 or 11, you win. if first_die_int + second_die_int == 7: print("\nYou win!") elif first_die_int + second_die_int == 11: print("\nYou win!") # If any of these, you lose. elif first_die_int + second_die_int == 12: print("\nBOX CARS! You lose!") elif first_die_int + second_die_int == 3: print("\nLITTLE FEEBEE! You lose!") elif first_die_int + second_die_int == 2: print("SNAKE EYES! You lose!") # Otherwise, keep rolling the dice to match the first dice roll total else: while rolling: # Roll the dice first_roll, second_roll, first_roll_int, second_roll_int = roll_dice() print(first_roll) time.sleep(1) print() print(second_roll) # Check if dice total matches the first dice roll total if not (first_roll_int + second_roll_int) == (first_die_int + second_die_int): # Roll a 7 and you lose if first_roll_int + second_roll_int == 7: print("You lose!") break # Roll an 11 and you lose elif first_roll_int + second_roll_int == 11: print("You lose!") break else: # Roll something other than 7 or 11, roll again throws += 1 continue else: # If dice total matches first dice total, you win. print("You win!") # Stop rolling rolling = False print("Game over! Thanks for playing") print() print("------------------------------------------------") print(" Game Stats ") print("------------------------------------------------") print(f"Number of tries to match: {throws}") print("------------------------------------------------")