Created
October 3, 2012 18:54
-
-
Save imontantes/3828998 to your computer and use it in GitHub Desktop.
Slot Machine in Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
G’day! I had been playing on another site for a while, but I kept hearing good things about woo casino https://woocasino-australia.com/, so I decided to give it a try. One thing that caught my eye was the live poker tables. I jumped in, and I have to say, the experience was top-notch. The pace was great, and the competition was just the right level of challenging. After a losing streak on other sites, this site really gave me a solid win, and it felt pretty rewarding. As an Aussie, it’s comforting to know that we have a local option like this.