示例#1
0
文件: puzzle.py 项目: dchen741/TaDa
  def start_puzzle(self):
    while(not self.solved):
      while(True):
        response_code = self.code
        for i, l in enumerate(self.lines):
          clear()
          put_text(self.lesson)
          print_code(response_code, "\nThe code currently is:")
          resp = int(get_text('Place the line \'%s\': ' % l))
          response_code = self.process_input(resp, l, response_code)
        threads = self.translator(response_code)
        simulator = Simulator(threads, self.predicate, self.semaphores, self.poll_rate)
        success, message = simulator.run_sim()
        simulator.visualize()
        if success:
          put_text('Simulator test Passed!')
        else:  
          put_text('Simulator test Failed!')
        put_text(message)
        get_text('Check against the real answer? (y/n)')

        clear()
        put_text(self.lesson)
        print_code(response_code, "\nThe code currently is:")

        if(response_code == self.answer):
          put_text("Congratulations! That's correct. Good job!\n")
          break
        else:
          get_text("Woops! That's incorrect. Try again? (y/n)\n")
      self.solved = True