Compare commits

..

No commits in common. "75113922a2183ab791c8d1ea5f89cc429f395dba" and "addfce3144129fd81300510ceb5b19b48ea99d2d" have entirely different histories.

3 changed files with 120 additions and 89 deletions

1
.gitignore vendored
View file

@ -1 +0,0 @@
dev-database.db

162
game.py
View file

@ -1,4 +1,4 @@
from firepup650 import clear, randint, sql, e, menu, gp, gh, cur, flushPrint
from firepup650 import clear, randint, sql, e, menu
import random as r
from fkeycapture import get, getnum, getchars
import os, time, sys, re
@ -6,38 +6,66 @@ from time import sleep
db = sql("dev-database.db")
alphanum = list("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")
alphanum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
def multipleOf(num: int, mult: int = 5) -> bool:
return num%mult == 0
cur.hide()
clear()
# TODO: Add some sleeps to make this seem like it's doing something
print("Loading Loge City v 0.0.1...")
sleep(1)
flushPrint("Checking system compatibility...")
sleep(1)
print(" \aOK.")
sleep(1)
flushPrint("Checking data...")
sleep(1)
print(" \aOK.")
sleep(1)
print("Checking system compatibility...")
print("OK.") # TODO: This should beep or something
print("Checking imports...")
print("import ID UcO80qfR7o2BW3owpAQRsD6Q")
print("OK.")
print("Loaded successfully")
print("Starting...")
sleep(2)
cur.show()
log = menu({"Yes": 1, "No": 0, "Exit": "E"}, "Welcome to the city!\nDo you have an existing account?")
clear()
print("Welcome to the city!")
print("Do you have an existing account?\n1. Yes\n2. No")
log = menu({"Yes": 1, "No": 0}, "Welcome to the city!\nDo you have an existing account?")
un = ""
if log == "E":
exit(0)
if log:
print("Login")
print("Username: ", end="")
un = gp(5, alphanum, allowDelete=True)
print("Password: ", end="")
pw = gh(5, alphanum, allowDelete=True)
pw = ""
while 1:
clear()
print("Please enter your 5 character username")
print(un, end="")
match len(un):
case 0:
print("-----")
case 1:
print("----")
case 2:
print("---")
case 3:
print("--")
case 4:
print("-")
case _:
pass
if len(un) == 5:
break
un += getchars(1, alphanum)
while 1:
clear()
print("Please enter your 5 character password")
match len(pw):
case 0:
print("-----")
case 1:
print("*----")
case 2:
print("**---")
case 3:
print("***--")
case 4:
print("****-")
case _:
print("*****")
if len(pw) == 5:
break
pw += getchars(1, alphanum)
uData = db.get(un)
if not uData:
print("Sorry, that username is not recognized.")
@ -48,11 +76,46 @@ if log:
else:
print("Logged in.")
else:
print("Signup")
print("Username (alphanumeric): ", end="")
un = gp(5, alphanum, allowDelete=True)
print("Password (alphanumeric):", end="")
pw = gh(5, alphanum, allowDelete=True)
pw = ""
while 1:
clear()
print("Please enter a 5 character (alphanumeric) username")
print(un, end="")
match len(un):
case 0:
print("-----")
case 1:
print("----")
case 2:
print("---")
case 3:
print("--")
case 4:
print("-")
case _:
pass
if len(un) == 5:
break
un += getchars(1, alphanum)
while 1:
clear()
print("Please enter a 5 character (alphanumeric) password")
match len(pw):
case 0:
print("-----")
case 1:
print("*----")
case 2:
print("**---")
case 3:
print("***--")
case 4:
print("****-")
case _:
print("*****")
if len(pw) == 5:
break
pw += getchars(1, alphanum)
uData = db.get(un)
if uData:
print("Sorry, that username is already registered, please log in instead.")
@ -107,11 +170,33 @@ while 1:
print("Press any key to exit")
get()
case 2:
print("Calculating avaliable bets, this shouldn't take long...")
bets = {str(i): i for i in range(5, min(uData["studs"], 50000000), 5)}
bets["Exit"] = "E"
bet = menu(bets, "How many studs would you like to bet?")
betHigh = 0 if type(bet) != int else bet*2
bet = menu({"5": 5, "10": 10, "20": 20, "30": 30, "40": 40, "50": 50, "60": 60, "70": 70, "80": 80, "90": 90, "100": 100, "1000": 1000, "Exit": "E"}, "How many studs would you like to bet?")
betHigh = 0
match bet:
case 10:
betHigh = 20
case 20:
betHigh = 40
case 30:
betHigh = 60
case 40:
betHigh = 80
case 50:
betHigh = 100
case 60:
betHigh = 120
case 70:
betHigh = 140
case 80:
betHigh = 160
case 90:
betHigh = 180
case 100:
betHigh = 200
case 1000:
betHigh = 2000
case _:
betHigh = 0
winnings = 0
betLow = -bet if betHigh else 0
while betHigh:
@ -148,11 +233,7 @@ while 1:
print("TODO: Rare Parts Shop")
sleep(1)
case 6:
price1 = 10 + (5 * uData["energyTanks"])
price5 = 5 * price1
price10 = 2 * price5
count = menu({f"1 ({price1} studs)": 1, "5 ({price5} studs)": 5, "10 ({price10} studs)": 10}, "How many energy tanks do you want?")
print("TODO: Energy Tank Shop Functionality")
print("TODO: Energy Tank Shop")
sleep(1)
case 7:
print("TODO: Resturant")
@ -164,10 +245,7 @@ while 1:
deb = menu({"Dump User Data": 1, "Reset Studs": 2, "Full data reset": 3, "Exit": "E"}, "[DEBUG MENU]")
match deb:
case 1:
print("User Data dump: {")
for k in uData:
print(f' "{k}": {str(uData[k])}')
print("}")
print(f"User Data dump: {uData}")
case 2:
uData["studs"] = 20
uData["studsLost"] = 0

