Files
basic-computer-games/66_Number/python/number.py
Chris Reuter d26dbf036a Removed spaces from top-level directory names.
Spaces tend to cause annoyances in a Unix-style shell environment.
This change fixes that.
2021-11-21 18:30:21 -05:00

83 lines
1.7 KiB
Python

"""
NUMBER
A number guessing (gambling) game.
Ported by Dave LeCompte
"""
import random
def print_with_tab(num_spaces, msg):
if num_spaces > 0:
spaces = " " * num_spaces
else:
spaces = ""
print(spaces + msg)
def print_instructions():
print("YOU HAVE 100 POINTS. BY GUESSING NUMBERS FROM 1 TO 5, YOU")
print("CAN GAIN OR LOSE POINTS DEPENDING UPON HOW CLOSE YOU GET TO")
print("A RANDOM NUMBER SELECTED BY THE COMPUTER.")
print()
print("YOU OCCASIONALLY WILL GET A JACKPOT WHICH WILL DOUBLE(!)")
print("YOUR POINT COUNT. YOU WIN WHEN YOU GET 500 POINTS.")
print()
def fnr():
return random.randint(1, 5)
def main():
print_with_tab(33, "NUMBER")
print_with_tab(15, "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY")
print()
print()
print()
print_instructions()
points = 100
while points <= 500:
print("GUESS A NUMBER FROM 1 TO 5")
guess = int(input())
if (guess < 1) or (guess > 5):
continue
r = fnr()
s = fnr()
t = fnr()
u = fnr()
v = fnr()
if guess == r:
# lose 5
points -= 5
elif guess == s:
# gain 5
points += 5
elif guess == t:
# double!
points += points
print("YOU HIT THE JACKPOT!!!")
elif guess == u:
# gain 1
points += 1
elif guess == v:
# lose half
points = points - (points * 0.5)
print(f"YOU HAVE {points} POINTS.")
print()
print(f"!!!!YOU WIN!!!! WITH {points} POINTS.")
if __name__ == "__main__":
main()