예제 #1
0
    def generate_pause_menu(self):
        t1 = MenuText((3, 1), "PAUSE")

        texts = [t1]

        b1 = MenuButton((3, 3), "continue", self._button_end_pause)
        b2 = MenuButton((3, 4), "main menu", self._button_main_menu)
        b3 = MenuButton((3, 5), "quit", self._button_quit)

        buttons = [b1, b2, b3]

        om = MenuGraphicsObject(buttons, texts)
        return om
예제 #2
0
    def generate_death_screen(self):
        t1 = MenuText((3, 1), "YOU HAVE DIED <sadly>")

        texts = [t1]

        b1 = MenuButton((3, 3), "main menu", self._button_main_menu)
        b2 = MenuButton((3, 4), "quit", self._button_quit)
        b3 = MenuButton((3, 5), "upload highscore",
                        self._button_highscore_name_input_menu)

        buttons = [b1, b2, b3]

        om = MenuGraphicsObject(buttons, texts)
        return om
예제 #3
0
    def generate_help_menu(self):
        t1 = MenuText((3, 1), "HELP SCREEN")
        t2 = MenuText(
            (3, 3),
            "To navigate in the menus use [arrow keys], and [enter] to select."
        )
        t3 = MenuText((3, 5), "In the game, you controll a \"P\" player.")
        t4 = MenuText((
            3, 6
        ), "In order to progress, shoot all enemies in the room, end reach the \"E\" exit "
                      )
        t5 = MenuText(
            (3, 7),
            "You may use pick-ups to restore health, or get new weapons")
        t6 = MenuText((
            3, 8
        ), "Enemies touching player will decrease health, which at 0 - will cause game over."
                      )
        t7 = MenuText((3, 9), "Enemies are underlined.")
        t8 = MenuText((3, 10),
                      "[escape] button pauses game, and allows to exit.")
        t9 = MenuText((
            3, 11
        ), "Exiting will allow to continue game later, but with the last room reset."
                      )

        texts = [t1, t2, t3, t4, t5, t6, t7, t8, t9]

        b1 = MenuButton((3, 12), "back", self._button_main_menu)

        buttons = [b1]

        hm = MenuGraphicsObject(buttons, texts)
        return hm
예제 #4
0
    def _generate_name_input_menu(self):

        t1 = MenuText((3, 1), "Type in your username")
        t2 = MenuText((3, 2),
                      "[A-Z] type, [BACKSPACE] erase, character limit = 64")
        self.t_highscore = MenuText((3, 3), "YOUR SCORE IS: " + str(0))
        t3 = MenuText((1, 5), "->")
        self.type_text = MenuTypeText((3, 5), "SampleName", 64)
        self.info_text = MenuText((3, 6), "")

        b1 = MenuButton((3, 8), "go to menu", self._func_goto_menu)
        b2 = MenuButton((3, 9), "upload score", self._on_upload_pressed)
        texts = [t1, t2, self.type_text, self.info_text, t3, self.t_highscore]
        buttons = [b1, b2]

        m = MenuGraphicsObject(buttons, texts)
        self.highscore = 0

        return m
예제 #5
0
    def _generate_name_summary_menu(self):

        t1 = MenuText((3, 1), "Your score has been uploaded.")
        b1 = MenuButton((3, 4), "go to menu", self._func_goto_menu)

        texts = [t1]
        buttons = [b1]

        m = MenuGraphicsObject(buttons, texts)

        return m
예제 #6
0
    def generate_options_menu(self):
        t1 = MenuText((3, 1), "CONTROLS SCREEN")
        t2 = MenuText((3, 3), "[arrow keys] move")
        t3 = MenuText((3, 4), "[space] shoot")

        texts = [t1, t2, t3]

        b1 = MenuButton((3, 12), "back", self._button_main_menu)

        buttons = [b1]

        om = MenuGraphicsObject(buttons, texts)
        return om
예제 #7
0
    def _generate_viewer_menu(self):
        t1 = MenuText((3, 1), "HIGHSCORES:")
        t2 = MenuText((
            3, 3
        ), "NAME                                                             SCORE  DATE       TIME"
                      )
        t3 = MenuText((
            3, 15
        ), "TO VIEW OTHER HIGHSCORES, USE BELLOW BUTTONS TO SELECT DIFFERENT ORDER AND TIME:"
                      )
        self.highscore_viewer_text_menu_objs = []
        for i in range(10):
            t = MenuText((3, i + 4), "")
            self.highscore_viewer_text_menu_objs.append(t)

        b1 = MenuButton((3, 25), "go to menu", self._func_goto_menu)

        b_ord_1 = MenuButton((3, 17), "top",
                             lambda: self._request_results(0, True, None))
        b_ord_2 = MenuButton((3, 18), "bottom",
                             lambda: self._request_results(1, False, None))

        b_time_1 = MenuButton((3, 20), "all",
                              lambda: self._request_results(2, None, "all"))
        b_time_2 = MenuButton((3, 21), "month",
                              lambda: self._request_results(3, None, "month"))
        b_time_3 = MenuButton((3, 22), "week",
                              lambda: self._request_results(4, None, "week"))
        b_time_4 = MenuButton((3, 23), "day",
                              lambda: self._request_results(5, None, "day"))

        self.time_buttons = [b_time_1, b_time_2, b_time_3, b_time_4]
        self.ord_buttons = [b_ord_1, b_ord_2]
        self.istop = True
        self.time = "all"

        texts = [t1, t2, t3] + self.highscore_viewer_text_menu_objs
        buttons = [b1] + self.time_buttons + self.ord_buttons

        m = MenuGraphicsObject(buttons, texts)

        self._request_results(1, True, None)
        self._request_results(2, None, "all")

        return m
예제 #8
0
    def generate_main_menu(self):
        t1 = MenuText((3, 1), "THE")
        t2 = MenuText((3, 2), "DUNGEON")
        t3 = MenuText((3, 3), "OF")
        t4 = MenuText((3, 4), "CURSES")

        b1 = MenuButton((3, 6), "continue", self._button_continue)
        b2 = MenuButton((3, 7), "new game", self._button_newgame)
        b3 = MenuButton((3, 8), "options", self._button_options)
        b4 = MenuButton((3, 9), "help", self._button_help)
        b5 = MenuButton((3, 10), "view highscores",
                        self._button_highscore_viewer)
        b6 = MenuButton((3, 11), "quit", self._button_quit)
        texts = [t1, t2, t3, t4]
        buttons = [b1, b2, b3, b4, b5, b6]

        mm = MenuGraphicsObject(buttons, texts)

        return mm