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()
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)
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()
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)
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)
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__()
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
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)
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
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)
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()