Skip to content

Instantly share code, notes, and snippets.

@zemmyang
Created December 16, 2020 19:26
Show Gist options
  • Select an option

  • Save zemmyang/8da1b85acd64f483d1c82a4725e004c0 to your computer and use it in GitHub Desktop.

Select an option

Save zemmyang/8da1b85acd64f483d1c82a4725e004c0 to your computer and use it in GitHub Desktop.
Simple Betting Game in Python
import random
def intro_banner():
s = "Welcome to the Game!"
print(s)
def game_over():
s = "Game Over. Bye!"
print(s)
def main():
intro_banner()
playername = input('Player Name >> ')
money = 50
print("Welcome to the game, " + playername + ". Your starting amount is " + str(money) + ' Gold.')
keepplaying = True
while keepplaying:
bet = input("Place your bet >> ")
isbetnotvalid = int(bet) > money or int(bet) < -1
while isbetnotvalid:
print("Please enter a valid bet.")
bet = input("Place fix your bet >> ")
isbetnotvalid = int(bet) > money or int(bet) < -1
bet = int(bet)
player_card = random.randint(1, 12)
cpu_card = random.randint(1, 12)
print("Your card is " + str(player_card) + ". CPU card is " + str(cpu_card) + ".")
if player_card == cpu_card:
print("It's a DRAW! CPU wins because that's how it is.")
money = money - bet
elif player_card > cpu_card:
print("You win " + str(bet) + " Gold!")
money = money + bet
else:
print("CPU wins! You lose " + str(bet) + " Gold!")
money = money - bet
if money < 0:
print("You're out of money!")
game_over()
keepplaying = False
else:
print("Your money is now " + str(money) + " Gold.")
ask = input("Do you want to keep playing? [y/N] >> ")
if ask == 'y' or ask == 'Y':
keepplaying = True
else:
print("You're leaving with " + str(money) + " Gold. Bye.")
game_over()
keepplaying = False
main()
@Joahi93
Copy link

Joahi93 commented Mar 10, 2026

nice little project, but the bet validation will crash if someone types letters, so wrapping int(bet) in a try/except would help a lot. also the draw rule feels unfair since you always lose; maybe treat it as no change or a smaller penalty. i’ve seen threads get derailed with gambling-site spam and even ran into https://lightningstormgame.org/ in a similar repo’s comments, which was annoying. same vibe when someone dropped https://livedragontiger.org/ and https://powerup-roulette.com/ instead of discussing the code. if you refactor into functions for input, dealing cards, and payout, it’ll be easier to test and extend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment