Пример #1
0
 def setUp(self):
     self._players = [('Sparks','Josh',203,'Shooter'), ('Anderson','James',200,'Extremum'),('Barnette','Sean',190,'Extremum'), ('Curry','Stephen',198,'Shooter')]
     self.player1 = Player(self._players[0][0], self._players[0][1], self._players[0][2], self._players[0][3])
     self.player2 = Player(self._players[1][0], self._players[1][1], self._players[1][2], self._players[1][3])
     self.player3 = Player(self._players[2][0], self._players[2][1], self._players[2][2], self._players[2][3])
     self.player4 = Player(self._players[3][0], self._players[3][1], self._players[3][2], self._players[3][3])
     self.validator = PlayerValidator() 
     self.repository = CSVPlayers('players_test.csv', 'imported_test.csv')
     self.Player = PlayerController(self.validator, self.repository)
Пример #2
0
    def __create_players_from_response(response):
        players = []

        data = response.json()['data']
        meta = response.json()['meta']

        meta_dump = json.dumps(meta)

        for e in data:
            team_dict = e.get('team')

            team = Team(team_dict.get('id'), team_dict.get('abbreviation'),
                        team_dict.get('city'), team_dict.get('conference'),
                        team_dict.get('division'), team_dict.get('full_name'),
                        team_dict.get('name'))

            pl = Player(e.get('id'), e.get('first_name'), e.get('last_name'),
                        e.get('height_feet'), e.get('height_inches'),
                        e.get('position'), team, e.get('weight_pounds'))

            players.append(pl)

        page = json.loads(meta_dump).get('next_page')

        return players, page
def main():
    page = 1

    while page is not None:
        response = requests.get(
            'https://www.balldontlie.io/api/v1/players?page=' + str(page) +
            '&per_page=100')

        data = response.json()['data']
        meta = response.json()['meta']

        meta_dump = json.dumps(meta)

        print(page)

        for e in data:
            dump = json.dumps(e)

            t = json.loads(dump)

            team_dict = t.get('team')

            team = Team(team_dict.get('id'), team_dict.get('abbreviation'),
                        team_dict.get('city'), team_dict.get('conference'),
                        team_dict.get('division'), team_dict.get('full_name'),
                        team_dict.get('name'))

            pl = Player(t.get('id'), t.get('first_name'), t.get('last_name'),
                        t.get('height_feet'), t.get('height_inches'),
                        t.get('position'), team, t.get('weight_pounds'))
            # print(pl.first_name)

        # we can only do 60 requests per minute, so sleep for a second after each request
        time.sleep(1)
        page = json.loads(meta_dump).get('next_page')
Пример #4
0
def start():
    settings = Settings.getInstance()
    Constants.ROW_COUNT = int(settings.DIM)
    Constants.COLUMN_COUNT = int(settings.DIM)
    Constants.APPLE_COUNT = int(settings.apple_count)

    player = Player()
    gameService = GameService(player)
    ui = UI(gameService)
    ui.run()
Пример #5
0
    def create(self, firstname, surname, height, position, recordForUndo=True):
        player = Player(firstname, surname, height, position)
        try:
            self._validator.validate(player)
            self._repository.store(player)
        except Exception as e:
            print(e)

        if recordForUndo == True:
            undo = FunctionCall(self.delete, firstname, False)
            redo = FunctionCall(self.create, firstname, surname, height,
                                position, True)
            casOP = CascadedOp(Operation(redo, undo))
            self._undoController.recordOperation(casOP)
Пример #6
0
 def loadFromFile(self):
     """
     Loads data from a file and returns it
     :return: None
     
     """
     #try:
     file = open(self._filename, 'r')
     for line in file:
         attributes = line.split(",")
         if len(attributes) != 4:
             continue
         player = Player(attributes[0], attributes[1], attributes[2],
                         attributes[3])
         self._objects.append(player)
Пример #7
0
 def importPlayers(self):
     Positions = ['Extremum', 'Shooter', 'Quarterback']
     added = 0
     file = open(self._filename2, 'r')
     for line in file:
         attributes = line.split(",")
         if len(attributes) != 2:
             continue
         height = random.randint(180, 215)
         position = random.randint(0, 2)
         playerPost = Positions[position]
         player = Player(attributes[0], attributes[1], height, playerPost)
         self.store(player)
         added += 1
     return added
Пример #8
0
    def start(self):
        while True:
            option = str(input("Enter option: "))
            if option == '1':
                print("You chose to add a player")
                name = str(input("Enter first name: "))
                surname = str(input("Enter surname: "))
                height = int(input("Enter height(cm): "))
                position = str(
                    input("Enter position(Extremum/Shooter/Quarterback): "))
                player = self._player.create(name, surname, height, position)

            elif option == '2':
                print("You chose to print all players.")
                players = self._player.getAll()
                for player in players:
                    print(player)

            elif option == '3':
                print("Updating a player.")
                name = str(input("Enter first name: "))
                surname = str(input("Enter last name: "))
                height = int(input("Enter new height: "))
                position = str(input("Enter player post: "))
                player = Player(name, surname, height, position)
                self._player.update(player)

            elif option == '4':
                print("Creating a team.")
                team = self._player.createTeam()
                for p in team:
                    print(p)

            elif option == '5':
                print("Importing players.")
                print(self._player.importPlayers())

            elif option == '6':
                self._undo.undo()

            elif option == '7':
                self._undo.redo()

            elif option == '0':
                break
            else:
                print("Invalid option. Enter * for help.")
Пример #9
0
 def test_update(self):
     player_new = Player('Sparks','Josh',205,'Shooter')
     player = self.Player.update(player_new)
     self.assertEqual(player.getHeight, 205, "Not the same")
Пример #10
0
from domain.Player import Player
from repository.Repository import Repository

repo = Repository('player.txt', Player.read_line, Player.write_line)
jucator = Player(12, 'alex')
try:
    repo.store_item(jucator)

except Exception as exc:
    print(str(exc))
Пример #11
0
from domain.Player import Player
from domain.CardDeck import CardDeck

name1 = input("이름을 입력해 주세요. 플레이어 1: ")
player1 = Player(name1)

name2 = input("이름을 입력해 주세요. 플레이어 2: ")
player2 = Player(name2)

name3 = input("이름을 입력해 주세요. 플레이어 3: ")
player3 = Player(name3)

deck = CardDeck()

while True:
    # 3명의 플레이어에게 카드 나눠주기
    player1_card = deck.get_card()
    player2_card = deck.get_card()
    player3_card = deck.get_card()

    player1.add_card_to_hand(player1_card)
    player2.add_card_to_hand(player2_card)
    player3.add_card_to_hand(player3_card)
    """
    1. 기존에 사용된 == 연산자를 is 연산자로 변환
    2. 3명의 플레이어 중 카드를 못받은 사람이 있다면 덱이 모두 소진된 것이기에 게임 종료
       => 플레이어1이 마지막 턴에 카드를 무조건 한장 더 받는다.
    """
    if player1_card is None or player2_card is None or player3_card is None:
        print('...')
        print("게임 오버. 덱에 카드가 없습니다.")