Exemplo n.º 1
0
def stat(surface):
    """Отображает окно статистики

    """
    image = pygame.image.load(stat_hist.histogramm())

    finished = False
    while not finished:
        surface.fill(sett.WHITE)
        back_butt = Buttons.Button()
        surface.blit(image, (10, 150))
        printer(surface, 'Статистика', 40, (300, 50))

        rec_x = 378 - 8 * (len(str(stat_hist.record())) - 1
                           )  # Центрирование строки с рекордным результатом
        printer(surface, 'Рекорд: ' + str(stat_hist.record()), 25,
                (rec_x, 600))

        back_butt.create_button(surface, sett.WHITE, 375, 660, 150, 60, 3,
                                "Назад", sett.BLACK)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            elif event.type == MOUSEBUTTONDOWN:
                if back_butt.pressed(pygame.mouse.get_pos()):
                    finished = True
        pygame.display.flip()
Exemplo n.º 2
0
def pause(surface):
    """Отображает окно паузы.

    Примает поверхность вывода.

    """
    finished = False
    while not finished:
        surface.fill(sett.WHITE)
        printer(surface, 'Пауза', 50, (360, 330))

        cont_butt = Buttons.Button()
        cont_butt.create_button(surface, sett.WHITE, 325, 420, 250, 80, 3,
                                "Продолжить", sett.BLACK)

        exit_butt = Buttons.Button()
        exit_butt.create_button(surface, sett.WHITE, 325, 520, 250, 80, 3,
                                "Выйти из игры", sett.BLACK)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            elif event.type == MOUSEBUTTONDOWN:
                if cont_butt.pressed(pygame.mouse.get_pos()):
                    finished = True
                elif exit_butt.pressed(pygame.mouse.get_pos()):
                    main_menu.menu(surface)

        pygame.display.flip()
Exemplo n.º 3
0
def menu(surface):
    """Оперирует окном главного меню.

    Примает поверхность вывода.

    """
    finished = False

    vert_control_tick = 0
    demo_fig = []

    while not finished:
        surface.fill(sett.WHITE)

        printer(surface, 'Тетрис', 50, (340, 330))

        play_butt = Buttons.Button()
        settings_butt = Buttons.Button()
        stat_butt = Buttons.Button()

        play_butt.create_button(surface, sett.WHITE, 350, 420, 200, 80, 3,
                                "Играть", sett.BLACK)
        settings_butt.create_button(surface, sett.WHITE, 350, 520, 200, 80, 3,
                                    "Настройки", sett.BLACK)
        stat_butt.create_button(surface, sett.WHITE, 350, 620, 200, 80, 3,
                                "Статистика", sett.BLACK)

        vert_control_tick, demo_fig = animation(surface, vert_control_tick,
                                                demo_fig)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            elif event.type == MOUSEBUTTONDOWN:
                if play_butt.pressed(pygame.mouse.get_pos()):
                    new_game = Game(surface)
                    new_game.driver()
                elif settings_butt.pressed(pygame.mouse.get_pos()):
                    settings(surface)
                elif stat_butt.pressed(pygame.mouse.get_pos()):
                    stat(surface)

        pygame.display.flip()
Exemplo n.º 4
0
def runExperiemnt(detector, matcher, filesList, path, algorithmName):
	matches_set = seekMatches(detector, matcher, filesList, path)
	filtered = basicFormater(matches_set)

	dataFiltered = printer(filtered)
	saveToFile(algorithmName + "-filtered.csv", dataFiltered)

	dataGlobal = globalPrinter(matches_set, filesList, path)
	saveToFile(algorithmName + "-global.csv", dataGlobal)

	dataMatch = matchPrinter(filtered)
	saveToFile(algorithmName + "-match.csv", dataMatch)
Exemplo n.º 5
0
def game_over(surface, lines, points):
    """Оперирует окном окончания игры.

    Записывает в txt-файлы дату, время игры и количество очков.
    Примает поверхность вывода, а также число уничтоженных линий
    и количество набранных очков.

    """
    finished = False
    curr_sound.play('game_ov')
    file = open("tetris_datetime.txt", "a")
    t = datetime.datetime.now()
    file.write(str(t)[0:16] + '\n')
    file.close()
    file = open("tetris_score.txt", "a")
    file.write(str(points) + '\n')
    file.close()
    histogramm()

    while not finished:
        surface.fill(sett.WHITE)

        printer(surface, 'Игра окончена', 45, (245, 330))

        lines_x = 365 - (len(str(lines)) -
                         1) * 8  # Центрирование строки с числом линий
        printer(surface, 'Линий: ' + str(lines), 30, (lines_x, 410))

        points_x = 365 - (len(str(points)) -
                          1) * 8  # Центрирование строки с числом очков
        printer(surface, 'Очков: ' + str(points), 30, (points_x, 460))

        curr_music.stop()

        ex_butt = Buttons.Button()
        ex_butt.create_button(surface, sett.WHITE, 350, 530, 200, 60, 3,
                              "В меню", sett.BLACK)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            elif event.type == MOUSEBUTTONDOWN:
                if ex_butt.pressed(pygame.mouse.get_pos()):
                    curr_music.play()
                    main_menu.menu(surface)

        pygame.display.flip()
