diff options
Diffstat (limited to 'tetris/engine.prn')
-rw-r--r-- | tetris/engine.prn | 23 |
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 +} |