-
-
Save imontantes/3828998 to your computer and use it in GitHub Desktop.
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() |
I run it on python 2 ,it's need to modify the 43 line (input -> raw_input)
what happens when player wants to play with more than 50
again does the balance go bellow 50 and if yes what happens
than you soo much . I am little editing codes
I am adde SLOT SLOT SLOT = 10000$
You can make an improved version of the code with improved readability, reusability, and structure.
def spin_wheel(): return random.choice(ITEMS)
- I think this is the best way to use In general, it's an interesting project. There are few of them now. I think (from what I can see) that this will be a pretty successful project for you. I knew one of them here https://qbets.de/, and I can say for sure that slot machines are very popular now. The project listed above was developed by a good friend of mine, and he says that it is now popular among young people. By the way, it seems to me that the design is very well done, and maybe you will want to do something similar for your project?
Instead of;
if(answer == "yes" or answer == "y"):
Do;
if answer.lower() in ['yes',y']