Exemplo n.º 6
0
    def draw(self):
        """Отрисовывает все объекты класса.

        """
        self.screen.fill(sett.WHITE)  # Фон
        self.glass.draw()
        self.next_box.draw()
        self.pause_butt.create_button(self.screen, sett.WHITE, 640, 420, 100,
                                      80, 3, "Пауза", sett.BLACK)
        self.curr_fig.draw()
        self.next_fig.draw_next()

        for dead_cube in self.dead_cubes:  # Отрисовка неподвижных кубиков
            dead_cube.draw()

        printer(self.screen, "Следующая:", 28, (585, 52))
        printer(self.screen, "Линии: " + str(self.curr_lines), 28, (585, 320))
        printer(self.screen, "Очки: " + str(self.curr_points), 28, (585, 365))
Exemplo n.º 7
0
 def __init__(self):
     population = list()
     if POPULATION_SIZE & 1 == 0:
         population = self.populate(population)
         population = self.iterate(population)
         printer(population)
Exemplo n.º 8
0
def settings(surface):
    """Отображает окно пользовательских настроек и управляет им.

    Примает поверхность вывода.

    """
    finished = False
    while not finished:
        surface.fill(sett.WHITE)

        # Вывод надписей на экран
        printer(surface, 'Настройки', 40, (320, 160))
        printer(surface, 'Музыка', 32, (380, 260))
        printer(surface, 'Звуки', 32, (153, 260))
        printer(surface, 'Тема', 32, (645, 260))

        # Создание кнопок. Впоследствии будет переделано!
        music0_butt = Buttons.Button()
        music1_butt = Buttons.Button()
        music2_butt = Buttons.Button()

        sounds0_butt = Buttons.Button()
        sounds1_butt = Buttons.Button()

        theme0_butt = Buttons.Button()
        theme1_butt = Buttons.Button()

        back_butt = Buttons.Button()

        # Форматирование кнопок
        music0_butt.create_button(surface, sett.WHITE, 350, 330, 200, 60, 3,
                                  "Без музыки", sett.BLACK)
        music1_butt.create_button(surface, sett.WHITE, 350, 430, 200, 60, 3,
                                  "Оригинальная", sett.BLACK)
        music2_butt.create_button(surface, sett.WHITE, 350, 530, 200, 60, 3,
                                  "Современная", sett.BLACK)

        sounds1_butt.create_button(surface, sett.WHITE, 135, 330, 150, 60, 3,
                                   "Включить", sett.BLACK)
        sounds0_butt.create_button(surface, sett.WHITE, 135, 430, 150, 60, 3,
                                   "Выключить", sett.BLACK)

        theme0_butt.create_button(surface, sett.WHITE, 615, 330, 150, 60, 3,
                                  "Светлая", sett.BLACK)
        theme1_butt.create_button(surface, sett.WHITE, 615, 430, 150, 60, 3,
                                  "Тёмная", sett.BLACK)

        back_butt.create_button(surface, sett.WHITE, 375, 650, 150, 60, 3,
                                "Назад", sett.BLACK)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            elif event.type == MOUSEBUTTONDOWN:
                if back_butt.pressed(pygame.mouse.get_pos()):
                    finished = True

                elif music0_butt.pressed(pygame.mouse.get_pos()):
                    curr_music.stop()
                elif music1_butt.pressed(pygame.mouse.get_pos()):
                    curr_music.change('original')
                elif music2_butt.pressed(pygame.mouse.get_pos()):
                    curr_music.change('modern')

                elif theme0_butt.pressed(pygame.mouse.get_pos()):
                    sett.BLACK, sett.WHITE, sett.WHITE_HEX = (0, 0, 0), (
                        255, 255, 255), '#ffffff'
                elif theme1_butt.pressed(pygame.mouse.get_pos()):
                    sett.BLACK, sett.WHITE, sett.WHITE_HEX = (255, 255, 255), (
                        0, 0, 0), '#000000'

                elif sounds0_butt.pressed(pygame.mouse.get_pos()):
                    curr_sound.is_sound_on = False
                elif sounds1_butt.pressed(pygame.mouse.get_pos()):
                    curr_sound.is_sound_on = True

        pygame.display.flip()