Skip to content

Instantly share code, notes, and snippets.

@thacuber2a03
Created November 1, 2020 19:26
Show Gist options
  • Select an option

  • Save thacuber2a03/ecc38ec8a5911e4711ef8cac4180e7eb to your computer and use it in GitHub Desktop.

Select an option

Save thacuber2a03/ecc38ec8a5911e4711ef8cac4180e7eb to your computer and use it in GitHub Desktop.
Bot Playground (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Bot Playground
author Tha Cuber
homepage thacuber.itch.io
========
OBJECTS
========
Background
lightgray
Cursor
white
00.00
0...0
.....
0...0
00.00
Block
orange
Wall
darkgray
PlaceBot
gray
.000.
00000
00000
00000
.000.
PlaceRBot
red
.000.
00000
00000
00000
.000.
PlaceGBot
green
.000.
00000
00000
00000
.000.
PlaceLBot
yellow
.000.
00000
00000
00000
.000.
BotR
gray yellow
.000.
00100
00010
00100
.000.
BotL
gray yellow
.000.
00100
01000
00100
.000.
BotU
gray yellow
.000.
00100
01010
00000
.000.
BotD
gray yellow
.000.
00000
01010
00100
.000.
RBotR
red yellow
.000.
00100
00010
00100
.000.
RBotL
red yellow
.000.
00100
01000
00100
.000.
RBotU
red yellow
.000.
00100
01010
00000
.000.
RBotD
red yellow
.000.
00000
01010
00100
.000.
GBotR
green yellow
.000.
00100
00010
00100
.000.
GBotL
green yellow
.000.
00100
01000
00100
.000.
GBotU
green yellow
.000.
00100
01010
00000
.000.
GBotD
green yellow
.000.
00000
01010
00100
.000.
LBotH
yellow black
.000.
01110
00000
01110
.000.
LBotV
yellow black
.000.
01010
01010
01010
.000.
Eraser
red
0...0
.0.0.
..0..
.0.0.
0...0
Start
darkgray gray
01111
11000
01110
00011
11110
RestartCheck
darkgray
RestartB
darkgray gray
11110
10001
11111
10010
10001
StartCheck
darkgray
=======
LEGEND
=======
P = Cursor and Wall
R = RestartCheck
B = Block
W = Wall
S = Start
. = Background
Player = Cursor
PlaceBots = PlaceBot or PlaceRBot or PlaceGBot or PlaceLBot
Bot = BotR or BotL or BotU or BotD
RotateBot = RBotR or RBotL or RBotU or RBotD
GenBot = GBotR or GBotL or GBotU or GBotD
LineBot = LBotH or LBotV
NoPlacebotHere = Wall or Start or StartCheck or Bot or Block or PlaceBots or RotateBot or GenBot or RestartB or RestartCheck or LineBot or Eraser
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Start
Eraser
Block, Wall, Bot, RotateBot, PlaceBots, StartCheck, GenBot, RestartB, RestartCheck, LineBot
Player
======
RULES
======
[ action Player no NoPlacebotHere ] [ no StartCheck ] -> [ Player PlaceBot ] [ ]
[ action Player PlaceBot ] -> [ Player PlaceRBot ]
[ action Player PlaceRBot ] -> [ Player PlaceGBot ]
[ action Player PlaceGBot ] -> [ Player PlaceLBot ]
[ action Player PlaceLBot ] -> [ Player Block ]
[ action Player Block ] -> [ Player Eraser ]
[ action Player Eraser ] -> [ Player ]
[ action Player Start ] -> [ Player StartCheck ]
late [ Player Start ] -> checkpoint
[ action Player RestartB ] -> restart
[ action Player Bot ] [ StartCheck ] -> [ Player Bot ] [ StartCheck ]
[ action Player RotateBot ] [ StartCheck ] -> [ Player RotateBot ] [ StartCheck ]
[ action Player GenBot ] [ StartCheck ] -> [ Player GenBot ] [ StartCheck ]
[ action Player LineBot ] [ StartCheck ] -> [ Player LineBot ] [ StartCheck ]
[ action Player Bot ] [ no StartCheck ] -> [ Player ] [ ]
[ action Player RotateBot ] [ no StartCheck ] -> [ Player ] [ ]
[ action Player GenBot ] [ no StartCheck ] -> [ Player ] [ ]
[ action Player LineBot ] [ no StartCheck ] -> [ Player ] [ ]
late [ PlaceBot ] [ StartCheck ] -> [ ] [ StartCheck ]
right [ > Player PlaceBot ] -> [ > Player BotR ]
left [ > Player PlaceBot ] -> [ > Player BotL ]
up [ > Player PlaceBot ] -> [ > Player BotU ]
down [ > Player PlaceBot ] -> [ > Player BotD ]
right [ > Player PlaceRBot ] -> [ > Player RBotR ]
left [ > Player PlaceRBot ] -> [ > Player RBotL ]
up [ > Player PlaceRBot ] -> [ > Player RBotU ]
down [ > Player PlaceRBot ] -> [ > Player RBotD ]
right [ > Player PlaceGBot ] -> [ > Player GBotR ]
left [ > Player PlaceGBot ] -> [ > Player GBotL ]
up [ > Player PlaceGBot ] -> [ > Player GBotU ]
down [ > Player PlaceGBot ] -> [ > Player GBotD ]
horizontal [ > Player PlaceLBot ] -> [ > Player LBotH ]
vertical [ > Player PlaceLBot ] -> [ > Player LBotV ]
[ RestartCheck ] [ StartCheck ] -> [ RestartB ] [ StartCheck ]
[ RestartB ] [ Start ] -> [ RestartCheck ] [ Start ]
[ Block Eraser ] -> [ Eraser ]
[ Bot Eraser ] -> [ Eraser ]
startLoop
right [ BotR | no Bot no Wall ] [ StartCheck ] -> [ > BotR | ] [ StartCheck ]
left [ BotL | no Bot no Wall ] [ StartCheck ] -> [ > BotL | ] [ StartCheck ]
up [ BotU | no Bot no Wall ] [ StartCheck ] -> [ > BotU | ] [ StartCheck ]
down [ BotD | no Bot no Wall ] [ StartCheck ] -> [ > BotD | ] [ StartCheck ]
[ Bot | RBotR ] [ StartCheck ] -> [ BotR | RBotR ] [ StartCheck ]
[ Bot | RBotL ] [ StartCheck ] -> [ BotL | RBotL ] [ StartCheck ]
[ Bot | RBotU ] [ StartCheck ] -> [ BotU | RBotU ] [ StartCheck ]
[ Bot | RBotD ] [ StartCheck ] -> [ BotD | RBotD ] [ StartCheck ]
[ > Bot | Block | Wall ] -> [ Bot | Block | Wall ]
horizontal [ > Bot | LBotV ] -> [ Bot | LBotV ]
vertical [ > Bot | LBotH ] -> [ Bot | LBotH ]
horizontal [ > Bot | LBotH ] -> [ > Bot | > LBotH ]
vertical [ > Bot | LBotV ] -> [ > Bot | > LBotV ]
late right [ Bot | GBotR | no NoPlacebotHere ] [ StartCheck ] -> [ Bot | GBotR | Bot ] [ StartCheck ]
late left [ Bot | GBotL | no NoPlacebotHere ] [ StartCheck ] -> [ Bot | GBotL | Bot ] [ StartCheck ]
late up [ Bot | GBotU | no NoPlacebotHere ] [ StartCheck ] -> [ Bot | GBotU | Bot ] [ StartCheck ]
late down [ Bot | GBotD | no NoPlacebotHere ] [ StartCheck ] -> [ Bot | GBotD | Bot ] [ StartCheck ]
late right [ Block | GBotR | no NoPlacebotHere ] [ StartCheck ] -> [ Block | GBotR | Block ] [ StartCheck ]
late left [ Block | GBotL | no NoPlacebotHere ] [ StartCheck ] -> [ Block | GBotL | Block ] [ StartCheck ]
late up [ Block | GBotU | no NoPlacebotHere ] [ StartCheck ] -> [ Block | GBotU | Block ] [ StartCheck ]
late down [ Block | GBotD | no NoPlacebotHere ] [ StartCheck ] -> [ Block | GBotD | Block ] [ StartCheck ]
[ > Bot | Block ] -> [ > Bot | > Block ]
[ > Bot | Bot ] -> [ > Bot | > Bot ]
[ > Bot | > Bot ] -> [ Bot | Bot ]
endLoop
==============
WINCONDITIONS
==============
=======
LEVELS
=======
message To place bots, press ACTION once, then move in the direction you want for the bot.
message To place rotator bots, press ACTION twice, then move in the direction you want for any colliding bots to rotate.
message To place gen bots, ACTION three times, then the direction you want any colliding bot to copy itself by the other side of the gen bot.
message To place line bots, ACTION four times, then move horizontally or vertically to place a line bot.
message To place erasers , ACTION a fifth time, and you already have it.
message To start simulation, press ACTION over the S block.
message This is just a playground. I'm already making the game.
pwwwwwwwwww
w.........w
w.........w
w.........w
w.........w
w.........w
w.........w
w.........w
w.........w
w.........w
wwwswwwrwww
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment