From 53256af329bc794e280980dcdca6a3d98b2eab7a Mon Sep 17 00:00:00 2001 From: Andrey Pohilko Date: Sat, 16 Sep 2017 16:19:17 +0300 Subject: [PATCH] command typing game program --- pylgbst/__init__.py | 2 +- vernie.py | 56 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/pylgbst/__init__.py b/pylgbst/__init__.py index 974b3c9..651b468 100644 --- a/pylgbst/__init__.py +++ b/pylgbst/__init__.py @@ -161,7 +161,7 @@ class MoveHub(object): elif port == PORT_BATTERY: self.battery = self.devices[port] else: - log.warning("Unhandled port: %s", PORTS[port]) + log.debug("Unhandled port: %s", PORTS[port]) def shutdown(self): cmd = pack("") + cmd = cmd.split(' ') + if cmd[0].lower() in ("head", "голова", "голова"): + if cmd[-1] in ("right", "вправо", "направо"): + say("ok") + self.head(RIGHT) + elif cmd[-1] in ("left", "влево", "налево"): + say("ok") + self.head(LEFT) + else: + say("ok") + self.head(STRAIGHT) + elif cmd[0].lower() in ("say", "скажи", "сказать"): + say(' '.join(cmd[1:])) + elif cmd[0].lower() in ("forward", "вперёд", "вперед"): + try: + dist = int(cmd[-1]) + except: + dist = 1 + say("ok") + self.move(FORWARD, distance=dist) + elif cmd[0].lower() in ("backward", "назад"): + try: + dist = int(cmd[-1]) + except: + dist = 1 + say("ok") + self.move(BACKWARD, distance=dist) + elif cmd[0].lower() in ("turn", "поворот", 'повернуть'): + if cmd[-1] in ("right", "вправо", "направо"): + say("ok") + self.turn(RIGHT) + elif cmd[-1] in ("left", "влево", "налево"): + say("ok") + self.turn(LEFT) + else: + say("ok") + self.turn(RIGHT, degrees=360) + else: + say("Неизвестная команда") + say("Доступные команды это:") + say("вперёд, назад, поворот влево, поворот вправо, голову влево, голову вправо, голову прямо, скажи") + say("Печатайте команды") + # TODO: distance sensor game # TODO: find and follow the lightest direction game if __name__ == '__main__': - logging.basicConfig(level=logging.DEBUG) + logging.basicConfig(level=logging.INFO) comms.log.setLevel(logging.INFO) vernie = Vernie() say("Робот Веернии 01 готов к работе") - say("Вправо-влево, назад-вперед") - # vernie.program() + vernie.read_typed_commands()