Skip to content

Instantly share code, notes, and snippets.

@BdR76
Created June 10, 2026 14:58
Show Gist options
  • Select an option

  • Save BdR76/82549370787ccad9ba77497cbbb1261e to your computer and use it in GitHub Desktop.

Select an option

Save BdR76/82549370787ccad9ba77497cbbb1261e to your computer and use it in GitHub Desktop.
Pitman MZ-700 (Puzzlescript Next Script)
Play this game by pasting the script into https://puzzlescriptnext.polyomino.com/editor.html
(Pitman by Yutaka Isokawa (1985)
A true classic and a perfect fit for PuzzleScript.
This is an adaptation of a BASIC game for the Sharp MZ-700.
See the following page for more info on the game:
http://www.hardcoregaming101.net/catrap/catrap.htm
Also see Pitman (GameBoy version) PuzzleScript adaptation here:
http://www.puzzlescript.net/play.html?p=91812deb73f9fa066c9c)
title Pitman MZ-700
author Bas de Reuver
homepage https://bdrgames.itch.io/
flickscreen 11x8
again_interval 0.1
(run_rules_on_level_start)
sprite_size 24
========
OBJECTS
========
Background
Black
Ladder
#000000 #ffffff
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000011111111111111111000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000011111111111111111000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000010000000000000001000
000011111111111111111000
000010000000000000001000
000010000000000000001000
000010000000000000001000
Gold
#000000 #f0f000
000000000000000000000000
000000000000000000000000
000000000000000000000000
000000000000000000000000
000000000000000000000000
000000001111111100000000
000000001111111100000000
000000001111111100000000
000011110000111111110000
000011110000111111110000
000011110000111111110000
000011110000111111110000
000011111111000011110000
000011111111000011110000
000011111111000011110000
000011111111000011110000
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
Dirt
#000000 #f00000
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
101010101010101010101010
010101010101010101010101
Boulder
#000000 #f00000
000000011111111110000000
000000111111111111000000
000001111111111111100000
000011111111111111110000
000111111111111111111000
001111111111111111111100
011111111111111111111110
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
011111111111111111111110
001111111111111111111100
000111111111111111111000
000011111111111111110000
000001111111111111100000
000000111111111111000000
000000011111111110000000
Wall
#00f0f0 #ffffff
111111111111111111111111
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
100000000000000000000001
111111111111111111111111
PlayerIdle
#000000 #ffffff
000000000000000000000000
000000000011110000000000
000000000111111000000000
000000000111111000000000
000000000111111000000000
000000000111111000000000
000000000011110000000000
000000000000000000000000
000001001111111100100000
000010001111111100010000
000100001111111100001000
000100001111111100001000
000100001111111100001000
000010001111111100010000
000001001111111100100000
000000001111111100000000
000000011111111110000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
PlayerRight
#000000 #ffffff
000000000000000000000000
000000000011110000000010
000000000111111000000100
000000000111111000001000
000000000111111000010000
000000000111111000100000
000000000011110001000000
000000000000000000000000
000001001111111100000000
000010001111111100000000
000100001111111100000000
000100001111111100000000
000100001111111100000000
000010001111111100000000
000001001111111100000000
000000001111111100000000
000000011111111111111111
000000010000000000000000
000000010000000000000000
000000010000000000000000
000000010000000000000000
000000010000000000000000
000000010000000000000000
000000010000000000000000
PlayerLeft
#000000 #ffffff
000000000000000000000000
010000000011110000000000
001000000111111000000000
000100000111111000000000
000010000111111000000000
000001000111111000000000
000000100011110000000000
000000000000000000000000
000000001111111100100000
000000001111111100010000
000000001111111100001000
000000001111111100001000
000000001111111100001000
000000001111111100010000
000000001111111100100000
000000001111111100000000
111111111111111110000000
000000000000000010000000
000000000000000010000000
000000000000000010000000
000000000000000010000000
000000000000000010000000
000000000000000010000000
000000000000000010000000
PlayerLadder
#000000 #ffffff
000000000000000000000000
000000000011110000000000
000000000111111000000000
000000000111111000000000
000000000111111000000000
000000000111111000000000
000000000011110000000000
000000000000000000000000
000001001111111100100000
000010001111111100010000
000100001111111100001000
000100001111111100001000
000100001111111100001000
000010001111111100010000
000001001111111100100000
000000001111111100000000
000000011111111110000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
000000010000000010000000
=======
LEGEND
=======
. = Background
P = PlayerIdle
R = PlayerRight
S = PlayerLeft
Q = PlayerLadder
O = Boulder
█ = Wall
▒ = Dirt
H = Ladder
G = Gold
Player = PlayerIdle or PlayerLeft or PlayerRight or PlayerLadder
BlockingAll = Ladder or Gold or Dirt or Wall or Boulder or Player
BlockingObj = Gold or Dirt or Wall or Boulder or Player
=======
SOUNDS
=======
ShowMessage 72692706
Boulder Move Horizontal 99804707
Player Move Horizontal 68263307 (37184702)
SFX1 16509700 (get gold)
SFX2 97366302 (win)
================
COLLISIONLAYERS
================
Background
Ladder, Gold, Dirt
Wall, Boulder, Player
======
RULES
======
( ===============
NORMAL MOVEMENT
=============== )
(player push animation return to idle)
[ PlayerLeft ] -> [ PlayerIdle ] again
[ PlayerRight ] -> [ PlayerIdle ] again
(push boulder left or right)
LEFT [ > Player | Boulder | no BlockingAll ] -> [ PlayerLeft | > Boulder | ]
RIGHT [ > Player | Boulder | no BlockingAll ] -> [ PlayerRight | > Boulder | ]
(don't let the player move up or down unless they're on a ladder)
UP [ > Player | BlockingObj ] -> [ Player | BlockingObj ]
(player can't jump)
UP [ > Player no Ladder ] -> [ Player ]
(don't let the player grab gold or dirt from above)
DOWN [ > Player | BlockingObj ] -> [ Player | BlockingObj]
(forces another turn after player movement to assert gravity)
[ MOVING Player ] -> [ MOVING Player ] again
(forces another turn after Boulder movement to assert gravity)
[ MOVING Boulder ] -> [ MOVING Boulder ] again
(assert gravity)
DOWN [ STATIONARY Player no Ladder | no BlockingAll ] -> [ > Player no Ladder | ] again
DOWN [ STATIONARY Boulder | no BlockingAll ] -> [ > Boulder | ] again
DOWN [ STATIONARY Gold | no BlockingAll ] -> [ > Gold | ] again
(player digs through dirt)
late [ Player Dirt ] -> [ Player ]
(player grabs gold)
late [ Player Gold ] -> [ Player ] SFX1
(transform player on ladder)
late [ Player Ladder ] -> [ PlayerLadder Ladder ]
==============
WINCONDITIONS
==============
(player wins when all gold collected)
no Gold
=======
LEVELS
=======
message The object of the game is to grab all gold!
message You can only collect gold from left or right. You can climb ladders, push boulders and dig through dirt.
message There are 50 levels.. good luck!
message Level 1
...O.......
H██O█.████H
H..O.█....H
H.P▒......H
████.█....H
....█.....H
G........OH
███.███.███
message Level 2
..O........
..O.O......
..█HG▒.....
..█H▒GG...G
..█H▒▒▒.▒▒▒
G.█H..▒▒▒..
█.█H......P
█.█████████
message Level 3
....P.█.O..
....OH█HO..
...GOH█HG..
..G▒▒H█HGG.
.█GHHH█H██.
.██████H█G.
.......H██.
.█████████.
message Level 4
.....O.....
.G...▒....G
.▒H.HG█O█.H
...GH▒█G█O.
.G.▒H.▒O▒G.
G▒H.HP▒▒▒O.
▒..G.███▒▒H
▒GH▒█G▒▒▒▒H
message Level 5
███████████
OGO....█▒▒█
OOOH█H.█▒▒█
▒▒▒..H.█▒▒█
..GH█H.█▒▒█
▒OO..H.█▒▒█
GHGH█H.█▒▒█
H.G..HP████
message Level 6
..O........
.PO.O......
H▒▒.H......
H..▒▒▒▒HHH.
▒▒▒▒G..H█OG
....▒.██.OO
G....█..HGO
█.█▒H.H█H▒G
message Level 7
.HH.O...███
.HO.O..P█▒█
.HO.G██H█▒█
.HO.HOOH█▒█
█H█.G▒▒H█▒█
█H..HH███▒█
██..█H█▒▒▒█
▒█.GHH█████
message Level 8
▒▒▒.█..HHHH
▒▒▒P█G.▒.GH
▒▒▒H█O.▒GOH
▒OOH█▒.▒█OH
.▒OH█..▒.OH
..▒H█HHH.▒H
.G█H███H██H
.HHH......H
message Level 9
....O..G.█▒
H██HO.H█.█▒
H.█HG.H█.█▒
H.█HG.██.██
H.█HO.██..H
H.███▒...█H
H..G..████H
H..H..P...H
message Level 10
..P...█▒▒.G
.O▒▒▒H█G▒▒O
.G▒▒HH█O▒H▒
.▒.▒H█▒▒▒H▒
..O.H█H▒▒H▒
.▒█▒H.█H.H▒
H█H.▒.▒█H▒▒
▒.H▒▒H▒▒HG▒
(Level 11 is slightly changed,
in the original game the 2 dirt blocks are also walls.
However, that would make this level impossible to solve
because in original rules are executed per column)
message Level 11
.....G.....
...G...G...
.G...P...G.
....█O█....
.....G.....
█O▒O█O█O▒O█
...........
█.█.█.█.█.█
message Level 12
..O..H..O..
..███H..O..
........OHH
..█████O▒OH
..HHHHHO.OH
..H▒G▒.▒.▒H
G.H.OG.█..H
H.H.GH.█.PH
message Level 13
▒GG..█G.G▒▒
▒O█GH.█HO.▒
H▒█▒▒H.█▒H.
H▒█▒▒▒H.█.H
H▒.▒▒▒▒H.HO
HP█HH▒HH█OG
▒▒█HOH.HH▒O
▒▒▒H▒▒▒...H
message Level 14
...O.......
...O.....█.
.HHO.███H..
.HO▒OO.....
.HO.▒O.....
.H▒.▒▒...G.
PH..O...GO.
██HH▒...HG.
message Level 15
..O..P..O..
HHHHH▒HHHHH
H..O.▒.O..H
H.▒G▒.▒G▒.H
H.▒█▒.▒█▒.H
H.▒▒▒.▒▒▒.H
H...H.H...H
H...H.H...H
message Level 16
O...██O..O▒
▒.PO..▒..GH
H█▒▒H▒▒▒.▒▒
.GO.H▒▒.▒..
▒▒▒▒H..H.▒.
G█O.H█.█...
O.▒▒▒▒▒..G.
▒H.....H.█.
message Level 17
HHHHH......
HGOOHOG....
HOGOHGOO...
HGOGHO▒GH..
HOGOHGOOH..
H▒GGHOG▒H..
██H█HGOHH.G
█GH█HHHHP.H
(Level 18 might not be solvable, because the gravtiy
was processed per column in the original MZ700 game)
message Level 18
H.........H
H▒▒▒O▒▒▒O▒H
H.▒G▒P▒GO.H
H.▒▒OO▒OG.H
H.▒GG.▒▒▒.H
H..▒G.GO..H
H..GO.▒O..H
H.▒▒▒▒.▒▒.H
message Level 19
......▒▒█O█
H██O▒H▒▒█G█
H█.G█HO▒█O█
HH.O.H▒▒█O█
H..▒▒▒..▒▒▒
.HH█▒▒▒▒▒OO
H.PO.O...▒▒
█.██.█.█HGH
(Level 20 might not be solvable, because the gravtiy
was processed per column in the original MZ700 game)
message Level 20
.HHHHHHHHHH
P.........H
█.GGO.OGO.H
█...G.G.G.H
█.OOG.O.O.H
█.G...G.G.H
█.OGO.GGO.H
█.........H
message Level 21
...O.......
.█O█HO███H.
..OO.▒P..H.
.G▒▒.▒▒..H.
.▒█.H....H.
G..▒.....H.
█.████████.
█.█........
message Level 22
....█▒▒█OO.
...G████OO.
...▒HHH█▒HH
..O.O.HG..H
HHO▒O..█..H
HP▒▒O..G..H
H▒.▒▒..█..H
HHHHHHH█..H
message Level 23
▒O.........
▒P.███████H
.▒GO......H
▒.▒GO.....H
.▒.▒GO....H
▒.▒.▒GO...H
.▒.▒.▒G...H
▒.▒.▒.▒...H
message Level 24
HHOPO......
H.OHO......
H.OHO......
H.█O█OH....
H..O.O.H...
H.██.█.██..
H..O.O.█..G
H.██.█.█..█
message Level 25
▒▒G▒O.█G.O.
GH▒▒O.██O█H
O...▒H█.OOH
▒▒H█OH..▒█H
.H█.O▒▒HO.H
▒.G▒▒..H▒H▒
▒.██OH▒H█.G
▒P▒▒▒H█H█HH
message Level 26
▒.....O....
▒.▒█▒HHHHHH
▒.█▒█.....H
▒.▒█▒.O...H
▒....▒▒▒..H
▒....▒G▒..H
▒▒▒▒.▒▒▒..H
...▒..P...H
message Level 27
████PHHHHHH
█▒▒██...OGH
█▒▒▒█..OG▒H
█▒███.OG▒H█
█▒█G..G▒H██
█▒███.▒HH█▒
█▒▒█G.GH██▒
████H.H██▒▒
message Level 28
........GO.
........HOH
......██.▒H
.........█H
..G..O....H
.H█.██..H██
.H......H..
.......PH..
message Level 29
...O.█▒▒▒▒▒
...O.██████
.HHO......G
.HO▒O██████
.HO.O.HHHHH
.H▒.▒.▒G▒.H
.H..█.GOG.H
PH..█.HGH.H
message Level 30
H......H...
H▒▒▒▒▒▒.O..
HO..P...███
H▒.███.....
HO.GG█..HG.
H▒.█O█...H.
H..▒▒▒....H
▒.H▒▒▒▒▒▒▒.
message Level 31
▒G▒▒.O.O...
▒▒▒▒HHHHHHH
▒.█G.▒....H
▒.▒▒.▒....H
▒...PO....H
H▒▒.▒▒....H
..........H
█████████..
message Level 32
.......█GO.
....O.O.█▒H
H▒▒▒H.▒H█OH
H...H▒.H█▒H
HO.O...H..H
H▒.▒▒H.██GH
H.▒..H▒.██O
HP.H█▒.HG█O
message Level 33
▒....O▒....
▒▒OO.▒▒H...
▒H▒O▒.▒H.P.
▒H.▒G.█████
▒H..O.▒.G█.
▒HG.O.▒O█..
▒HO.O.▒█...
▒HHHHH█████
message Level 34
....PO.O...
....H█.O...
.O.H█..O...
.OH█...O.G.
H▒.....O.█.
H▒....OGG..
H..H..▒GG..
███H..▒GG..
message Level 35
.....OHHHH.
....GOPHOH.
...GOHHHOH.
G.GOHH█H▒H.
H.OHH█GO.HH
H.▒▒G█H▒..H
H..▒██HO..H
H..▒▒▒HHH..
message Level 36
█PPP█PPP█G.
██████████H
....O...█.H
.H█G▒...█.H
.H█HOO..█.H
H▒▒▒G▒O.P.H
H...▒▒▒H█.H
HHHHHHHH█..
message Level 37
.....OOOOO.
..G..OGGGG.
..HH.GOGGGP
....█GGOGGH
.....GGGOGH
...H█GGGGOH
...H.GGGGGH
...█HHHHHHH
message Level 38
..O.O......
..▒.HHHHHHH
...OHO....H
...▒GH..G.H
.█..OHO.█.H
.G█.▒.H...H
.H.......PH
██H.H█HHH██
message Level 39
...▒O..O...
..HH█▒HHHHH
H..H█▒....H
██.H█▒.O..H
.G.H█.▒▒▒.H
H█.H█.▒G▒.H
HH.HH.▒▒▒.H
.........PH
message Level 40
HP...O...GH
H▒.OOGOO.▒H
H.█GOGOG█.H
H.GOGGGOG.H
H.█OGGGO█.H
HHOGGGGGOHH
HHGGGGGGGHH
HHHHHHHHHHH
message Level 41
..HO..O...G
..HH.HH..H█
G.OH.H.G.OP
H.OH.H.H.HG
..HH.H..OHH
.H.H.H.OH..
...H.H.H.G.
...H.....H.
message Level 42
▒▒G..O.G.O.
▒▒O.HG.█.▒.
▒OO.HHHHH.H
H▒▒.....▒▒H
H▒▒.OP..O.H
H...H▒▒▒G.H
H..▒...H█.H
▒.▒▒▒▒.H...
message Level 43
.......O..O
H███████..G
HHHHHP...OG
.O...██H.GG
▒G....█H.OG
▒▒G...█H.GO
▒▒▒G.G.H▒GG
▒▒▒▒.█.H.GG
message Level 44
.....█G.O..
......█O██H
...O.█.G.OH
H███.█.█.█H
H..G..▒.▒.H
H.H█..▒H▒HH
H.H...G█.█H
H....PH.H.H
message Level 45
HG█.....O..
HO...O.HHOG
HG███O..H▒O
HO...O..H.G
HG▒▒.OG.H.▒
H▒..▒G█.▒▒.
H...HG█▒▒O.
██HPHG█..▒.
message Level 46
█.........█
█H███G█████
█H█▒█O.O.G█
█H███O.GGO█
█H.G.GHOG▒█
█H█G████G.█
█H.▒.P..G.█
███████████
message Level 47
.G.OH......
H█.OH......
H█.OH......
H▒.OH...O..
█H.OH██HO..
█..OHP..▒H.
█OGG▒▒..▒H.
█.G▒HGH..H.
message Level 48
.O..█H..G..
H▒▒.OH.H█O.
H.G.▒H.H.O.
H.▒▒.H..▒▒H
H...PH..O.H
▒▒▒▒▒H.H█.H
G......H.▒H
██.███.█▒▒▒
(Level 49 might not be solvable, because the gravtiy
was processed per column in the original MZ700 game)
message Level 49
GOGHOGOOGGG
OGGH▒OP.OOO
OGGHHH▒....
GOOH█..HHHH
OOOH▒O█HGGO
OOO█H▒▒H▒▒▒
...██▒H██G.
HHHHHHH▒▒H.
message Level 50
▒..O▒▒▒▒▒P.
OHHHGGOHHHG
OGGHOOGH.H.
▒GHOOGGHHH.
▒▒H▒HHH▒▒▒.
G▒▒▒H.H▒▒G.
HOG▒HHH▒▒H.
HGG.GGGHGH.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment