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)
Exemple #2
0
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()
Exemple #3
0
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()
# 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())