Skip to content

Instantly share code, notes, and snippets.

@10c8
Created August 8, 2019 22:38
Show Gist options
  • Save 10c8/5543a02315a75f534ec0b34fe5a3695d to your computer and use it in GitHub Desktop.
Save 10c8/5543a02315a75f534ec0b34fe5a3695d to your computer and use it in GitHub Desktop.
1D Cube (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title 1D Cube
author 10c8
homepage www.puzzlescript.net
realtime_interval 0.05
run_rules_on_level_start
========
OBJECTS
========
BACKGROUND
BLACK
PLAYER
TRANSPARENT
( Cursor )
CUR0
TRANSPARENT
CUR1
TRANSPARENT
CUR2
TRANSPARENT
CUR3
TRANSPARENT
PIVOT
#5f574f
.....
00000
.....
.....
.....
( Letters )
A
#ff004d
.000.
.0.0.
.000.
.0.0.
.0.0.
B
#29adff
.000.
.0.0.
.00..
.0.0.
.000.
C
#00e436
.000.
.0...
.0...
.0...
.000.
D
#ffec27
.00..
.0.0.
.0.0.
.0.0.
.00..
E
#ffa300
.000.
.0...
.000.
.0...
.000.
F
#ffffff
.000.
.0...
.00..
.0...
.0...
G
#ab5236
.000.
.0...
.0.0.
.0.0.
.000.
H
#ff77a8
.0.0.
.0.0.
.000.
.0.0.
.0.0.
( Tokens )
START
TRANSPARENT
STOP
TRANSPARENT
TMP
TRANSPARENT
WIN
TRANSPARENT
X
TRANSPARENT
Y
TRANSPARENT
Z
TRANSPARENT
Q
TRANSPARENT
=======
LEGEND
=======
. = BACKGROUND
@ = PLAYER
( Tokens )
# = START
! = STOP
$ = TMP
( Groups )
CURSOR = CUR0 OR CUR1 OR CUR2 OR CUR3
LETTER = A OR B OR C OR D OR E OR F OR G OR H
TOKEN = START OR STOP OR TMP OR WIN
=======
SOUNDS
=======
PLAYER ACTION 20834107
================
COLLISIONLAYERS
================
BACKGROUND
PLAYER TOKEN
LETTER
CURSOR PIVOT
X Y Z Q
======
RULES
======
( Initialize the cursor )
DOWN [ # | LETTER NO @ ] -> [ . | LETTER @ ]
RIGHT [ @ NO CURSOR | | | ] -> [ @ CUR0 | CUR1 | CUR2 | CUR3 ]
( Randomize the pieces )
LEFT [ Y | NO Z NO Y ] -> [ | Y ]
RIGHT [ Z | NO Y ] [ Q ] -> [ | ] [ ]
RANDOM [ Q NO LETTER ] [ LETTER ] -> [ ] [ LETTER Q ]
RANDOM [ Z | Y ] [ @ CUR0 | CUR1 | CUR2 | CUR3 ] [ LETTER Q ] [ LETTER NO Q | | | NO STOP ] -> [ Z | ] [ | | | ] [ LETTER ] [ LETTER Q ACTION @ CUR0 | CUR1 | CUR2 | CUR3 ]
( Cursor movement and mechanics )
UP [ > @ ] -> [ @ ]
DOWN [ > @ ] -> [ @ ]
LEFT [ > @ | STOP ] -> [ @ | STOP ]
RIGHT [ > @ | | | | STOP ] -> [ @ | | | | STOP ]
[ MOVING @ CUR0 | CUR1 | CUR2 | CUR3 ] -> [ MOVING @ MOVING CUR0 | MOVING CUR1 | MOVING CUR2 | MOVING CUR3 ]
[ ACTION @ ] [ CUR0 LETTER ] [ TMP ] -> [ ACTION @ ] [ CUR0 ] [ TMP X LETTER ] ( Store CUR0 letter in TMP )
[ TMP X ] [ CUR3 LETTER ] [ CUR0 ] -> [ TMP X ] [ CUR3 ] [ CUR0 LETTER ] ( Move CUR3 letter to CUR0 )
[ TMP X LETTER ] [ CUR3 ] -> [ TMP ] [ CUR3 LETTER ] ( Move TMP letter to CUR3 )
[ ACTION @ ] [ CUR1 LETTER ] [ TMP ] -> [ @ ] [ CUR1 ] [ TMP X LETTER ]
[ TMP X ] [ CUR2 LETTER ] [ CUR1 ] -> [ TMP X ] [ CUR2 ] [ CUR1 LETTER ]
[ TMP X LETTER ] [ CUR2 ] -> [ TMP ] [ CUR2 LETTER ]
[ PIVOT ] -> [ ]
LATE DOWN [ CURSOR | NO PIVOT ] -> [ CURSOR | PIVOT ]
( Win conditions )
RIGHT [ TMP | NO Q ] [ A | B | C | D | E | F | ! ] -> [ WIN X | ] [ A | B | C | D | E | F | ! ]
RIGHT [ TMP | NO Q ] [ A | B | C | D | E | F | G | H | ! ] -> [ WIN X | ] [ A | B | C | D | E | F | G | H | ! ]
[ ACTION @ ] [ WIN X ] -> [ @ ] [ WIN ]
==============
WINCONDITIONS
==============
SOME WIN
NO X
=======
LEVELS
=======
message Use the arrow keys to move the cursor around.
message Use X to "rotate" the "cube".
$Q..#.......
..!ABCDEF!!!
ZYYYYYYYYYYY
$Q..#.......
.!ABCDEFGH!!
ZYYYYYYYYYYY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment