class TestGame(unittest.TestCase): def setUp(self): self.loto = Game() def tearDown(self): del self.loto def test_loto_init(self): self.assertEqual(self.loto.lap, 1) self.assertTrue(self.loto.is_running) def test_loto_pull_out_barrel(self): self.assertTrue( self.loto.pull_out_barrel() in range(1, QUANTITY_BARRELS + 1)) def test___str__(self): self.assertTrue(self.loto.__str__())
# набираем игроков for i in range(1, loto.running_players + 1): answer = input( f'Введите имя нового игрока (по умолчанию Неизвестный #{i}) :') name_player = (answer if answer else 'Неизвестный ' + '#' + str(i)) # TODO: проверить имя на уникальность # присваиваем тип игрока loto.players.append( Human(name_player, i) if choose_who( ) else Computer(name_player, i)) # TODO: проверка типов print('\nПоехали!\n') while loto.is_running: # вытаскиваем очередной бочонок barrel = loto.pull_out_barrel() # что у игроков ? for player in loto.players: result = player.move_on(barrel) # 0- продолжаем if result == 1: print('\nПобеда !!! Карточка заполнена. Игра закончена') loto.is_running = False break elif result < 0: print(f'Игрок {player.name} выбыл из игры') loto.running_players -= 1 if loto.running_players == 0: # остались ли игроки? result = -100 # никого не осталось loto.is_running = False break winner = (player.name if result != -100 else 'не определён')