52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
import random
|
|
import string
|
|
import time
|
|
|
|
from untitled import content, rules, ui
|
|
|
|
|
|
def work(save):
|
|
length = content.WORK_START_LETTERS
|
|
total_earned = 0
|
|
lost = False
|
|
print("Welcome to work!")
|
|
print("The rules:")
|
|
print(
|
|
"Each round, a string of letters will appear, when it says go, type them from memory. If you miss one, you lose, each round gets more money."
|
|
)
|
|
if not ui.confirm("Would you like to start?"):
|
|
return
|
|
for i in range(3, 0, -1):
|
|
print(i)
|
|
time.sleep(1)
|
|
ui.clear()
|
|
print("Start!")
|
|
while not lost:
|
|
seconds = 1 + (length * 0.5)
|
|
letters = random.choices(string.ascii_lowercase, k=length)
|
|
print(f"Round {len(letters)-1}")
|
|
print("Memorize:", " ".join(letters))
|
|
for i in range(round(seconds), 0, -1):
|
|
print(i)
|
|
time.sleep(1)
|
|
ui.clear()
|
|
print(f"Round {len(letters)-1}")
|
|
print("Type!")
|
|
for letter in letters:
|
|
key = ui.getch().lower()
|
|
print(key, end=" ", flush=True)
|
|
if key != letter:
|
|
print(f"\nThe correct key was: {letter}")
|
|
lost = True
|
|
break
|
|
if not lost:
|
|
total_earned += content.WORK_EARN_PER_ROUND
|
|
print("\nCorrect!")
|
|
time.sleep(1)
|
|
ui.clear()
|
|
length += 1
|
|
rules.earn(save.player, total_earned)
|
|
print(
|
|
f"Game finished! You earned ${total_earned}, you now have ${save.player.money}!"
|
|
)
|