コード例 #1
0
ファイル: Game.py プロジェクト: fubrasp/tic-tac-toe
class Game:
    NUMBER_OF_CHIPS = GameBoard.BOARD_SIZE

    def __init__(self):
        self.gamer = 1
        self.playedChips = 0
        self.potentialWinner = False
        self.gameView = GameView()

    def get_gamer(self):
        if self.playedChips % 2 == 0:
            gamer_id = GameBoard.ROUND_CHIP
        else:
            gamer_id = GameBoard.CROSS_CHIP
        return gamer_id

    def display_winner(self):
        if self.gamer == "" or self.gamer is None:
            return "personne n'a gagne"
        else:
            return self.gamer + " a gagne"

    def start(self):
        self.gameView.gameBoard.display()
        while self.potentialWinner != GameBoard.ROUND_CHIP_STRING \
                and self.potentialWinner != GameBoard.CROSS_CHIP_STRING \
                and self.playedChips < Game.NUMBER_OF_CHIPS:
            time.sleep(0.05)
            for event in self.gameView.pyGame.event.get():
                if event.type == self.gameView.pyGame.MOUSEBUTTONUP:
                    gamer = self.get_gamer()
                    print("gamer")
                    print(gamer)

                    print("PLAYED_CHIPS: " + str(self.playedChips))

                    y, x = self.gameView.pyGame.mouse.get_pos()
                    print("UX__X,Y: " + str(x) + "," + str(y))

                    column = self.gameView.determine_column(x)
                    line = self.gameView.determine_line(y)
                    print("MODEL__X,Y: " + str(line) + "," + str(column))

                    successfully_chip_putted_on_board = self.gameView.gameBoard.put_chip(
                        column, line, gamer)
                    if successfully_chip_putted_on_board:
                        print('PUT CHIP SUCCESSFULLY')
                        self.playedChips += 1

                    self.potentialWinner = self.gameView.gameBoard.get_winner()
                    print("GAGNANT ? : " + str(self.potentialWinner))
                    self.gameView.render()
                    self.gameView.pyGame.display.flip()

                if event.type == self.gameView.pyGame.QUIT:
                    sys.exit(0)
コード例 #2
0
 def game_view(self, state, types, scores=""):
     self.window_resize(_GAME_WIDTH, _GAME_HEIGHT)
     self.empty_frame(self.frame_container)
     self.existing_game_view = GV.GameView(self.frame_container, self,
                                           state, types, scores,
                                           self.game_started)
     self.existing_main_view = None
コード例 #3
0
ファイル: Menus.py プロジェクト: jorenverspeurt/MatchBrain
    def on_new_game(self):
        import GameView
        import logging

        phaseLogger = logging.getLogger('data.train.phase')
        phaseLogger.info('NEWGAME')
        director.push(FlipAngular3DTransition(GameView.get_newgame(), 1.5))
コード例 #4
0
    def __init__(self):
        super().__init__()

        # self.ui = Ui_MainWindow()
        #self.ui.setupUi(self)
        self.view = GameView(self)
        self.setCentralWidget(self.view)
        self.view.start_game()

        self.resize(180, 380)
        # 窗体居中显示
        screen = QDesktopWidget().screenGeometry()
        size = self.geometry()
        self.move((screen.width() - size.width()) / 2,
                  (screen.height() - size.height()) / 2)
        self.show()
コード例 #5
0
class Game:
    NUMBER_OF_CHIPS = 42

    def __init__(self):
        self.gamer = 1
        self.playedChips = 0
        self.potentialWinner = False
        self.gameView = GameView()

    def get_gamer(self):
        # Cette fonction retourne le numero du joueur qui doit jouer
        if self.playedChips % 2 == 0:
            gamer_id = GameBoard.YELLOW_CHIP
        else:
            gamer_id = GameBoard.RED_CHIP
        return gamer_id

    def display_winner(self):
        if self.gamer == "" or self.gamer is None:
            return "personne n'a gagne"
        else:
            return self.gamer + " a gagne"

    def start(self):
        while self.potentialWinner != "jaune" \
                and self.potentialWinner != "rouge" \
                and self.playedChips < Game.NUMBER_OF_CHIPS:
            time.sleep(0.05)
            # Le joueur joue
            for event in self.gameView.pyGame.event.get():

                self.gameView.gameBoard.display()

                if event.type == self.gameView.pyGame.MOUSEBUTTONUP:
                    x, y = self.gameView.pyGame.mouse.get_pos()
                    gamer = self.get_gamer()
                    column = self.gameView.determine_column(x)
                    # On modifie les variables pour tenir compte du jeton depose.
                    self.gameView.gameBoard.put_chip(column, gamer)
                    self.playedChips = self.playedChips + 1
                    self.potentialWinner = self.gameView.gameBoard.get_winner()
                    print("GAGNANT ? : " + str(self.potentialWinner))
                    self.gameView.render()
                    self.gameView.pyGame.display.flip()

                if event.type == self.gameView.pyGame.QUIT:
                    sys.exit(0)
