gistfile1.txt
· 1.6 KiB · Text
Ham
Playground
||:@include: lib/rpn.nv
|:rewind: yes? :playfield: ___ | :behind: ___
:: increment playfield size
| :rewind: yes? :playfield: (pacman dot) |
:behind: ___
:: increment playfield size
:ahead: pacman
:: increment playfield size
| :rewind: yes? :playfield: (pacman ghost) |
:behind: ___
:: increment playfield size
:ahead: pacman
:: increment playfield size
|:rewind: yes? :playfield: (pacman wall) | :status: done
:ahead: (wall pacman)
:: increment playfield size
:: increment playfield size
|:rewind: yes? :playfield: pacman | :ahead: pacman
:: increment playfield size
|:rewind: yes? :playfield: dot | :ahead: dot
:: increment playfield size
|:rewind: yes? :playfield: dot | :ahead: ghost
:: increment playfield size
|:rewind: yes :playfield: wall | :ahead: wall
:: increment playfield size
|:: increment playfield size :@rpn data: $id |
:playfield size: $id
|:: increment playfield size? :playfield size: $id |
:@rpn: ($id 1 +)
|:: :ahead: wall? :playfield size: $limit |
:layout: ahead
:full run: $limit
| :layout: ahead :ahead: pacman | :playfield: pacman
:layout: behind
:: decrement playfield size
| :layout: ahead? :ahead: $a | :playfield: $a
:: decrement playfield size
| :layout: behind? :behind: $b | :playfield: $b
:: decrement playfield size
|:full run: $x |:playfield size: $x
|:: decrement playfield size :@rpn data: $id |
:playfield size: $id
|:: decrement playfield size? :playfield size: $id |
:@rpn: ($id 1 -)
| :playfield size: 0? :layout: $x :status: done | :rewind: no
| :playfield size: 0? :layout: $x | :rewind: yes
|| :playfield: (___ ___ pacman dot dot dot dot dot wall)
|| :playfield size: 0
|| :rewind: yes
| 1 | ||:@include: lib/rpn.nv |
| 2 | |
| 3 | |:rewind: yes? :playfield: ___ | :behind: ___ |
| 4 | :: increment playfield size |
| 5 | |
| 6 | | :rewind: yes? :playfield: (pacman dot) | |
| 7 | :behind: ___ |
| 8 | :: increment playfield size |
| 9 | :ahead: pacman |
| 10 | :: increment playfield size |
| 11 | |
| 12 | | :rewind: yes? :playfield: (pacman ghost) | |
| 13 | :behind: ___ |
| 14 | :: increment playfield size |
| 15 | :ahead: pacman |
| 16 | :: increment playfield size |
| 17 | |
| 18 | |:rewind: yes? :playfield: (pacman wall) | :status: done |
| 19 | :ahead: (wall pacman) |
| 20 | :: increment playfield size |
| 21 | :: increment playfield size |
| 22 | |
| 23 | |:rewind: yes? :playfield: pacman | :ahead: pacman |
| 24 | :: increment playfield size |
| 25 | |:rewind: yes? :playfield: dot | :ahead: dot |
| 26 | :: increment playfield size |
| 27 | |:rewind: yes? :playfield: dot | :ahead: ghost |
| 28 | :: increment playfield size |
| 29 | |:rewind: yes :playfield: wall | :ahead: wall |
| 30 | :: increment playfield size |
| 31 | |
| 32 | |:: increment playfield size :@rpn data: $id | |
| 33 | :playfield size: $id |
| 34 | |:: increment playfield size? :playfield size: $id | |
| 35 | :@rpn: ($id 1 +) |
| 36 | |
| 37 | |:: :ahead: wall? :playfield size: $limit | |
| 38 | :layout: ahead |
| 39 | :full run: $limit |
| 40 | |
| 41 | | :layout: ahead :ahead: pacman | :playfield: pacman |
| 42 | :layout: behind |
| 43 | :: decrement playfield size |
| 44 | | :layout: ahead? :ahead: $a | :playfield: $a |
| 45 | :: decrement playfield size |
| 46 | | :layout: behind? :behind: $b | :playfield: $b |
| 47 | :: decrement playfield size |
| 48 | |
| 49 | |:full run: $x |:playfield size: $x |
| 50 | |:: decrement playfield size :@rpn data: $id | |
| 51 | :playfield size: $id |
| 52 | |:: decrement playfield size? :playfield size: $id | |
| 53 | :@rpn: ($id 1 -) |
| 54 | |
| 55 | | :playfield size: 0? :layout: $x :status: done | :rewind: no |
| 56 | | :playfield size: 0? :layout: $x | :rewind: yes |
| 57 | |
| 58 | || :playfield: (___ ___ pacman dot dot dot dot dot wall) |
| 59 | || :playfield size: 0 |
| 60 | || :rewind: yes |