able to get compress JSON characters stored as cookies
This commit is contained in:
47
main.py
47
main.py
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/python3
|
||||
from adventurers import *
|
||||
import base64
|
||||
import json
|
||||
import random
|
||||
|
||||
# Player Class Selector
|
||||
@@ -40,19 +42,23 @@ class ClassSelector():
|
||||
return selected_class
|
||||
|
||||
class PartyGenerator():
|
||||
def __init__(self, party_size: int) -> None:
|
||||
def __init__(self, party_size: int, party_level: int) -> None:
|
||||
self.size = party_size
|
||||
self.size = party_size
|
||||
self.level = party_level
|
||||
self.adventurers = []
|
||||
self.adventurer_types = []
|
||||
|
||||
def gen_party(self):
|
||||
c_id = 0
|
||||
while len(self.adventurers) < self.size:
|
||||
new_player = Adventurer()
|
||||
c_id += 1
|
||||
new_player = Adventurer(c_id, self.level)
|
||||
attempts = 0
|
||||
while new_player.player_class not in self.adventurer_types:
|
||||
attempts += 1
|
||||
selected_class = ClassSelector(new_player).selection()
|
||||
new_player = selected_class(new_player.level, new_player.get_attributes())
|
||||
new_player = selected_class(new_player.id, new_player.level, new_player.get_attributes())
|
||||
# i couldnt randomly generate a scenario where a character couldn't be added, but it seems possible, so this is the hard cut off
|
||||
if (new_player.player_class not in self.adventurer_types) or (attempts > 10):
|
||||
self.adventurers.append(new_player)
|
||||
@@ -62,23 +68,44 @@ class PartyGenerator():
|
||||
sheet_string = ""
|
||||
character_sheets = []
|
||||
for c in self.adventurers:
|
||||
character_sheets.append(c.character_sheet())
|
||||
character_sheets.append(c.vertical_sheet())
|
||||
return character_sheets
|
||||
|
||||
def get_json(self):
|
||||
party_list = []
|
||||
for c in self.adventurers:
|
||||
party_list.append(c.get_json())
|
||||
party_json = json.dumps(party_list)
|
||||
return party_json
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.adventurers}"
|
||||
|
||||
def returnParty(party_size):
|
||||
new_party = PartyGenerator(party_size)
|
||||
def returnParty(party_size, party_level):
|
||||
# keep variables within expected ranges
|
||||
if party_size <= 0 or party_size > 5:
|
||||
party_size = 1
|
||||
if party_level < 1 or party_level > 5:
|
||||
party_level = 1
|
||||
# generate an aventuring party per size and level
|
||||
new_party = PartyGenerator(party_size, party_level)
|
||||
# for adventurers select classes
|
||||
new_party.gen_party()
|
||||
# return the created adventurer party
|
||||
return new_party
|
||||
|
||||
def returnCharacter(c_id):
|
||||
for adv in new_party.adventurers:
|
||||
if adv.id == c_id:
|
||||
return adv
|
||||
|
||||
def main():
|
||||
adventurer_party = returnParty(party_size=5)
|
||||
adventurer_party = returnParty(party_size=2, party_level=2)
|
||||
for adv in adventurer_party.adventurers:
|
||||
for line in adv.vertical_sheet:
|
||||
print(f"{line}")
|
||||
print()
|
||||
print(adv.get_json())
|
||||
# for line in adv.vertical_sheet:
|
||||
# print(f"{line}")
|
||||
# print()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user