From ab057abddd209268cfb7f861a18ed5bca3499a0d Mon Sep 17 00:00:00 2001 From: Lephe Date: Sat, 5 Oct 2019 11:53:45 +0200 Subject: [PATCH] add the wait command --- drawing.py | 10 +++++++++- interpreter.py | 9 +++++++-- parser.py | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/drawing.py b/drawing.py index c0500b4..3b8dfe0 100644 --- a/drawing.py +++ b/drawing.py @@ -113,7 +113,7 @@ class Window: x += sx SDL_RenderDrawPoint(self.r, x, y) - def wait(self): + def wait(self, allow_any=False): """Wait for the window to be closed.""" if self.quiet: @@ -125,6 +125,14 @@ class Window: if event.type == SDL_QUIT: break + if event.type == SDL_KEYDOWN and allow_any: + break + + def pause(self): + """Display a pause message.""" + + # TODO: Display "paused" + self.wait(allow_any=True) def save(self, out): """Save the output into a BMP file.""" diff --git a/interpreter.py b/interpreter.py index 252cdea..88f7415 100644 --- a/interpreter.py +++ b/interpreter.py @@ -121,8 +121,13 @@ class Context: raise Exception("Style statement not supported yet x_x") elif n.type == N.WAIT: - # TODO: Display "paused" and wait for a key press to continue" - print("[interpreter] Delay ignored") + print("---- pause") + print(f"x={self.x} y={self.y} theta={self.angle}") + print(f"A={self.vars['A']} B={self.vars['B']}") + print(f"C={self.vars['C']} D={self.vars['D']}") + print(f"E={self.vars['E']} F={self.vars['F']}") + print(f"M={self.vars['M']}") + self.w.pause() # Flow control diff --git a/parser.py b/parser.py index b4d7c44..400c996 100644 --- a/parser.py +++ b/parser.py @@ -136,7 +136,7 @@ class Parser: if op.type == T.STYLE: return Node(N.STYLE, self.style()) if op.type == T.WAIT: - return Node(N.WAIT, self.arg()) + return Node(N.WAIT) # Flow control