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 __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()
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()
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 newEasyGame(self): board = self.generateBoard(self.easyReduceSteps) self.app.display = GameView(self.surface, board)