コード例 #1
0
    def game_over(self, screen, game: Game, scores: ScoresList) -> bool:
        score_saved = False  # not saved yet
        self.sfx.game_over.play()  # play audio

        i = 0
        while True:
            # Fade-in game over screen
            if i < 256:
                pg.event.get()  # dummy get
                self.drawer.draw_game(screen, game, 0)  # draw game
                self.drawer.draw_game_over_overlay(
                    screen, i, score_saved)  # fade-in game over screen
                self.clock.tick(60)  # slow-down the fade-in

                # Refresh screen
                pg.display.flip()
                i += 1

            # Check for quit or restart events
            for event in pg.event.get():
                if user_quit(event):
                    return False
                elif event.type == pg.MOUSEBUTTONDOWN:
                    if self.txt.restart_rect.collidepoint(*event.pos):
                        return True
                    elif not score_saved and \
                            self.txt.save_score_rect.collidepoint(*event.pos):
                        for score in game.get_scores():
                            scores.add_score(score)
                        scores.write()
                        score_saved = True
コード例 #2
0
ファイル: test_game.py プロジェクト: teddy57320/go
class TestScore(unittest.TestCase):
    '''
    Test case for score tallying
    '''
    def setUp(self):
        self.black_stone = 'b'
        self.white_Stone = 'w'
        self.board_size = 7

        configs = {
            'black_stone': self.black_stone,
            'white_stone': self.white_Stone,
            'board_size': self.board_size,
            'enable_self_destruct': False
        }

        self.game = Game(configs)

    def test__capture1(self):
        capture1(self.game)
        scores = self.game.get_scores()
        self.assertEqual(scores[Stone.BLACK], -1)
        self.assertEqual(scores[Stone.WHITE], 45)

    def test__capture2(self):
        capture2(self.game)
        scores = self.game.get_scores()
        self.assertEqual(scores[Stone.BLACK], -3)
        self.assertEqual(scores[Stone.WHITE], 42)

    def test__capture3(self):
        capture3(self.game)
        scores = self.game.get_scores()
        self.assertEqual(scores[Stone.BLACK], -1)
        self.assertEqual(scores[Stone.WHITE], 43)

    def test__neutral(self):
        capture2(self.game)
        self.game.place_black(1, 1)
        scores = self.game.get_scores()
        self.assertEqual(scores[Stone.BLACK], -3)
        self.assertEqual(scores[Stone.WHITE], 3)