コード例 #1
0
def main():
    pygame.mixer.Channel(0).set_volume(0.1)
    pygame.mixer.Channel(1).set_volume(0.2)
    pygame.mixer.Channel(2).set_volume(0)
    pygame.mixer.Channel(3).set_volume(0.3)
    pygame.mixer.Channel(4).set_volume(0)

    pygame.mouse.set_visible(False)

    # Запускаем главное меню
    StartMenu(screen)

    # Загружаем игру, когда главное меню закрылось
    level = MainMap('world.tmx', MapLoader())

    level.player.health = 100
    level.player.temperature = 100
    level.player.wood = 2

    # Панели состояния игрока
    heath_hud = HealthHUD(level.player)
    inv_hud = InventoryHUD(level.player)

    # Открываем окно с правилами
    level.text_window.open()

    pygame.mixer.Channel(0).set_volume(0.2)

    clock = pygame.time.Clock()
    running = True
    while running:
        start = time.time()
        # Если здоровье падает до нуля открываем окно game_over
        if level.player.health <= 0:
            level.game_over(screen)
            return True

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                return False
            # Нажатие на клетку
            if event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == 1:
                    level.click_listener(event.pos)

        # Отрисовка элементов
        level.update(screen)
        heath_hud.render(screen)
        inv_hud.render(screen)
        screen.blit(compass, (SCREEN_WIDTH - compass.get_width(),
                              SCREEN_HEIGHT - compass.get_height()))

        #  Убираем курсор если окно не в фокусе
        if pygame.mouse.get_focused():
            screen.blit(pointer, (pygame.mouse.get_pos()))
        pygame.display.update()
        framerate = 1 / (time.time() - start)
        clock.tick(FPS)
コード例 #2
0
ファイル: main.py プロジェクト: shiro-eden/Lost
def start_menu():
    screen = StartMenu()

    game = True
    while game:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game = False

        screen.draw()
        pygame.display.flip()

        clock.tick(30)
        res = screen.get_result()
        if res != -1:
            game = False
    if res == 1:
        select_chr()
コード例 #3
0
ファイル: main.py プロジェクト: shiro-eden/Rizumu
def start_menu():
    global closed
    if closed:
        return
    # функция для создания, отрисовки стартового меню
    screen = StartMenu()
    game = True
    res = -1  # переменная, возвращающая состояние экрана
    while not transition.get_transition():  # отображение перехода между меню
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                closed = True
                return

        transition.render()
        pygame.display.flip()
        clock.tick(fps)
    screen.render()
    while game:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game = False
                closed = True
            if event.type == pygame.KEYDOWN:
                keys = pygame.key.get_pressed()
                if keys[pygame.K_SPACE] or keys[
                        pygame.K_RETURN]:  # переход в меню выбора карт
                    screen.result = 1
                    pygame.mixer.music.stop()

        if transition.get_transition():  # отображение перехода между меню
            if not transition.background:
                # сохранение изображения на экране для быстрой отрисовки
                pygame.image.save(display, 'image/background_for_load.png')
                transition.background = load_image('background_for_load.png')
            transition.render()
        else:
            screen.render()
        pygame.display.flip()
        clock.tick(fps)
        res = screen.get_result()
        if res != -1:
            game = False
    if res == 1:
        frame = transition.get_frame()  # смена состояния перехода
        if frame != 35 and frame != -1:
            transition.reverse()
        transition.background = None
        select_map()
コード例 #4
0
ファイル: main.py プロジェクト: ClubEngine/GameJam4
    def __init__(self, width, height, caption="Street Pirates Vs. Ninjas"):
        """
        Constructor.
        @param  self     [Main]     itself  
        @param  width    [Int]      width of the window
        @param  height   [Int]      height of the window
        @param  caption  [String]   caption of the window
        """
        self.width = width
        self.height = height

        # pygame objects initialization
        pygame.init()

        icon = pygame.image.load("assets/Icone.png")
        pygame.display.set_icon(icon)
        self._soundManager = SoundManager()
        self._soundManager.playMenuMusic()

        self._fpsClock = pygame.time.Clock()
        self._window = pygame.display.set_mode((self.width, self.height), pygame.DOUBLEBUF)

        pygame.display.set_caption(caption)

        pygame.mouse.set_cursor(*pygame.cursors.tri_left)

        # game objects initialization
        self._scene = Scene([[100, 0, 0], [-100, 0, 0]], self)
        self._listener = EventListener(self._scene, self)
        self._startMenu = StartMenu(self)
        self._startMenu.drawSplashScreen()  # just before loading
        self._screen = Screen(self._window, self._scene, self._startMenu)
        self._startMenu.draw()

        # main object properties initialization
        self.state = GameState.START_MENU
        self.loop = True
コード例 #5
0
# importing libraries 
import sys 
sys.path.append("./menu/")
from random import randint

from PyQt5.QtWidgets import * 
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 

from StartMenu import StartMenu
from LivingRoom import LivingRoom
from Room import Room

if __name__ == '__main__':
    # create pyqt5 app 
    App = QApplication(sys.argv) 
      
    # create the instance of our Window 
    menu = StartMenu()
    menu.show()
     
    #game = LivingRoom()
    #game.show()

    # start the app 
    sys.exit(App.exec()) 
コード例 #6
0
ファイル: main.py プロジェクト: ClubEngine/GameJam4
class Main:
    """ Main class for the game. """

    def __init__(self, width, height, caption="Street Pirates Vs. Ninjas"):
        """
        Constructor.
        @param  self     [Main]     itself  
        @param  width    [Int]      width of the window
        @param  height   [Int]      height of the window
        @param  caption  [String]   caption of the window
        """
        self.width = width
        self.height = height

        # pygame objects initialization
        pygame.init()

        icon = pygame.image.load("assets/Icone.png")
        pygame.display.set_icon(icon)
        self._soundManager = SoundManager()
        self._soundManager.playMenuMusic()

        self._fpsClock = pygame.time.Clock()
        self._window = pygame.display.set_mode((self.width, self.height), pygame.DOUBLEBUF)

        pygame.display.set_caption(caption)

        pygame.mouse.set_cursor(*pygame.cursors.tri_left)

        # game objects initialization
        self._scene = Scene([[100, 0, 0], [-100, 0, 0]], self)
        self._listener = EventListener(self._scene, self)
        self._startMenu = StartMenu(self)
        self._startMenu.drawSplashScreen()  # just before loading
        self._screen = Screen(self._window, self._scene, self._startMenu)
        self._startMenu.draw()

        # main object properties initialization
        self.state = GameState.START_MENU
        self.loop = True

    def start(self):
        """
        Launches the main loop of the game.
        @param  self     [Main]     itself
        """
        # main loop
        while self.loop:
            if self.state == GameState.START_MENU:
                self._listener.listen()
                self._startMenu.draw()
            elif self.state == GameState.IN_GAME:
                self._listener.listen()
                self._screen.draw()

            self._fpsClock.tick(30)

    def stop(self):
        """
        Definitely stop the main loop.
        @param  self     [Main]     itself
        """
        self.loop = False

    def changeState(self, state):
        self.state = state
        self._soundManager.stop()
        if state == GameState.IN_GAME:
            self._soundManager.playMusic("fightmusic")