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)
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
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))
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()
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)
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))
def __init__(self): self.gamer = 1 self.playedChips = 0 self.potentialWinner = False self.gameView = GameView()
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:
#! /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()
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
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)
def newHardGame(self): board = self.generateBoard(self.hardReduceSteps) self.app.display = GameView(self.surface, board)
def on_new_game(self): import GameView director.push( FadeTransition(GameView.newgame(), .5 ) )
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)
def on_new_game(self): import GameView director.push(FlipAngular3DTransition( GameView.get_newgame(), 1.5))
def on_new_game(self): import GameView director.push(FlipAngular3DTransition(GameView.get_newgame(), 1.5))
def newEasyGame(self): board = self.generateBoard(self.easyReduceSteps) self.app.display = GameView(self.surface, board)