Created
July 8, 2024 11:04
-
-
Save Stingby12/c3444e495893c9c97b06fc05bd45fa2b to your computer and use it in GitHub Desktop.
Exchanging the Kings (Puzzlescript Plus Script)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title Exchanging the Kings | |
author Stingby12 | |
homepage www.puzzlescript.net | |
run_rules_on_level_start | |
text_color #0ff | |
sprite_size 15 | |
======== | |
OBJECTS | |
======== | |
Background | |
gray | |
Tile0 | |
#999 #888 | |
000000000000000 | |
011111111111110 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
011111111111110 | |
000000000000000 | |
Tile1 | |
#777 #666 | |
000000000000000 | |
011111111111110 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
010000000000010 | |
011111111111110 | |
000000000000000 | |
TargetWX | |
transparent | |
TargetBX | |
transparent | |
TargetW0 | |
#DDD #CCC | |
000000000000000 | |
011111111111110 | |
011111111111110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011111111111110 | |
011111111111110 | |
000000000000000 | |
TargetW1 | |
#BBB #AAA | |
000000000000000 | |
011111111111110 | |
011111111111110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011111111111110 | |
011111111111110 | |
000000000000000 | |
TargetB0 | |
#555 #444 | |
000000000000000 | |
011111111111110 | |
011111111111110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011111111111110 | |
011111111111110 | |
000000000000000 | |
TargetB1 | |
#777 #666 | |
000000000000000 | |
011111111111110 | |
011111111111110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011000000000110 | |
011111111111110 | |
011111111111110 | |
000000000000000 | |
Wall | |
#022 #dff | |
111111111111111 | |
100000000000001 | |
100000000000001 | |
100010000010001 | |
100111111111001 | |
100010010010001 | |
100010000010001 | |
100011000110001 | |
100010000010001 | |
100010010010001 | |
100111111111001 | |
100010000010001 | |
100000000000001 | |
100000000000001 | |
111111111111111 | |
Void | |
#000 | |
VoidU | |
#077 | |
000000000000000 | |
00....000....00 | |
0......0......0 | |
.......0....... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
VoidD | |
#077 | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
.......0....... | |
0......0......0 | |
00....000....00 | |
000000000000000 | |
VoidL | |
#077 | |
000............ | |
00............. | |
0.............. | |
0.............. | |
0.............. | |
0.............. | |
00............. | |
0000........... | |
00............. | |
0.............. | |
0.............. | |
0.............. | |
0.............. | |
00............. | |
000............ | |
VoidR | |
#077 | |
............000 | |
.............00 | |
..............0 | |
..............0 | |
..............0 | |
..............0 | |
.............00 | |
...........0000 | |
.............00 | |
..............0 | |
..............0 | |
..............0 | |
..............0 | |
.............00 | |
............000 | |
VoidUL | |
#077 | |
0000........... | |
000............ | |
00............. | |
0.............. | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
VoidUR | |
#077 | |
...........0000 | |
............000 | |
.............00 | |
..............0 | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
VoidDL | |
#077 | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
0.............. | |
00............. | |
000............ | |
0000........... | |
VoidDR | |
#077 | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
..............0 | |
.............00 | |
............000 | |
...........0000 | |
Player | |
#0ff | |
............... | |
.00000...00000. | |
.0...........0. | |
.0...........0. | |
.0.....0.....0. | |
.0.....0.....0. | |
.......0....... | |
....0000000.... | |
.......0....... | |
.0.....0.....0. | |
.0.....0.....0. | |
.0...........0. | |
.0...........0. | |
.00000...00000. | |
............... | |
RookW | |
#fff #066 #ccc #aaa | |
............... | |
..11.1.1.1.11.. | |
..10101010101.. | |
..10000000001.. | |
..12222222221.. | |
..10000000001.. | |
...122222221... | |
....1333331.... | |
....1333331.... | |
....1333331.... | |
...122222221... | |
..10000000001.. | |
.1222222222221. | |
.1000000000001. | |
.1111111111111. | |
RookB copy:RookW | |
#666 #044 #333 #111 | |
BishopW | |
#fff #066 #ccc #aaa #066 | |
.......1....... | |
.....11011..... | |
....1000001.... | |
...100040001... | |
...100444001... | |
...104404401... | |
...100000001... | |
....1000001.... | |
....1333331.... | |
....1333331.... | |
...100000001... | |
..12222222221.. | |
..10000000001.. | |
..10000000001.. | |
..11111111111.. | |
BishopB copy:BishopW | |
#666 #044 #333 #111 #044 | |
KnightW | |
#fff #066 #ccc #aaa | |
............... | |
......11....... | |
.....10011..... | |
....1000001.... | |
...100001001... | |
...1000000001.. | |
...1000011001.. | |
...100000111... | |
....1000001.... | |
....1222221.... | |
.....13331..... | |
....1222221.... | |
...100000001... | |
..10000000001.. | |
..11111111111.. | |
KnightB | |
#666 #044 #333 #111 | |
............... | |
.......11...... | |
.....11001..... | |
....1000001.... | |
...100100001... | |
..1000000001... | |
..1001100001... | |
...111000001... | |
....1000001.... | |
....1222221.... | |
.....13331..... | |
....1222221.... | |
...100000001... | |
..10000000001.. | |
..11111111111.. | |
KingW | |
#fff #066 #ccc #aaa | |
....1002001.... | |
...100000001... | |
....1333331.... | |
....1222221.... | |
....1000001.... | |
....1000001.... | |
....1000001.... | |
...100000001... | |
...100000001... | |
...100000001... | |
...122222221... | |
..10000000001.. | |
..10000000001.. | |
..10000000001.. | |
..11111111111.. | |
KingWX | |
#fff #066 #ccc #aaa | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
.......1....... | |
......101...... | |
.....10001..... | |
....1110111.... | |
...100020001... | |
...100222001... | |
...100222001... | |
KingB copy:KingW | |
#666 #044 #333 #111 | |
KingBX copy:KingWX | |
#666 #044 #333 #111 | |
MoveCheck | |
#0F0 | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
......000...... | |
......000...... | |
......000...... | |
............... | |
............... | |
............... | |
............... | |
............... | |
............... | |
TurnW | |
transparent | |
TurnB | |
transparent | |
RookWtp copy:RookW | |
#fff #333 #ccc #aaa | |
BishopWtp copy:BishopW | |
#fff #333 #ccc #aaa #aaa | |
KnightWtp copy:KnightW | |
#fff #333 #ccc #aaa | |
KingWtp copy:KingW | |
#fff #333 #ccc #aaa | |
KingWtpX copy:KingWX | |
#fff #333 #ccc #aaa | |
RookBtp copy:RookW | |
#666 #000 #333 #111 | |
BishopBtp copy:BishopW | |
#666 #000 #333 #111 #111 | |
KnightBtp copy:KnightB | |
#666 #000 #333 #111 | |
KingBtp copy:KingW | |
#666 #000 #333 #111 | |
KingBtpX copy:KingWX | |
#666 #000 #333 #111 | |
BishopX | |
transparent | |
KnightXH1 | |
transparent | |
KnightXH2 | |
transparent | |
KnightXV1 | |
transparent | |
KnightXV2 | |
transparent | |
KingX1 | |
transparent | |
KingX2 | |
transparent | |
KingX3 | |
transparent | |
======= | |
LEGEND | |
======= | |
. = Background | |
# = Wall | |
% = Void | |
! = Void and TurnW | |
@ = Player | |
R = RookW and TargetWX | |
B = BishopW and TargetWX | |
K = KnightW and TargetWX | |
I = KingW and TargetBX | |
O = RookB and TargetBX | |
P = BishopB and TargetBX | |
T = KnightB and TargetBX | |
G = KingB and TargetWX | |
PieceW = RookW or BishopW or KnightW or KingW | |
PieceB = RookB or BishopB or KnightB or KingB | |
Pieces = PieceW or PieceB | |
PiecesTP = RookWtp or BishopWtp or KnightWtp or KingWtp or RookBtp or BishopBtp or KnightBtp or KingBtp | |
Tile = Tile0 or Tile1 | |
TargetW = TargetW0 or TargetW1 | |
TargetB = TargetB0 or TargetB1 | |
KingX = KingX1 or KingX2 or KingX3 | |
Temp = BishopX or KnightXH1 or KnightXH2 or KnightXV1 or KnightXV2 or KingX | |
Block = Wall or Pieces or PiecesTP or Void | |
======= | |
SOUNDS | |
======= | |
startgame 9727100947007300 | |
sfx0 82034306 | |
sfx1 57409304 | |
sfx2 80803102 | |
endlevel 97277300 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Tile, TargetW, TargetB | |
TurnW, TurnB | |
Wall, Void | |
Pieces, PiecesTP | |
MoveCheck | |
BishopX | |
KnightXH1 | |
KnightXH2 | |
KnightXV1 | |
KnightXV2 | |
KingX1 | |
KingX2 | |
KingX3 | |
VoidU | |
VoidD | |
VoidL | |
VoidR | |
VoidUL | |
VoidUR | |
VoidDL | |
VoidDR | |
KingWX, KingWtpX | |
KingBX, KingBtpX | |
TargetWX | |
TargetBX | |
Player | |
====== | |
RULES | |
====== | |
[ Player no Tile no TargetW no TargetB ] -> [ Player Tile0 ] | |
+ [ Tile0 | no Tile ] -> [ Tile0 | Tile1 ] | |
+ [ Tile1 | no Tile ] -> [ Tile1 | Tile0 ] | |
[ TargetWX Tile0 ] -> [ TargetWX TargetW0 ] | |
[ TargetWX Tile1 ] -> [ TargetWX TargetW1 ] | |
[ TargetBX Tile0 ] -> [ TargetBX TargetB0 ] | |
[ TargetBX Tile1 ] -> [ TargetBX TargetB1 ] | |
up [ Void | no Void ] -> [ Void VoidU | ] | |
down [ Void | no Void ] -> [ Void VoidD | ] | |
left [ Void | no Void ] -> [ Void VoidL | ] | |
right [ Void | no Void ] -> [ Void VoidR | ] | |
up [ Void no VoidL | VoidL ] -> [ Void VoidUL | VoidL ] | |
up [ Void no VoidR | VoidR ] -> [ Void VoidUR | VoidR ] | |
down [ Void no VoidL | VoidL ] -> [ Void VoidDL | VoidL ] | |
down [ Void no VoidR | VoidR ] -> [ Void VoidDR | VoidR ] | |
late [ RookWtp ] -> [ RookW ] | |
late [ BishopWtp ] -> [ BishopW ] | |
late [ KnightWtp ] ->[ KnightW ] | |
late [ KingWtp ] -> [ KingW ] | |
late [ RookBtp ] -> [ RookB ] | |
late [ BishopBtp ] -> [ BishopB ] | |
late [ KnightBtp ] -> [ KnightB ] | |
late [ KingBtp ] -> [ KingB ] | |
[ KingWX ] -> [ ] | |
[ KingBX ] -> [ ] | |
[ KingWtpX ] -> [ ] | |
[ KingBtpX ] -> [ ] | |
late up [ KingW | ] -> [ KingW | KingWX ] | |
late up [ KingB | ] -> [ KingB | KingBX ] | |
late [ Temp ] -> [ ] | |
late [ MoveCheck ] -> [ ] | |
late [ TurnW ] [ RookB ] -> [ TurnW ] [ RookBtp ] | |
late [ TurnW ] [ BishopB ] -> [ TurnW ] [ BishopBtp ] | |
late [ TurnW ] [ KnightB ] -> [ TurnW ] [ KnightBtp ] | |
late [ TurnW ] [ KingB ] -> [ TurnW ] [ KingBtp ] | |
late [ TurnW ] [ KingBX ] -> [ TurnW ] [ KingBtpX ] | |
late [ TurnB ] [ RookW ] -> [ TurnB ] [ RookWtp ] | |
late [ TurnB ] [ BishopW ] -> [ TurnB ] [ BishopWtp ] | |
late [ TurnB ] [ KnightW ] -> [ TurnB ] [ KnightWtp ] | |
late [ TurnB ] [ KingW ] -> [ TurnB ] [ KingWtp ] | |
late [ TurnB ] [ KingWX ] -> [ TurnB ] [ KingWtpX ] | |
late [ Player RookW | no Block ] -> [ Player RookW | MoveCheck ] | |
late [ Player RookB | no Block ] -> [ Player RookB | MoveCheck ] | |
late vertical [ Player BishopW | ] -> [ Player BishopW | BishopX ] | |
late vertical [ Player BishopB | ] -> [ Player BishopB | BishopX ] | |
late horizontal [ BishopX | no Block ] -> [ BishopX | MoveCheck ] | |
late vertical [ Player KnightW | ] -> [ Player KnightW | KnightXV1 ] | |
late vertical [ Player KnightB | ] -> [ Player KnightB | KnightXV1 ] | |
late vertical [ KnightXV1 | no Player ] -> [ KnightXV1 | KnightXV2 ] | |
late horizontal [ KnightXV2 | no Block ] -> [ KnightXV2 | MoveCheck ] | |
late horizontal [ Player KnightW | ] -> [ Player KnightW | KnightXH1 ] | |
late horizontal [ Player KnightB | ] -> [ Player KnightB | KnightXH1 ] | |
late horizontal [ KnightXH1 | no Player ] -> [ KnightXH1 | KnightXH2 ] | |
late vertical [ KnightXH2 | no Block ] -> [ KnightXH2 | MoveCheck ] | |
late vertical [ Player KingW | ] -> [ Player KingW | KingX1 ] | |
late vertical [ Player KingB | ] -> [ Player KingB | KingX1 ] | |
late horizontal [ Player KingW | ] -> [ Player KingW | KingX2 ] | |
late horizontal [ Player KingB | ] -> [ Player KingB | KingX2 ] | |
late horizontal [ KingX1 | ] -> [ KingX1 | KingX3 ] | |
late [ KingX no Block ] -> [ KingX MoveCheck ] | |
[ action Player RookW ] [ MoveCheck ] [ TurnW ] -> [ Player ] [ RookW ] [ TurnB ] sfx0 | |
[ action Player BishopW ] [ MoveCheck ] [ TurnW ] -> [ Player ] [ BishopW ] [ TurnB ] sfx0 | |
[ action Player KnightW ] [ MoveCheck ] [ TurnW ] -> [ Player ] [ KnightW ] [ TurnB ] sfx0 | |
[ action Player KingW ] [ MoveCheck ] [ TurnW ] -> [ Player ] [ KingW ] [ TurnB ] sfx0 | |
[ action Player RookB ] [ MoveCheck ] [ TurnB ] -> [ Player ] [ RookB ] [ TurnW ] sfx0 | |
[ action Player BishopB ] [ MoveCheck ] [ TurnB ] -> [ Player ] [ BishopB ] [ TurnW ] sfx0 | |
[ action Player KnightB ] [ MoveCheck ] [ TurnB ] -> [ Player ] [ KnightB ] [ TurnW ] sfx0 | |
[ action Player KingB ] [ MoveCheck ] [ TurnB ] -> [ Player ] [ KingB ] [ TurnW ] sfx0 | |
[ action Player Pieces ] -> sfx1 | |
[ action Player PiecesTP ] -> sfx2 | |
[ > Player ] -> [ > Player ] nosave | |
============== | |
WINCONDITIONS | |
============== | |
all PieceW on TargetWX | |
all PieceB on TargetBX | |
======= | |
LEVELS | |
======= | |
message Two kingdoms has been in war for ages, with no sign of a conclusion. | |
message So their king decided to make a thruce and end their endless battle. | |
message Just like in their battle, White take the first move. They then let Black plan their next move. | |
%%%!%%% | |
%bk#tp% | |
%#g@i#% | |
%kr#ot% | |
%%%%%%% | |
message The two kingdoms finally settled their differences. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment