|
_ = (lambda curses, random: lambda SOUTH, NORTH, WEST, EST, FRUIT, SNAKE_BODY, BORDER_TOP_BOTTOM, BORDER_LEFT_RIGHT:(lambda Snake: (lambda SnakeView: curses.wrapper(lambda screen: (lambda view: (not curses.curs_set(0)) or [None for _ in iter(view.actualize_and_catch_events, -1)])(SnakeView(Snake(), screen))))(type("SnakeView", (), {"__init__": lambda self, game, screen: setattr(self, "game_state", game) or setattr(self, "screen", screen) or screen.nodelay(True) or screen.resize(15, 40),"actualize_and_catch_events":lambda self:(lambda actual_event:(self.screen.erase() or ((-1 if self.game_state.next_step(actual_event - 258) == -1 else None) if (258 <= actual_event <= 261) else (-1 if self.game_state.next_step(None) == -1 else None))))(self.screen.getch()) or ([(self.screen.addch(0, i, BORDER_TOP_BOTTOM), self.screen.addch(9, i, BORDER_TOP_BOTTOM)) for i in range(0, 40)] and [(self.screen.addch(i, 0, BORDER_LEFT_RIGHT), self.screen.addch(i, 39, BORDER_LEFT_RIGHT)) for i in range(1, 10)] and [self.screen.addch(i |