コード例 #6
0
ファイル: Menus.py プロジェクト: jorenverspeurt/MatchBrain
    def on_new_game(self):
        import GameView
        import logging

        phaseLogger = logging.getLogger('data.train.phase')
        phaseLogger.info('NEWGAME')
        director.push(FlipAngular3DTransition(
            GameView.get_newgame(), 1.5))
コード例 #7
0
 def __init__(self):
     self.gamer = 1
     self.playedChips = 0
     self.potentialWinner = False
     self.gameView = GameView()
コード例 #8
0
ファイル: main.py プロジェクト: mhreid/InteractiveProgramming
import GameView
import model
import pygame
from pygame.locals import *
import time
if __name__ == "__main__":
    model = model.Model()
    view = GameView.GameView(model, (1000, 1000))
    running = True
    left, up, down, right = False, False, False, False
    while running:
        for event in pygame.event.get():
            if event.type == QUIT:
                running = False
        time.sleep(.001)
        view.draw()
        if event.type == KEYDOWN:
            if event.key == pygame.K_LEFT:
                left = True
            if event.key == pygame.K_RIGHT:
                right = True
            if event.key == pygame.K_UP:
                up = True
            if event.key == pygame.K_DOWN:
                down = True
        if event.type == KEYUP:
            if event.key == pygame.K_LEFT:
                left = False
            if event.key == pygame.K_RIGHT:
                right = False
            if event.key == pygame.K_UP:
コード例 #9
0
#! /usr/bin/python3

import pygame
import GameView
import GameController
import GameMenu
import GameModel

if __name__ == "__main__":
    pygame.mixer.pre_init(44100, -16, 2, 4096)
    pygame.mixer.init()
    pygame.init()
    gameModel = GameModel.GameModel()
    gameMenu = GameMenu.GameMenu()
    gameView = GameView.GameView(gameMenu.screen, gameModel)
    gameController = GameController.GameController(gameView, gameMenu)
    gameController.main_menu()
コード例 #10
0
        elif action == "unhide":
            undo()
            model.rowHide(x)

        elif action == "refill":
            model.unrefillStack()


if __name__ == "__main__":
    Auto = False
    Victory = False
    Log = []

    # init graphics environment
    view.init()

    # intialize the model
    model.init()

    # deal the cards (ramdom)
    model.shuffle()
    model.deal()

    #update display
    view.display()

    # count the steps
    model.countSteps = 0

    Asteps = []  # list of pre-computed steps for animation
