def main_loop(self):
while True:
self.took_turn = False
self.timer, next_actor = heapq.heappop(self.event_queue)
if isinstance(next_actor, Player):
while True:
self.draw_screen()
try:
c = self.main.getch()
msg = self.keybindings[c]["function"](**self.keybindings[c]["args"])
except KeyError:
continue
else:
if msg:
self.add_message(msg)
self.add_event(next_actor)
self.current_level.heatmap(self.player.x, self.player.y)
break
else:
msg = next_actor.take_turn(self.current_level)
if msg:
if msg == "Game over.":
self.save_game()
self.msg_handler.new_message(Message(msg))
self.add_event(next_actor)
评论列表
文章目录