Пример #1
0
 def showTimer(self):
     image.Number(self.window, 204, 310, int((self.game.time / 1000) * 6))
     image.Number(self.window, 216, 310,
                  int((self.game.time / 1000) * 60) % 10)
     image.Number(self.window, 236, 310,
                  int((self.game.time / 1000) * 600) % 10)
     image.Number(self.window, 248, 310,
                  int((self.game.time / 1000) * 6000) % 10)
Пример #2
0
 def runConfig(self):
     image.gameConfig(self.window, 0, 0)
     image.Number(self.window, 560, 292, int(
         (self.game.set_time / 1000) * 6))
     image.Number(self.window, 572, 292,
                  int((self.game.set_time / 1000) * 60) % 10)
     image.Number(self.window, 566, 348, self.game.set_turn)
     image.Number(self.window, 566, 410, self.game.nPlayers() - 1)
     self.mouseHovering()
Пример #3
0
    def showUserGems(self):
        for i in range(4):
            image.Number(self.window, 194 + 32 * i, 208,
                         int(self.game.player_human.gems[i] / 10))
            image.Number(self.window, 206 + 32 * i, 208,
                         self.game.player_human.gems[i] % 10)

        if self.game.isAIPlaying(0):
            for i in range(4):
                image.Number(self.window, 932 + 32 * i, 204,
                             int(self.game.player_ai[0].gems[i] / 10))
                image.Number(self.window, 944 + 32 * i, 204,
                             self.game.player_ai[0].gems[i] % 10)

        if self.game.isAIPlaying(1):
            for i in range(4):
                image.Number(self.window, 194 + 32 * i, 520,
                             int(self.game.player_ai[1].gems[i] / 10))
                image.Number(self.window, 206 + 32 * i, 520,
                             self.game.player_ai[1].gems[i] % 10)

        if self.game.isAIPlaying(2):
            for i in range(4):
                image.Number(self.window, 932 + 32 * i, 516,
                             int(self.game.player_ai[2].gems[i] / 10))
                image.Number(self.window, 944 + 32 * i, 516,
                             self.game.player_ai[2].gems[i] % 10)
Пример #4
0
    def runGame(self):
        # shows in all game phases except pause
        if self.phase != 4:
            image.gamePlayArea(self.window, 0, 0)
            image.Dice(self.window, 464, 506, self.game.dice + 1)
            image.Number(self.window, 727, 473, self.game.turn)
            self.showUserCards()
            self.showUserGems()
            self.showUserPlaces()
            self.showGems()
            self.showTimer()
            if self.hints_hidden == 1:
                image.hintsHidden(self.window, 330, 198)
            else:
                image.Hints(self.window, 330, 90)

        # game phase 0 (choose starting place)
        if self.phase == 0:
            for i in range(6):
                for j in range(3):
                    image.arrowDown(self.window, 476 + 34 * i, 336 + 12 * j)
                    image.arrowUp(self.window, 476 + 34 * i, 404 + 12 * j)

        # game phase 1 (rolling dice)
        if self.phase == 1:
            image.beginTurn(self.window, 538, 506, 1)
            self.showUnknownPieces()
            if self.game.turn == 1:
                for i in range(3):
                    for j in range(3):
                        image.arrowLeft(self.window, 676 + 12 * i,
                                        515 + 16 * j)
            image.Dice(self.window, 464, 506, np.random.randint(1, 7))
        elif self.phase != 4:
            image.beginTurn(self.window, 538, 506, 2)

        # game phase 2 (making puzzle)
        if self.phase == 2:
            self.aiTurn()
            self.game.time -= 1
            if self.game.turn == 1 and self.game.time >= 966:
                for i in range(4):
                    for j in range(3):
                        image.arrowDown(self.window, 198 + 32 * i, 98 + 12 * j)
                        image.arrowUp(self.window, 198 + 32 * i, 166 + 12 * j)
                for i in range(3):
                    image.arrowLeft(self.window, 281 + 12 * i, 310)
                    image.arrowRight(self.window, 88 + 12 * i, 310)

            if self.completed_puzzle:
                while self.game.time > 0:
                    self.aiTurn()
                    self.game.time -= 1

            if self.game.time == 0:
                self.phase = 3
                self.completed_puzzle = False
                self.blocked_piece[:] = False
                self.current_turn = 0
                self.making_puzzle = False
                for i in range(3):
                    if self.game.player_ai[i].turn_place == -1:
                        self.game.player_ai[i].turn_place = self.turn_queue
                        self.turn_queue += 1
                if self.game.player_human.turn_place == -1:
                    self.game.player_human.turn_place = self.turn_queue
                    self.turn_queue += 1

        # game phase 3 (choosing gem row)
        if self.phase == 3:
            for i in range(3):
                if self.game.player_ai[i].playing:
                    if self.game.player_ai[i].turn_place == self.current_turn:
                        self.game.player_ai[i].chooseRow(self.game.table)
                        self.game.updatePlaces()
                        self.game.player_ai[i].turn_place = 10
                        self.current_turn += 1
            if self.current_turn == self.game.nPlayers():
                if self.game.turn < self.game.set_turn:
                    self.phase = 1
                    self.game.turn += 1
                else:
                    self.game.updatePlaces()
                    self.game.getWinner()
                    self.phase = 5
                    music.loadCheersMusic()

        # game phase 4 (pause)
        if self.phase == 4:
            image.gamePause(self.window, 438, 86)

        # game phase 5 (win screen)
        if self.phase == 5:
            image.gameWin(self.window, 438, 86)
            image.Winner(self.window, 532, 126, self.game.winner)

        # after rolling the dice
        if self.phase == 2 or self.phase == 3 or self.phase == 5:
            self.showPieces()

        # handles mouse hovering
        self.mouseHovering()

        # after choosing initial position
        if self.phase > 0 and self.phase != 4:
            self.showUsers()
            self.showPuzzles()
            if self.space_hover and self.col == self.game.player_human.pos:
                image.selectedShadow(self.window, 474 + 34 * self.col, 394)

        if self.tp_mouse:
            self.tp_mouse = False
        elif self.making_puzzle and self.phase == 2:
            self.makingPuzzle()