summaryrefslogtreecommitdiff
path: root/tetris/engine.prn
diff options
context:
space:
mode:
authortomsmeding <hallo@tomsmeding.nl>2015-09-10 19:57:06 +0200
committertomsmeding <hallo@tomsmeding.nl>2015-09-10 19:57:06 +0200
commit0a2c7d3ccb5621150d827643bc2c196f7f8db664 (patch)
treeeb928c6fdad79253e02898b5daba1da08dc3cef1 /tetris/engine.prn
parent3e22583f8596fd8bb2b1e8f651c38f5a898a6155 (diff)
More tetris wip
Diffstat (limited to 'tetris/engine.prn')
-rw-r--r--tetris/engine.prn23
1 files changed, 23 insertions, 0 deletions
diff --git a/tetris/engine.prn b/tetris/engine.prn
new file mode 100644
index 0000000..ebfb0c7
--- /dev/null
+++ b/tetris/engine.prn
@@ -0,0 +1,23 @@
+mkarray "e_blockqueue" store
+
+@defun "e_nextblock" {
+ "e_blockqueue" swapoutvar
+ arrlen 1 < if
+ "ERROR: blockqueue empty while requesting nextblock" print
+ error
+ end
+ 0 arridx
+ swap
+ arrpopf "e_blockqueue" store
+}
+
+@defun "e_peekblock" {
+ "e_blockqueue" swapoutvar
+ arrlen 2 < if
+ 0
+ else
+ 1 arridx
+ end
+ swap
+ "e_blockqueue" store
+}