46
poetry.lock generated
View file

@ -1,46 +0,0 @@
# This file is automatically @generated by Poetry and should not be changed by hand.
[[package]]
name = "firepup650"
version = "1.0.35"
description = "Package containing various shorthand things I use, and a few imports I almost always use"
category = "main"
optional = false
python-versions = ">=3.8,<4.0"
files = [
{file = "firepup650-1.0.35-py3-none-any.whl", hash = "sha256:fb6d326e11ddbc4bb83ffe95b1ec0f2e6937cd7722cdbadd2f3ac31e84bfe3a5"},
{file = "firepup650-1.0.35.tar.gz", hash = "sha256:f128b624b8cee762366ccedf8a75b6e89745d08dd919a2df8433f2cbc090da13"},
]
[package.dependencies]
fkeycapture = ">=1.2.7,<2.0.0"
fpsql = ">=1,<1.0.26 || >1.0.26,<2"
[[package]]
name = "fkeycapture"
version = "1.2.7"
description = "A way to capture keystrokes"
category = "main"
optional = false
python-versions = ">=3.8,<4.0"
files = [
{file = "fkeycapture-1.2.7-py3-none-any.whl", hash = "sha256:c09cb715ccf2b9dfc25ecd39bffaf8fa794bc07410f666ac2ec15ebebebaabef"},
{file = "fkeycapture-1.2.7.tar.gz", hash = "sha256:5ef9c90aec0420a2e462420a2bc8076a50ffd8566a9a022ac171c0e508f1d58d"},
]
[[package]]
name = "fpsql"
version = "1.0.5"
description = "An easy to use SQLite package"
category = "main"
optional = false
python-versions = ">=3.8,<4.0"
files = [
{file = "fpsql-1.0.5-py3-none-any.whl", hash = "sha256:a31f4bf99d44c0095a8246bfd78bd39cf96d9b3591363a3f6538ca40914679a4"},
{file = "fpsql-1.0.5.tar.gz", hash = "sha256:647d148c5a17bca3a147a3bb281cc12dfc36f6f3f3652f22a1b2a1a3b7367c93"},
]
[metadata]
lock-version = "2.0"
python-versions = "^3.11"
content-hash = "9086a1cb67227cc868343ba92e5a0bfd713be45b6a0140e2e225a8b82a21d912"