Advertisement
furas

Python - Teams Class

Dec 6th, 2017
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.97 KB | None | 0 0
  1. import random
  2. import json
  3.  
  4. class Player():
  5.    
  6.     def __init__(self, *args):
  7.         pass
  8.        
  9. class Teams():
  10.  
  11.     # color - tuple, wins - int, losses - int
  12.     def __init__(self, teamname="unknown", wins=0, losses=0, team1player="unknown", team2player="unknown", colour=(255,255,255)):
  13.         #above I have created all the attributes of teams
  14.         self.teamname = teamname #sets teamname
  15.  
  16.         self.team1composition = {
  17.             'point guard' : [],
  18.             'shooting guard': [],
  19.             'small forward': [],
  20.             'power forward': [],
  21.             'centre': []
  22.         }
  23.  
  24.         self.team2composition = {
  25.             'point guard': [],
  26.             'shooting guard': [],
  27.             'small forward': [],
  28.             'power forward': [],
  29.             'centre': []
  30.         }
  31.  
  32.         self.wins = wins #number of wins
  33.         self.losses = losses #number of losses
  34.  
  35.         self.team1player = team1player #holds a player and can be used to create players I have made this here so that the players are a part of the team
  36.         self.team2player = team2player
  37.  
  38.         self.colour = colour #holds the rgb colour specific to the team
  39.  
  40.         # predefined teams
  41.         self.all_teams = {
  42.             "CAVS": {
  43.                 "name": "Cleveland Cavaliers",
  44.                 "color": (134, 0, 56),
  45.                 "composition": {
  46.                     'point guard': ['Jose Calderon'],
  47.                     'shooting guard': ['J.R Smith'],
  48.                     'small forward': ['LeBron James'],
  49.                     'power forward': ['Jae Crowder'],
  50.                     'centre': ['Kevin Love'],
  51.                 },
  52.             },
  53.             "GSW": {
  54.                 "name": "Golden State Warriors",
  55.                 "color": (0, 107, 182),
  56.                 "composition": {
  57.                     'point guard': [],
  58.                     'shooting guard': [],
  59.                     'small forward': [],
  60.                     'power forward': [],
  61.                     'centre': []
  62.                 },
  63.             },
  64.         }
  65.  
  66.     # you can use module `json` to save in file and/or read from file
  67.     def save_data(self):
  68.         with open("teams.json", "w") as f: # "w" = write
  69.             json.dump(self.all_teams, f) # save
  70.  
  71.     def read_data(self):
  72.         with open("teams.json") as f: # "" = read
  73.             self.all_teams = json.load(f) # load
  74.             print(self.all_teams)
  75.            
  76.     def startTeam(self):
  77.  
  78.         while True:
  79.             Team1Name = input("Please select a team // GSW or CAVS: ")
  80.             if Team1Name.upper() == "GSW":
  81.                 # get data from predefined teams
  82.                 Team1Name = self.all_teams["GSW"]["name"]
  83.                 Team1Colour = self.all_teams["GSW"]["color"] #rgb colour for GSW yellow
  84.                 self.team1composition = self.all_teams["GSW"]["composition"]
  85.                 break # exit while loop
  86.             elif Team1Name.upper() == "CAVS":
  87.                 # get data from predefined teams
  88.                 Team1Name = self.all_teams["CAVS"]["name"]
  89.                 Team1Colour = self.all_teams["CAVS"]["color"] #rgb colour for GSW yellow
  90.                 self.team1composition = self.all_teams["CAVS"]["composition"]
  91.                 break # exit while loop
  92.             print("*** wrong team, try again ***")
  93.            
  94.         while True:
  95.             Team2Name = input("Please select an opposing team // GSW or CAVS: ")
  96.             if Team2Name.upper() == "GSW":
  97.                 # get data from predefined teams
  98.                 Team2Name = self.all_teams["GSW"]["name"]
  99.                 Team2Colour = self.all_teams["GSW"]["color"] #rgb colour for GSW yellow
  100.                 self.team2composition = self.all_teams["GSW"]["composition"]
  101.                 break
  102.             elif Team2Name.upper() == "CAVS":
  103.                 # get data from predefined teams
  104.                 Team2Name = self.all_teams["CAVS"]["name"]
  105.                 Team2Colour = self.all_teams["CAVS"]["color"] #rgb colour for GSW yellow
  106.                 self.team2composition = self.all_teams["CAVS"]["composition"]
  107.                 break
  108.             print("*** wrong team, try again ***")
  109.            
  110.         print('--- TEAM 1 ---')
  111.         self.team1players = []
  112.         for position , name in self.team1composition.items():
  113.             print(position, name)
  114.             self.team1players.append(Player(name, 15, random.randint(0,470), random.randint(0,500), Team1Colour, 0, Team1Name, 0.01, 30))
  115.            
  116.         print('--- TEAM 2 ---')
  117.         self.team2players = []#
  118.         for position, name in self.team2composition.items():
  119.             print(position , name)
  120.             self.team2players.append(Player(name, 15, random.randint(470,940), random.randint(0,500), Team2Colour, 0, Team2Name, 0.01, 30))
  121.  
  122. #----------------------------------------------------------------------
  123.  
  124. t = Teams()
  125. t.startTeam()
  126.  
  127. print('- save predefined teams -')
  128. t.save_data()
  129.  
  130. print('- read predefined teams -')
  131. t.read_data()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement