cleaning up code

This commit is contained in:
Zachary Watts
2026-05-03 22:46:33 -04:00
parent fbe69be2ac
commit d1829184cd
3 changed files with 13 additions and 14 deletions

View File

@@ -137,7 +137,7 @@ class Adventurer:
# return highest, found this at https://stackoverflow.com/a/280156 # return highest, found this at https://stackoverflow.com/a/280156
return max(prime_attributes, key=prime_attributes.get) return max(prime_attributes, key=prime_attributes.get)
def set_equipment(self): def set_equipment(self) -> list:
equipment = [ 'backpack', 'tinderbox', 'waterskin' ] equipment = [ 'backpack', 'tinderbox', 'waterskin' ]
for i in range(2): for i in range(2):
item = "" item = ""
@@ -147,7 +147,7 @@ class Adventurer:
equipment.append(item) equipment.append(item)
return equipment return equipment
def select_spells(self, spell_list) -> list: def select_spells(self, spell_list: dict) -> list:
spell_book = [] spell_book = []
for spell_level, count in self.spells.items(): for spell_level, count in self.spells.items():
if count != "-": if count != "-":
@@ -178,7 +178,7 @@ class Adventurer:
def get_class_progression_for_level(self) -> list: def get_class_progression_for_level(self) -> list:
return list(filter(lambda d: d['level'] == self.level, self.__class__.progression))[0] return list(filter(lambda d: d['level'] == self.level, self.__class__.progression))[0]
def set_level(self, new_level) -> None: def set_level(self, new_level: int) -> None:
self.level = new_level self.level = new_level
self.hp = sum(self.hp_rolls[:self.level]) self.hp = sum(self.hp_rolls[:self.level])
if self.player_class in [ "magic user", "elf" ]: if self.player_class in [ "magic user", "elf" ]:

5
app.py
View File

@@ -87,6 +87,7 @@ def character():
level = request.args.get("level", default=1, type=int) level = request.args.get("level", default=1, type=int)
role = request.args.get("role", default="fighter", type=str) role = request.args.get("role", default="fighter", type=str)
cache = request.args.get("cache", default='true', type=str) cache = request.args.get("cache", default='true', type=str)
# control inputs to prevent abuse
if cache not in [ "true", "false" ]: if cache not in [ "true", "false" ]:
cache = 'true' cache = 'true'
if not c_id.startswith('adv-'): if not c_id.startswith('adv-'):
@@ -95,12 +96,12 @@ def character():
level = 1 level = 1
if role not in [ 'fighter','magic-user','cleric', 'thief', 'dwarf', 'elf', 'halfling']: if role not in [ 'fighter','magic-user','cleric', 'thief', 'dwarf', 'elf', 'halfling']:
role = 'fighter' role = 'fighter'
# check cookies for characters
if request.cookies and cache != "false": if request.cookies and cache != "false":
character = return_character_from_cookie(request.cookies[c_id]) character = return_character_from_cookie(request.cookies[c_id])
print(character.player_class)
if character.level != level: if character.level != level:
character.set_level(level) character.set_level(level)
# reroll until we get our class # reroll until we get the class from the cookie, if it doesn't match
while character.player_class != role.replace("-"," "): while character.player_class != role.replace("-"," "):
new_char = Adventurer(c_id, level) new_char = Adventurer(c_id, level)
selected_class = AdventurerGen(new_char).selection() selected_class = AdventurerGen(new_char).selection()

16
main.py
View File

@@ -59,7 +59,7 @@ class PartyGen():
self.adventurers = [] self.adventurers = []
self.adventurer_types = [] self.adventurer_types = []
def gen_party(self): def gen_party(self) -> None:
c_id = 1 c_id = 1
while len(self.adventurers) < self.size: while len(self.adventurers) < self.size:
identifier = "adv-" + str(c_id) identifier = "adv-" + str(c_id)
@@ -75,13 +75,13 @@ class PartyGen():
self.adventurers.append(new_player) self.adventurers.append(new_player)
self.adventurer_types.append(new_player.player_class) self.adventurer_types.append(new_player.player_class)
def set_party(self, adventurers, count, level): def set_party(self, adventurers: list, count: int, level: int):
self.size = count self.size = count
self.level = level self.level = level
self.adventurers = adventurers self.adventurers = adventurers
self.adventurer_types = [] self.adventurer_types = []
def get_new_party(party_size, party_level): def get_new_party(party_size: int, party_level: int):
# keep variables within expected ranges # keep variables within expected ranges
if party_size <= 0 or party_size > 5: if party_size <= 0 or party_size > 5:
party_size = 1 party_size = 1
@@ -94,30 +94,28 @@ class PartyGen():
# return the created adventurer party # return the created adventurer party
return new_party return new_party
def get_character(self, identifer): def get_character(self, identifer: str) -> Adventurer:
for adv in self.adventurers: for adv in self.adventurers:
if adv.identifier == identifier: if adv.identifier == identifier:
return adv return adv
def get_character_sheets(self): def get_character_sheets(self) -> list:
sheet_string = "" sheet_string = ""
character_sheets = [] character_sheets = []
for c in self.adventurers: for c in self.adventurers:
character_sheets.append(c.vertical_sheet()) character_sheets.append(c.vertical_sheet())
return character_sheets return character_sheets
def get_json(self): def get_json(self) -> str:
party_list = [] party_list = []
for c in self.adventurers: for c in self.adventurers:
party_list.append(c.get_json()) party_list.append(c.get_json())
party_json = json.dumps(party_list) party_json = json.dumps(party_list)
return party_json return party_json
def __str__(self): def __str__(self) -> str:
return f"{self.adventurers}" return f"{self.adventurers}"
# used for local testing # used for local testing
def main(): def main():
adv_dict = Adventurer.get_subclass_dict() adv_dict = Adventurer.get_subclass_dict()