Skip to content

Instantly share code, notes, and snippets.

@Stingby12
Created December 24, 2025 18:31
Show Gist options
  • Select an option

  • Save Stingby12/6e7c3f95890d59a0a4937fce04625450 to your computer and use it in GitHub Desktop.

Select an option

Save Stingby12/6e7c3f95890d59a0a4937fce04625450 to your computer and use it in GitHub Desktop.
There Are Many Colours (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title There Are Many Colours
author Omen777
homepage www.puzzlescript.net
color_palette atari
run_rules_on_level_start
noaction
again_interval 0.1
require_player_movement
========
OBJECTS
========
Background
black darkgray
10111
00000
11101
00000
10111
Target
blue
.....
.000.
.0.0.
.000.
.....
Wall
lightgray gray
00001
00001
11111
01000
11111
Void ■
black
Push
orange
.....
.000.
.000.
.000.
.....
Pull
pink
.....
.000.
.000.
.000.
.....
Stick
lightgreen
.....
.000.
.000.
.000.
.....
Swap
purple
.....
.000.
.000.
.000.
.....
Slide
lightblue
.....
.000.
.000.
.000.
.....
Cursor
blue
.....
.....
.....
.....
00000
CursLTP
transparent
CursRTP
transparent
Player
blue blue white
.222.
.111.
22222
.000.
.0.0.
PlayerX
transparent
CratePush
orange
00000
0...0
0...0
0...0
00000
CratePull
pink
00000
0...0
0...0
0...0
00000
CrateStick
lightgreen
00000
0...0
0...0
0...0
00000
CrateSwap
purple
00000
0...0
0...0
0...0
00000
CrateSlide
lightblue
00000
0...0
0...0
0...0
00000
MoveU
transparent
MoveD
transparent
MoveL
transparent
MoveR
transparent
=======
LEGEND
=======
(■▲►▼◄↑→↓←◊↕)
. = Background
# = Wall
P = Player
$ = Player and Target
* = CratePush
@ = CratePush and Target
O = Target
▲ = Push and Void
► = Pull and Void
▼ = Stick and Void
◄ = Swap and Void
◊ = Slide and Void
↑ = Cursor and Push and Void
→ = Cursor and Pull and Void
↓ = Cursor and Stick and Void
← = Cursor and Swap and Void
↕ = Cursor and Slide and Void
Crate = CratePush or CratePull or CrateStick or CrateSwap or CrateSlide
Colour = Push or Pull or Stick or Swap or Slide
Block = Wall or Crate
MoveDir = MoveU or MoveD or MoveL or MoveR
=======
SOUNDS
=======
Player move 28041307
CratePush move 36772507
CratePull move 42109707
CrateStick move 21581307
CrateSlide move 95928107
sfx0 89707905
Cursor move 14763700
startlevel 8545108
endlevel 48684503
undo 74591104
restart 94938104
startgame 52915708
================
COLLISIONLAYERS
================
Background
Target
Player, Block, Void
PlayerX
Colour
Cursor
CursLTP
CursRTP
MoveU
MoveD
MoveL
MoveR
======
RULES
======
[ > Player | CratePush ] -> [ > Player | > CratePush ]
[ < Player | CratePull ] -> [ < Player | < CratePull ]
[ moving Player | CrateStick ] -> [ moving Player | moving CrateStick ]
[ > CrateStick | Block ] -> [ CrateStick | Block ]
[ moving Player | stationary CrateStick ] -> cancel
[ > Player | CrateSwap ] -> [ | < CrateSwap PlayerX ] sfx0
late [ PlayerX ] -> [ Player ]
up [ > Player | CrateSlide ] -> [ > Player | > CrateSlide > MoveU ] again
down [ > Player | CrateSlide ] -> [ > Player | > CrateSlide > MoveD ] again
left [ > Player | CrateSlide ] -> [ > Player | > CrateSlide > MoveL ] again
right [ > Player | CrateSlide ] -> [ > Player | > CrateSlide > MoveR ] again
[ CrateSlide MoveU ] -> [ up CrateSlide up MoveU ] again
[ CrateSlide MoveD ] -> [ down CrateSlide down MoveD ] again
[ CrateSlide MoveL ] -> [ left CrateSlide left MoveL ] again
[ CrateSlide MoveR ] -> [ right CrateSlide right MoveR ] again
late up [ MoveU | Block ] -> [ | Block ] again
late down [ MoveD | Block ] -> [ | Block ] again
late left [ MoveL | Block ] -> [ | Block ] again
late right [ MoveR | Block ] -> [ | Block ] again
[ MoveDir no CrateSlide ] -> [ ]
[ > Crate | Target ] -> [ > Crate | Target CursRTP ]
[ > Crate Target ] -> [ > Crate Target CursLTP ]
[ CursLTP ] [ CursRTP ] -> [ ] [ ]
random [ Cursor ] [ CursLTP ] -> [ left Cursor ] [ ] again
random [ Cursor ] [ CursRTP ] -> [ right Cursor ] [ ] again
late [ Cursor Push ] [ Crate ] -> [ Cursor Push ] [ CratePush ]
late [ Cursor Pull ] [ Crate ] -> [ Cursor Pull ] [ CratePull ]
late [ Cursor Stick ] [ Crate ] -> [ Cursor Stick ] [ CrateStick ]
late [ Cursor Swap ] [ Crate ] -> [ Cursor Swap ] [ CrateSwap ]
late [ Cursor Slide ] [ Crate ] -> [ Cursor Slide ] [ CrateSlide ]
==============
WINCONDITIONS
==============
all Target on Crate
=======
LEVELS
=======
message Level 1 of 8 [Pi-(Or)-Pi]
►↑►■■■
####..
#.o#..
#..###
#@p..#
#..*.#
#..###
####..
message Level 2 of 8 [Or-Pi-(Or)-Pi]
▲►↑►■■■■
########
#......#
#.o@@*p#
#......#
#####..#
....####
message Level 3 of 8 [(Or)-Pi-Pu-Or-Pi]
↑►◄▲►■■
.#####.
##.p.##
#.*o*.#
#.o#o.#
#.*o*##
##...#.
.#####.
message Level 4 of 8 [(Or)-Gr-Or-Gr]
↑▼▲▼■■■■
########
#......#
#...**.#
#....*.#
#.op...#
#.oo...#
#......#
########
message Level 5 of 8 [(Pi)-Gr-Pi-Gr-Or-Pu-Or]
→▼►▼▲◄▲■■
#########
#.......#
#.*o.o*.#
#.*o.o*.#
#.*opo*.#
#.......#
#########
message Level 6 of 8 [Bl-Pi-(Bl)-Pi]
◊►↕►■■
######
#....#
#.#p.#
#.*@.#
#.o@.#
#....#
######
message Level 7 of 8 [(Gr)-Bl-Gr-Bl-Gr]
↓◊▼◊▼■■■
########
#......#
#.$..o.#
#..**..#
#..**..#
#.o..o.#
#......#
########
message Level 8 of 8 [(Gr)-Bl-Pi-Gr-Pu-Gr-Bl-Gr-Bl-Pu]
↓◊►▼◄▼◊▼◊◄
##########
#........#
#.ooo***.#
#.o$o***.#
#.ooo***.#
#........#
##########
message [Co-ng-ra-tu-la-ti-on-s!]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment