Пример #1
0
 def quit(self, Player, Controller, Scene):
     Scene.clear_screen()
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "                                                   Quit Game",
         Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     loop = True
     while loop == True:
         Scene.line = 3
         #Are you Sure you want to quit?
         Scene.screen.addstr(Scene.line, 1, Scene.make_line(87, "Menu", {}))
         Scene.line += 1
         response = Controller.get_response(Player, False, Scene)
         if Controller.bools["Yes"] == True:
             loop = False
             if self.menu == False:
                 self.return_to_menu(Controller, Scene, Player)
         elif Controller.bools["No"] == True:
             loop = False
             if self.menu == True:
                 self.initialize()
Пример #2
0
 def options(self, Player, Controller, Scene, File):
     self.Options = True
     Scene.clear_screen()
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "                                                    Options",
         Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     #Type back to Exit
     Scene.screen.addstr(Scene.line, 1, Scene.make_line(65, "Menu", {}))
     Scene.line += 1
     #Type Your Selection
     Scene.screen.addstr(
         Scene.line, 1, Scene.print_header(Scene.make_line(92, "Menu", {})))
     Scene.line += 3
     selections = ["Change Names", "Delete Save Data"]
     for x in range(len(selections)):
         Scene.screen.addstr(Scene.line, 1, "* ", Scene.yellow)
         Scene.screen.addstr(selections[x])
         Scene.line += 1
     self.loop = True
     while self.loop == True:
         Controller.line = Scene.line
         Controller.get_command(Player, File, self, Scene)
Пример #3
0
 def battle_UI(self, Player, Enemy, Scene, Command):
     Scene.clear_screen()
     Scene.enemy_HUD(Enemy)
     Scene.active_spells(Enemy)
     Scene.player_HUD(Player, self)
     Scene.active_spells(Player)
     Scene.inventory_list(Player, self)
     Scene.spellbook_display(Player, self)
     Scene.turn_counter(self)
     Scene.battle_log()
     Scene.command_line()
Пример #4
0
 def credits(self, Player, Controller, Scene):
     Scene.clear_screen()
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "                                                     Credits",
         Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 53, "Story By")
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 50, "Daniel Navarro", Scene.cyan)
     Scene.line += 2
     Scene.screen.addstr(Scene.line, 51, "Programming")
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 50, "Daniel Navarro", Scene.cyan)
     Scene.line += 2
     Scene.screen.addstr(Scene.line, 44, "Assistant to the Programmer")
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 51, "Iroh the Cat", Scene.cyan)
     Scene.line += 2
     Scene.screen.addstr(Scene.line, 52, "QA Testers")
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 50, "Daniel Navarro", Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 50, "Madhu Kottalam", Scene.cyan)
     Scene.line += 2
     Scene.screen.addstr(Scene.line, 50, "Special Thanks")
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 51, "Jey Kottalam", Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 50, "Madhu Kottalam", Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 50, "Estella Garcia", Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 51, "Iroh the Cat", Scene.cyan)
     Scene.line += 2
     #Type back to Exit
     Scene.screen.addstr(Scene.line, 1, Scene.make_line(65, "Menu", {}))
     Scene.line += 1
     loop = True
     while loop == True:
         response = Controller.get_response(Player, False, Scene)
         if Controller.bools["Exit"] == True:
             loop = False
             self.main_menu(Player, Controller, Scene)
Пример #5
0
 def start_game(self, Player, Controller, Scene):
     if self.Debug == False:
         Scene.get_names(Player, Controller)
         Scene.Intro_Grandfather(Player, Controller, Scene, self)
         Scene.Intro_Friend(Player, Controller)
         Scene.Intro_Agatha(Player, Controller, Scene, self)
         Scene.defeated_by_Agatha(Player)
         Scene.spellbook_tutorial(Player, Controller, self)
     else:
         Scene.clear_screen()
         self.story = True
         self.spellbook = True
     #Enter Tower
     self.current_floor = self.tower[5].Name
     self.tower[5].enter_room(Player, Scene, Controller, self)
Пример #6
0
 def main_menu(self, Player, Controller, Scene):
     Scene.clear_screen()
     self.menu = True
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "                                                  Spell Caster",
         Scene.cyan)
     Scene.screen.addstr(Scene.line, 110, "Ver: ")
     Scene.screen.addstr("2.01", Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     #Type your selection
     Scene.screen.addstr(
         Scene.line, 1, Scene.print_header(Scene.make_line(92, "Menu", {})))
     Scene.line += 3
     selection = [
         "About", "New Game", "Continue", "Options", "Cheats", "Credits",
         "Quit"
     ]
     file = Files()
     for x in range(len(selection)):
         if selection[x] != "Continue" and selection[x] != "Options":
             Scene.screen.addstr(Scene.line, 1, "* ", Scene.yellow)
             Scene.screen.addstr(selection[x])
             Scene.line += 1
         else:
             if file.Continue() == True:
                 Scene.screen.addstr(Scene.line, 1, "* ", Scene.yellow)
                 Scene.screen.addstr(selection[x])
                 Scene.line += 1
             else:
                 continue
     self.loop = True
     while self.loop == True:
         Controller.line = Scene.line
         Controller.get_command(Player, file, self, Scene)
     file.__delete__()
Пример #7
0
 def get_speaker_name(self, Player, Key, Scene, Scene_num): #self, Class, "Key", Class, [Scene_num0, Scene_num1, Scene_num2]
     self.screen = Scene.screen
     self.Scene = Scene
     loop = True
     repeat1 = False
     while loop == True:
         Scene.clear_screen()
         if repeat1 == True:
             self.screen.addstr(Scene.line, 1, Scene.make_line(Scene_num[2], "Story", {})) #Sorry, I don't understand...
             Scene.line += 1
         X = Scene.find_keyword("name", Scene.make_line(Scene_num[0], "Story", {}))
         self.screen.addstr(Scene.line, 1, Scene.print_message(Scene_num[0], False, "Story", {})) #What was their name?
         Scene.pin_line(Scene.line, X, "name", "Cyan")
         Scene.line += 1
         response = self.get_response(Player, False, Scene)
         response = response.title()
         loop2 = True
         repeat2 = False
         while loop2 == True:
             if len(response) > 0:
                 Scene.clear_screen()
                 Scene.help_text(103, {})
                 if repeat2 == True:
                     self.screen.addstr(Scene.line, 1, Scene.make_line(Scene_num[2], "Story", {})) #Sorry, I don't understand...
                     Scene.line += 1
                 self.screen.addstr(Scene.line, 1, Scene.make_line(Scene_num[1], "Story", {"{Name}": response})) #"{Name}". Did I hear that correctly?
                 self.screen.refresh()
                 Scene.line += 1
                 confirmation = self.get_response(Player, False, Scene)
                 confirmation = confirmation.title()
                 if confirmation in self.yes:
                     loop = False
                     loop2 = False
                     if Key != "Player":
                         Player.Speakers[Key] = response
                     else:
                         Player.Name["Value"] = response
                 elif confirmation in self.no:
                     loop2 = False
                 else:
                     repeat2 = True
             else:
                 repeat1 = True
                 loop2 = False
Пример #8
0
 def about(self, Player, Controller, Scene):
     Scene.clear_screen()
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "                                               About Spell Caster",
         Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(Scene.line, 1,
                         "Welcome to the world of Spell Caster!")
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1, "In this game, you play as a young witch or wizard")
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "An evil witch has transformed your best friend into a frog and threatens to take over the world!"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "It is up to you to learn new spells, defeat the evil witch, and help change your friend back!"
     )
     Scene.line += 3
     #Type back to Exit
     Scene.screen.addstr(Scene.line, 1, Scene.make_line(65, "Menu", {}))
     Scene.line += 1
     loop = True
     while loop == True:
         response = Controller.get_response(Player, False, Scene)
         if Controller.bools["Exit"] == True:
             loop = False
             self.main_menu(Player, Controller, Scene)
Пример #9
0
 def return_to_menu(self, Controller, Scene, Player):
     loop = True
     while loop == True:
         Scene.clear_screen()
         #Return to Main Menu?
         if self.game_over == True:
             Scene.screen.addstr(
                 Scene.line, 1,
                 Scene.print_header(Scene.make_line(1, "Menu", {})))
             Scene.line += 3
         Scene.screen.addstr(Scene.line, 1, Scene.make_line(88, "Menu", {}))
         Scene.line += 1
         response = Controller.get_response(Player, False, Scene)
         if Controller.bools["Yes"] == True:
             loop = False
             self.initialize()
         elif Controller.bools["No"] == True:
             loop = False
             self.Story = False
             Scene.screen.clear()
             Scene.screen.addstr(0, 1, "Thanks for Playing!")
             response = Controller.get_response(Player, False, Scene)
             break
Пример #10
0
 def cheats(self, Player, Controller, Scene):
     Scene.clear_screen()
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "                                                     Cheats",
         Scene.cyan)
     Scene.line += 1
     Scene.screen.addstr(
         Scene.line, 1,
         "-----------------------------------------------------------------------------------------------------------------------"
     )
     Scene.line += 1
     #Type Back to Exit
     Scene.screen.addstr(Scene.line, 1, Scene.make_line(65, "Menu", {}))
     Scene.line += 1
     #Enter Password
     Scene.screen.addstr(
         Scene.line, 1, Scene.print_header(Scene.make_line(89, "Menu", {})))
     Scene.line += 3
     loop = True
     while loop == True:
         response = Controller.get_response(Player, False, Scene)
         if response == Controller.Cheat:
             loop = False
             self.Debug = True
             Scene.screen.addstr(Scene.line + 1, 1,
                                 " * Debug Mode Enabled!", Scene.green)
             response = Controller.get_response(Player, False, Scene)
             self.main_menu(Player, Controller, Scene)
         elif Controller.bools["Exit"] == True:
             loop = False
             self.main_menu(Player, Controller, Scene)
Пример #11
0
 def start_battle(self, Player, Enemy, controller,
                  Scene):  #self, Class, Class, Class, Class
     self.screen = Scene.screen
     Scene.log = []
     self.battle = True
     self.story = False
     self.turn = 1
     while self.win_conditions(Player, Enemy) == False:
         self.take_turn(Player, Enemy, controller, Scene)
     if self.win_conditions(Player, Enemy) == True:
         self.battle = False
         self.story = True
         controller.stumbles = 0
         Player.Resistances = []
         Player.Weaknesses = []
         Player.Heals = []
         if self.game_over == True:
             #Game Over!
             self.story = False
             self.return_to_menu(controller, Scene, Player)
         elif self.game_over == False and self.can_lose == False:
             Scene.log = []
             Scene.clear_screen()
             self.Story_UI(Player, Scene, controller)
             Scene.victory_screen(Player, Enemy, self)
             response = controller.get_response(Player, False, Scene)
             end_spells = Spell(Player)
             end_spells.deactivate_duration_spells(Player, Enemy)
             end_spells.__delete__()
             Enemy.__delete__()
             Scene.clear_screen()
             Player.check_XP(Scene)
             spell = Spell(Player)
             spell.learn_exp_spells(Player, Scene)
         elif self.game_over == False and self.can_lose == True:
             Scene.log = []
             response = controller.get_response(Player, False, Scene)
             Scene.clear_screen()
             #{Name} is defeated!
             end_spells = Spell(Player)
             end_spells.deactivate_duration_spells(Player, Enemy)
             end_spells.__delete__()
             Scene.screen.addstr(Scene.line, 1,
                                 Scene.print_header("Defeated"))
             Scene.line += 3
             Scene.screen.addstr(
                 Scene.line, 1,
                 Scene.make_line(36, "Menu",
                                 {"{Name}": Player.Name["Value"]}))
             Scene.help_text(106, {})
             Scene.screen.refresh()
             response = controller.get_response(Player, False, Scene)
             Player.rest()