v0.2
Added the following capabilities: - add an unlimited amount of mechs - find all mechs associated with a player
This commit is contained in:
parent
147becca89
commit
125a520bce
85
main.py
85
main.py
|
@ -1,36 +1,65 @@
|
|||
import mech
|
||||
from collections import defaultdict
|
||||
import clean_dict as c
|
||||
import os
|
||||
|
||||
debug = True
|
||||
|
||||
def add_player(lobby_dict):
|
||||
# Set the name
|
||||
temp = input("Input your name: ")
|
||||
# and immediately add it and a first mech into the lobby
|
||||
test1 = mech.Mech(quiet=False,debug=True)
|
||||
lobby_dict[temp] = test1
|
||||
# cleans None from lobby
|
||||
lobby_dict = c.clean(lobby_dict)
|
||||
return lobby_dict
|
||||
mech_list = []
|
||||
|
||||
menu_choices = ["n","l","q"]
|
||||
# add more choices as needed
|
||||
|
||||
def add_mech(lobby_dict):
|
||||
# takes the lobby the player is in
|
||||
player = input("Input your player ID: ")
|
||||
# will need to authenticate player input (this would be serverside IRL)
|
||||
temp = [lobby_dict[player]]
|
||||
# temporary copy of current player's lobby info'
|
||||
temp.append(mech.Mech(quiet=False,debug=True))
|
||||
# adds new mech onto list
|
||||
return temp
|
||||
main_menu = """ Main Menu:
|
||||
(n)ew mech,
|
||||
(l)ist a player's mechs,
|
||||
or (q)uit the session.
|
||||
"""
|
||||
|
||||
lobby_dict = defaultdict(list)
|
||||
def make_mech(mech_list):
|
||||
# take the given mech list
|
||||
m = mech.Mech(quiet=False, debug=False)
|
||||
mech_list.append(m)
|
||||
return mech_list
|
||||
|
||||
|
||||
test2 = mech.Mech(quiet=True,debug=True)
|
||||
def get_player_mechs(mech_list):
|
||||
player = input("Search for player name: ")
|
||||
print("Mech list for: ",player)
|
||||
for unit in mech_list:
|
||||
u = unit.card # just for easy typing
|
||||
if u["player"] == player:
|
||||
print("Mech name: ",u["name"])
|
||||
print("Mech variant: ",u["dez"])
|
||||
print("Mech size: ",u["size"])
|
||||
print("\n")
|
||||
|
||||
|
||||
add_player(lobby_dict)
|
||||
|
||||
for player in lobby_dict.items():
|
||||
print('Player: ',player)
|
||||
|
||||
lobby_dict[player] = add_mech(lobby_dict)
|
||||
def menu(choice):
|
||||
if choice not in menu_choices:
|
||||
print("Incorrect choice. Try again.")
|
||||
os.system('cls' if os.name == 'nt' else 'clear')
|
||||
elif choice == 'n':
|
||||
make_mech(mech_list)
|
||||
return True
|
||||
elif choice == 'l':
|
||||
get_player_mechs(mech_list)
|
||||
return True
|
||||
elif choice == 'q':
|
||||
print("Bye!")
|
||||
return False
|
||||
else:
|
||||
print("This should literally be impossible to get to.")
|
||||
print("THOU FOOL! THOU HAST DESECRATED MINE ROBITZ")
|
||||
|
||||
|
||||
def main(debug):
|
||||
play = True
|
||||
while play:
|
||||
# Clear the screen
|
||||
os.system('cls' if os.name == 'nt' else 'clear')
|
||||
|
||||
print(main_menu)
|
||||
play = menu(input("Make your choice: "))
|
||||
# will automatically break the loop if you select 'q'
|
||||
|
||||
|
||||
main(debug)
|
||||
|
|
42
mech.py
42
mech.py
|
@ -1,7 +1,17 @@
|
|||
import clean_dict as c
|
||||
|
||||
class Mech:
|
||||
def __init__(self, name='NewMech', dez='NEW-1',size=1, skill=1, tmm=1, debug=True,quiet=True):
|
||||
def __init__(self,
|
||||
name='NewMech',
|
||||
dez='NEW-1',
|
||||
size=1,
|
||||
skill=1,
|
||||
tmm=1,
|
||||
debug=True,
|
||||
quiet=True):
|
||||
# the 'quiet' flag tells the constructor whether
|
||||
# to set everything as defaults,
|
||||
# or to let the user set the data for the instance.
|
||||
if not quiet:
|
||||
self.name = input("Mech name: ")
|
||||
self.size = input("Mech size: ")
|
||||
|
@ -9,6 +19,7 @@ class Mech:
|
|||
self.tmm = input("Total Movement Modifier: ")
|
||||
self.dez = input("Variant name: ")
|
||||
self.debug = debug
|
||||
self.player = input("Assign mech to player? Leave blank for none: ")
|
||||
else:
|
||||
self.name = name
|
||||
self.dez = dez
|
||||
|
@ -16,20 +27,26 @@ class Mech:
|
|||
self.skill = skill
|
||||
self.tmm = tmm
|
||||
self.debug = debug
|
||||
self.player = ''
|
||||
|
||||
self.card = {
|
||||
"name": self.get_name(),
|
||||
"size": self.get_size(),
|
||||
"skill": self.get_skill(),
|
||||
"tmm": self.get_tmm(),
|
||||
"dez": self.get_dez()
|
||||
}
|
||||
self.card = {
|
||||
"player": self.get_player(),
|
||||
"name": self.get_name(),
|
||||
"dez": self.get_dez(),
|
||||
"size": self.get_size(),
|
||||
"skill": self.get_skill(),
|
||||
"tmm": self.get_tmm()
|
||||
}
|
||||
|
||||
if debug: print(self.card)
|
||||
if debug: print(self.card)
|
||||
|
||||
def set_name(self, name):
|
||||
self.name = name
|
||||
self.card["name"] = name
|
||||
|
||||
def set_dez(self, dez):
|
||||
self.dez = dez
|
||||
self.card["dez"] = dez
|
||||
|
||||
def set_size(self, size):
|
||||
self.size = size
|
||||
|
@ -42,6 +59,10 @@ class Mech:
|
|||
def set_tmm(self, tmm):
|
||||
self.tmm = tmm
|
||||
self.card["tmm"] = tmm
|
||||
|
||||
def set_player(self, player):
|
||||
self.player = player
|
||||
self.card["player"] = player
|
||||
|
||||
def get_name(self):
|
||||
return self.name
|
||||
|
@ -57,3 +78,6 @@ class Mech:
|
|||
|
||||
def get_tmm(self):
|
||||
return self.tmm
|
||||
|
||||
def get_player(self):
|
||||
return self.player
|
||||
|
|
Loading…
Reference in New Issue