In: Computer Science
Python-“Ship Dice” Ship Dice: Ship Dice is a game that you will be creating. The rules of the game are fairly simple. The game is normally played with 2-6 people, but our version will only be one player who is playing. The rules are simple, player rolls 3 dice randomly (Red, Green, and Blue), and the player has couple of options to choose from to win: 1- 3 chances to roll the dice randomly and get all dices 6 2- 3 chances to roll the dice randomly and get at least one dice equal 5 3- 3 chances to roll the dice randomly and get Red dice to be 6, Green dice to be 5, Blue dice to be 4 Dices will be selected randomly (random number between 1 – 6, as dice has six faces). If the program reaches any of the above options in less than 3 chances then the program will announce that the player won, otherwise player lost. Program Requirements: Ask the player to choose an option. In case user chooses option 1 : o 3 dices will be randomly rolled (Red, Green, and Blue). o After each roll, output the values of the dices and announce either “Player won” or “No matching”. (rule 1: all dice equal 6) o Player has 3 chances. In case user chooses option 2 : o 3 dices will be randomly rolled (Red, Green, and Blue). o After each roll, output the values of the dices and announce either “Player won” or “No matching”. (rule 2: at least one dice equal 5) o Player has 3 chances. In case user chooses option 3 : o 3 dices will be randomly rolled (Red, Green, and Blue). o After each roll, output the values of the dices and announce either “Player won” or “No matching”. (rule 3: Red dice to be 6, Green dice to be 5, Blue dice to be 4) o Player has 3 chances. We have 3 options in the menu, so need to validate player input, make sure player not entering invalid number. Once player knows if he/she won or not, you will need to ask the player if he/she wants to play again o If Yes/yes, then display the menu again and ask player to choose from the options and play the game. o If No/no, then display a message to the player and exit “Good Game!” Output sample: Welcome to Ship Dice You have 3 chances to win! Here are game rules: 1- 3 chances for all dices are 6 2- 3 chances for at least one dice equal 5 3- 3 chances for Red dice is 6, Green dice is 5, Blue dice is 4 Enter your choice 5 Invalid input, please choose an option from the above menu Enter your choice 4 Invalid input, please choose an option from the above menu Enter your choice 1 Trial: 1 red 6 green 3 blue 1 No matching! Trial: 2 red 3 green 5 blue
Python Code:
import random #importing random
#displaying the intro
print('Welcome to Ship Dice')
print('You have 3 chances to win!')
print('Here are game rules:')
print('1- 3 chances for all dices are 6')
print('2- 3 chances for at least one dice equal 5')
print('3- 3 chances for Red dice is 6, Green dice is 5, Blue dice
is 4')
while True: #loop until user enters a proper value
choice = input('Enter your choice ') #getting the choice
if choice == '1': #checking for a choice using if else
for i in range(1,4): #looping for three trials
print(f'Trial: {i}')
die1 = random.randint(1,6) #getting three random number between 1
and 6
die2 = random.randint(1,6)
die3 = random.randint(1,6)
print(f'Red {die1} Green {die2} Blue {die3}')
if die1 == 6 and die2 == 6 and die3 == 6: #checking if all are
6
print("Player won!")
break
else:
print('No matching!')
break
elif choice == '2':
for i in range(1,4):
print(f'Trial: {i}')
die1 = random.randint(1,6)
die2 = random.randint(1,6)
die3 = random.randint(1,6)
print(f'Red {die1} Green {die2} Blue {die3}')
if die1 == 5 or die2 == 5 or die3 == 5: #checking if atleast one is
5
print("Player won!")
break
else:
print('No matching!')
break
elif choice == '3':
for i in range(1,4):
print(f'Trial: {i}')
die1 = random.randint(1,6)
die2 = random.randint(1,6)
die3 = random.randint(1,6)
print(f'Red {die1} Green {die2} Blue {die3}')
if die1 == 6 and die2 == 5 and die3 == 4: #checkng if Red dice is
6, Green dice is 5, Blue dice is 4
print("Player won!")
break
else:
print('No matching!')
break
else:
print('Invalid input, please choose an option from the above menu')
#if invalid invalid looping again
Sample Output: