Skip to content

Instantly share code, notes, and snippets.

@qingfeng
Forked from imontantes/SlotMachine
Created December 27, 2017 05:47
Show Gist options
  • Save qingfeng/53fe7ab19255d24b8c777223a50becb1 to your computer and use it in GitHub Desktop.
Save qingfeng/53fe7ab19255d24b8c777223a50becb1 to your computer and use it in GitHub Desktop.
Slot Machine in Python
import random
print('''Welcome to the Slot Machine Simulator
You'll start with $50. You'll be asked if you want to play.
Answer with yes/no. you can also use y/n
No case sensitivity in your answer.
For example you can answer with YEs, yEs, Y, nO, N.
To win you must get one of the following combinations:
BAR\tBAR\tBAR\t\tpays\t$250
BELL\tBELL\tBELL/BAR\tpays\t$20
PLUM\tPLUM\tPLUM/BAR\tpays\t$14
ORANGE\tORANGE\tORANGE/BAR\tpays\t$10
CHERRY\tCHERRY\tCHERRY\t\tpays\t$7
CHERRY\tCHERRY\t -\t\tpays\t$5
CHERRY\t -\t -\t\tpays\t$2
''')
#Constants:
INIT_STAKE = 50
ITEMS = ["CHERRY", "LEMON", "ORANGE", "PLUM", "BELL", "BAR"]
firstWheel = None
secondWheel = None
thirdWheel = None
stake = INIT_STAKE
def play():
global stake, firstWheel, secondWheel, thirdWheel
playQuestion = askPlayer()
while(stake != 0 and playQuestion == True):
firstWheel = spinWheel()
secondWheel = spinWheel()
thirdWheel = spinWheel()
printScore()
playQuestion = askPlayer()
def askPlayer():
'''
Asks the player if he wants to play again.
expecting from the user to answer with yes, y, no or n
No case sensitivity in the answer. yes, YeS, y, y, nO . . . all works
'''
global stake
while(True):
answer = input("You have $" + str(stake) + ". Would you like to play? ")
answer = answer.lower()
if(answer == "yes" or answer == "y"):
return True
elif(answer == "no" or answer == "n"):
print("You ended the game with $" + str(stake) + " in your hand.")
return False
else:
print("wrong input!")
def spinWheel():
'''
returns a random item from the wheel
'''
randomNumber = random.randint(0, 5)
return ITEMS[randomNumber]
def printScore():
'''
prints the current score
'''
global stake, firstWheel, secondWheel, thirdWheel
if((firstWheel == "CHERRY") and (secondWheel != "CHERRY")):
win = 2
elif((firstWheel == "CHERRY") and (secondWheel == "CHERRY") and (thirdWheel != "CHERRY")):
win = 5
elif((firstWheel == "CHERRY") and (secondWheel == "CHERRY") and (thirdWheel == "CHERRY")):
win = 7
elif((firstWheel == "ORANGE") and (secondWheel == "ORANGE") and ((thirdWheel == "ORANGE") or (thirdWheel == "BAR"))):
win = 10
elif((firstWheel == "PLUM") and (secondWheel == "PLUM") and ((thirdWheel == "PLUM") or (thirdWheel == "BAR"))):
win = 14
elif((firstWheel == "BELL") and (secondWheel == "BELL") and ((thirdWheel == "BELL") or (thirdWheel == "BAR"))):
win = 20
elif((firstWheel == "BAR") and (secondWheel == "BAR") and (thirdWheel == "BAR")):
win = 250
else:
win = -1
stake += win
if(win > 0):
print(firstWheel + '\t' + secondWheel + '\t' + thirdWheel + ' -- You win $' + str(win))
else:
print(firstWheel + '\t' + secondWheel + '\t' + thirdWheel + ' -- You lose')
play()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment