class Questioner: name = "Questioner" character = '?' def __init__(self, board_size): board_width, board_height = board_size self.position = (board_width // 2, board_height // 2) self.score_prompt = 200 self.speak = True def play_turn(self,game): score=game.state.get("score", 0) person = game.get_agent_by_name('Person') if not person: return personx, persony = person.position questionerx, questionery = self.position if personx == questionerx and persony == questionery +1: if score == 0 and self.speak: prompt = input("Questioner: Are you ready to start the game? [[Y/N]] \n") if prompt.strip().upper() == "Y": print("Questioner: Well then, the rules are as follows... \n 1. You have 3 lives. \n 2. For every 200 points you accumulate during Starfall, you receive a question. \n 3. Each wrong answer costs you a life. You must answer 3 questions to escape this terminal. \n") begin = input("Questioner: Shall we begin? [[Y/N]] \n" ) if begin.strip().upper() == "Y": print("Questioner: Well then, good luck player \n Come back to me once you accumulate 200 points! ") game.state["begin"] = True elif prompt.strip().upper() == "N": print("Questioner: I'll be here when you're ready to restart. \n") game.state["begin"] = False else: print("Questioner: What now? (RESTART) \n") game.state["begin"] = False self.speak = False if score >= self.score_prompt: game.state["begin"] = False self.ask_question_1(game) def ask_question_1(self,game): score=game.state.get("score") if score >= self.score_prompt: game.state["begin"] = False self.score_prompt += 200 self.speak = True question_1 = input("Very well, here is the first question: \n What is the monster from the first season of 'Stranger Things' called? \n" ) if question_1.strip().lower() == "demogorgon": print("You may proceed. See you again once you reach 400 points!") else: print("HMPH! WRONG!! YOU HAVE TWO LIVES REMAINIG.") game.state['lives'] = 2 proceed_1 = input("Shall we continue? [[Y/N]]") if proceed_1.strip().upper() == "Y": game.state["begin"] = True self.speak = False else: print("I don't take this as an answer... CONTINUE!") game.state["begin"] = True self.speak = False def ask_question_2(self,game): score=game.state.get("score") if score >= self.score_prompt: game.state["begin"] = False self.score_prompt += 200 self.speak = True question_2 = input("Here is the second question: \n What is the 18th element of the periodic table? \n" ) if question_2.strip().lower() == "argon": print("You may proceed. See you again once you reach 600 points!") else: print("HMPH! WRONG!! YOU HAVE ONE LIFE REMAINIG.") game.state['lives'] = 1 proceed_2 = input("Shall we continue? [[Y/N]]") if proceed_2.strip().upper() == "Y": game.state["begin"] = True self.speak = False else: print("I don't take this as an answer... CONTINUE!") game.state["begin"] = True self.speak = False