コード例 #11
0
    def __init__(self):
        self.btnStartGame = Buttons.Button()
        self.btnHighscore = Buttons.Button()
        self.btnExit = Buttons.Button()
        #Parameters:               surface,      color,       x,   y,   length, height, width,    text,      text_color
        self.btnStartGame.create_button(self.screen, self.redColor, self.btnNewGameX, 205, 400,    100,    0,        "New game", (255,255,255), self.darkRedColor)
        self.btnHighscore.create_button(self.screen, self.redColor, self.btnHighscoreX, 325, 400,    100,    0,        "Highscore", (255,255,255), self.darkRedColor)
        self.btnExit.create_button(self.screen, self.redColor, self.btnExitGameX, 445, 400,    100,    0,        "Exit game", (255,255,255), self.darkRedColor)
        self.screen.fill(self.blackColor)

        self.gameView = GameView.GameView(self.screen)

        self.setView(self.VIEW_MAINMENU)

        pygame.mixer.pre_init(22050, 16, True, 1024)
        pygame.mixer.init()
        self.button_sound_effect = pygame.mixer.Sound(os.path.join('sounds', "beep04.wav"))

        #Main loop, 60 fps
        while True:
            pygame.display.flip()
            self.screen.fill(self.blackColor)

            if self.currentView == self.VIEW_HIGHSCORE:
                if self.highscoreView is not None:
                    if random.randint(0, 3) == 0:
                        self.backgroundSteps.append(BackgroundStar(self.screen, random.randint(0, self.screenWidth), -50, 3, 3, 5, 0xFFFFFF))
                    removeList = []
                    for step in self.backgroundSteps:
                        step.draw()
                        if step.y > self.screenHeight + 50:
                            removeList.append(step)
                    for step in removeList:
                        self.backgroundSteps.remove(step)
                    self.highscoreView.draw()
            elif self.currentView == self.VIEW_MAINMENU:
                if self.leavingMainMenu:
                    if self.drawsLeft > 0:
                        if self.music_volume > 0.0:
                            self.music_volume -= 0.05
                        pygame.mixer.music.set_volume(self.music_volume)
                        self.drawMainMenu()
                        self.drawsLeft -= 1
                    else:
                        self.currentView = self.VIEW_GAMEVIEW
                        self.gameView.startNewGame()
                        self.leavingMainMenu = False
                elif self.leavingMainMenuForHighscore:
                    if self.drawsLeft > 0:
                        if self.music_volume > 0.0:
                            self.music_volume -= 0.05
                        pygame.mixer.music.set_volume(self.music_volume)
                        self.drawMainMenu()
                        self.drawsLeft -= 1
                    else:
                        self.currentView = self.VIEW_GAMEVIEW
                        self.gameView.startNewGame()
                        self.leavingMainMenu = False
                elif self.leavingGame:
                    if self.drawsLeft > 0:
                        if self.music_volume > 0.0:
                            self.music_volume -= 0.05
                        pygame.mixer.music.set_volume(self.music_volume)
                        self.drawMainMenu()
                        self.drawsLeft -= 1
                    else:
                        pygame.event.post(pygame.event.Event(QUIT))
                else:
                    self.drawMainMenu()
            elif self.currentView == self.VIEW_GAMEVIEW:
                self.drawGameView()

            for text in self.flashTexts:
                if text.isValid():
                    text.draw()
                else:
                    self.flashTexts.remove(text)

            keys = pygame.key.get_pressed()
            if keys[K_LEFT]:
                self.gameView.onLeftPress()
            elif keys[K_RIGHT]:
                self.gameView.onRightPress()

            if keys[K_UP]:
                self.gameView.onUpPress()
            elif keys[K_DOWN]:
                self.gameView.onDownPress()
            if keys[K_SPACE]:
                self.gameView.onSpacePress()

            #Check if mouse if over any button
            self.btnStartGame.rollOver(pygame.mouse.get_pos())
            self.btnExit.rollOver(pygame.mouse.get_pos())
            self.btnHighscore.rollOver(pygame.mouse.get_pos())

            for event in pygame.event.get():
                if event.type == QUIT:
                    pygame.quit()
                    sys.exit()
                elif event.type == MOUSEBUTTONUP:
                     if self.currentView == self.VIEW_MAINMENU:
                        if self.btnStartGame.pressed(pygame.mouse.get_pos()):
                            self.button_sound_effect.play()
                            self.onStartClick()
                        elif self.btnExit.pressed(pygame.mouse.get_pos()):
                            self.button_sound_effect.play()
                            self.leaveGame()
                        elif self.btnHighscore.pressed(pygame.mouse.get_pos()):
                            self.button_sound_effect.play()
                            self.onHighScoreClick()
                     elif self.currentView == self.VIEW_GAMEVIEW:
                        pass
                elif event.type == KEYDOWN:
                    if event.key == K_q:
                        if self.currentView == self.VIEW_GAMEVIEW:
                            self.gameView.onQPress()
                            self.gameView.onCharDown(event.unicode)
                    elif event.key == K_BACKSPACE:
                        self.gameView.onBackspacePress()
                    elif event.key == K_RIGHT:
                            self.gameView.onRightPress()
                    elif event.key == K_LEFT:
                            self.gameView.onLeftPress()
                    elif event.key == K_SPACE:
                            self.gameView.onSpacePress()
                            self.gameView.onCharDown(event.unicode)
                    elif event.key == K_LCTRL:
                            self.gameView.onCTRLPress()
                    elif event.key == K_RETURN:
                            self.gameView.onEnterPress()
                    elif event.key == K_KP_ENTER:
                            self.gameView.onEnterPress()
                    else:
                        self.gameView.onCharDown(event.unicode)
                    if event.key == K_ESCAPE:
                        if self.currentView == self.VIEW_MAINMENU:
                            self.leaveGame()
                        else:
                            if self.currentView == self.VIEW_HIGHSCORE:
                                if self.highscoreView is not None:
                                    self.highscoreView.onDestroy()
                            self.setView(self.VIEW_MAINMENU)
                    if event.key == K_F11:
                        self.toggle_fullscreen()
            self.fpsClock.tick(60)
コード例 #12
0
 def newHardGame(self):
     board = self.generateBoard(self.hardReduceSteps)
     self.app.display = GameView(self.surface, board)
コード例 #13
0
ファイル: Game.py プロジェクト: distung/StrategicDuck
 def on_new_game(self):
     import GameView
     director.push( FadeTransition(GameView.newgame(), .5 ) )
コード例 #14
0
import GameView as gv
from OxfordRequest import OxfordRequest
from time import sleep
from Hangman import Hangman

if __name__ == "__main__":

    # Initialize the views and word generator.
    game_view = gv.HangmanView(1000, 600)
    word_generator = OxfordRequest()

    # English alphabet.
    alphabet = [
        "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
        "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
    ]

    # Game loop...
    while True:
        # Initialize Hangman Model with word (new) & alphabet. Must validate all characters are within alphabet.
        while True:
            try:
                word = word_generator.get_random_word()
                word = word.upper()
                hangman = Hangman(word, alphabet)
                break
            except:
                print(word + " is not valid.")

        game_view.update_image(0)
コード例 #15
0
ファイル: Menus.py プロジェクト: joaompinto/SamePop
    def on_new_game(self):
        import GameView

        director.push(FlipAngular3DTransition(
            GameView.get_newgame(), 1.5))
コード例 #16
0
ファイル: Menus.py プロジェクト: neujie/Alg_Py_Xiangjie
    def on_new_game(self):
        import GameView

        director.push(FlipAngular3DTransition(GameView.get_newgame(), 1.5))
コード例 #17
0
 def newEasyGame(self):
     board = self.generateBoard(self.easyReduceSteps)
     self.app.display = GameView(self.surface, board)