Created
November 29, 2025 05:40
-
-
Save pancelor/4589fbedcb8dd9e1383e446d39d89deb to your computer and use it in GitHub Desktop.
Biggest Tomato & Pumpkin Harvest (PuzzleScript Script)
This file contains hidden or 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 http://www.puzzlescript.net/editor.html |
This file contains hidden or 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 Biggest Tomato & Pumpkin Harvest | |
| author pancelor | |
| homepage www.puzzlescript.net | |
| (verbose_logging) | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| #4d4dff #4b4 #ff554d #ffdf4d #aa6f6c #3d3 | |
| 11111 | |
| 11111 | |
| 11111 | |
| 15151 | |
| 55555 | |
| Player | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| .444. | |
| .333. | |
| 22222 | |
| .000. | |
| .0.0. | |
| pumpkin0 | |
| #4dff90 #ffbf4d #ff9f5d | |
| ..000 | |
| ..000 | |
| 11110 | |
| 11110 | |
| 11221 | |
| pumpkin1 | |
| #4dff90 #ff9f5d #ffbf4d | |
| 000.. | |
| 000.. | |
| 01122 | |
| 01122 | |
| 21111 | |
| pumpkin2 | |
| #ffbf4d #ff9f5d | |
| 00110 | |
| 00111 | |
| 00111 | |
| ..111 | |
| ..111 | |
| pumpkin3 | |
| #ffbf4d #ff9f5d | |
| 01111 | |
| 11111 | |
| 11111 | |
| 111.. | |
| 111.. | |
| BIgTomatoGreen 1 | |
| #4dff90 | |
| BigTomatoOrange 2 | |
| #ff9f5d | |
| BigTomatoRed 3 | |
| #ff554d | |
| Tomato_tiny t | |
| #4d4dff #4dff90 #ff554d #ff9f5d #aa6f6c #666680 | |
| ..... | |
| .111. | |
| 33122 | |
| 32222 | |
| .222. | |
| Splat | |
| #4d4dff #4dff90 #cf757d #ffdf4d #aa6f6c #666680 | |
| ..... | |
| ..2.. | |
| 2222. | |
| .2222 | |
| ..... | |
| SplatP | |
| #4d4dff #4dff90 #dfc57d #ffdf4d #aa6f6c #666680 | |
| ..... | |
| .2.2. | |
| 22222 | |
| .22.. | |
| ..... | |
| BasketSmall | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 | |
| ..... | |
| .444. | |
| 4...4 | |
| 44444 | |
| .444. | |
| BasketLU | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| ..... | |
| ..444 | |
| .4... | |
| 4.... | |
| 66666 | |
| BasketLD | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| 64444 | |
| 64444 | |
| .6444 | |
| .6444 | |
| ..644 | |
| BasketRU | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| ..... | |
| 444.. | |
| ...4. | |
| ....4 | |
| 66664 | |
| BasketRD | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| 44444 | |
| 44444 | |
| 4444. | |
| 4444. | |
| 444.. | |
| Fence | |
| #4d4dff #4dff90 #ff554d #ffdf4d #aa6f6c #666680 #cf757d | |
| ..... | |
| .4.6. | |
| 44464 | |
| .4.6. | |
| .4.6. | |
| FireBG | |
| #af050d | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| WaterBG | |
| #4d4dff | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| EnergyBG | |
| #ffbf4d | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| LeafBG | |
| #4dff90 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| 00000 | |
| N0 | |
| #4b4 | |
| 0...0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0...0 | |
| N1 | |
| #4b4 | |
| 00.00 | |
| 0..00 | |
| 00.00 | |
| 00.00 | |
| 0...0 | |
| N2 | |
| #4b4 | |
| 0...0 | |
| 000.0 | |
| 0...0 | |
| 0.000 | |
| 0...0 | |
| N3 | |
| #4b4 | |
| 0...0 | |
| 000.0 | |
| 00..0 | |
| 000.0 | |
| 0...0 | |
| N4 | |
| #4b4 | |
| 0.0.0 | |
| 0.0.0 | |
| 0...0 | |
| 000.0 | |
| 000.0 | |
| N5 | |
| #4b4 | |
| 0...0 | |
| 0.000 | |
| 0...0 | |
| 000.0 | |
| 0...0 | |
| N6 | |
| #4b4 | |
| 0...0 | |
| 0.000 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| N7 | |
| #4b4 | |
| 0...0 | |
| 000.0 | |
| 000.0 | |
| 000.0 | |
| 000.0 | |
| N8 | |
| #4b4 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| N9 | |
| #4b4 | |
| 0...0 | |
| 0.0.0 | |
| 0...0 | |
| 000.0 | |
| 0...0 | |
| Counter | |
| transparent | |
| Increase | |
| transparent | |
| Subtract | |
| transparent | |
| gotpumpkin | |
| transparent | |
| membraneL | |
| transparent | |
| membraneR | |
| transparent | |
| membraneU | |
| transparent | |
| membraneD | |
| transparent | |
| Dying | |
| transparent | |
| spacetest0 | |
| green | |
| spacetest1 | |
| blue | |
| spacetestfail | |
| yellow | |
| HWrap | |
| #000 | |
| 00000 | |
| ..... | |
| 00000 | |
| ..... | |
| 00000 | |
| VWrap | |
| #000 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| 0.0.0 | |
| ======= | |
| LEGEND | |
| ======= | |
| . = Background | |
| P = Player | |
| F = Fence | |
| ┌ = pumpkin0 | |
| ┐ = pumpkin1 | |
| └ = pumpkin2 | |
| ┘ = pumpkin3 | |
| B = BasketSmall | |
| Ä = BasketLU | |
| Ü = BasketLD | |
| Ö = BasketRU | |
| ß = BasketRD | |
| □ = N0 and FireBG | |
| ─ = N0 and EnergyBG | |
| spacetestok = spacetest0 or spacetest1 | |
| spacetest = spacetestok or spacetestfail | |
| Pumpkin = pumpkin0 or pumpkin1 or pumpkin2 or pumpkin3 | |
| PumpkinL = pumpkin0 or pumpkin2 | |
| PumpkinR = pumpkin1 or pumpkin3 | |
| PumpkinU = pumpkin0 or pumpkin1 | |
| PumpkinD = pumpkin2 or pumpkin3 | |
| membrane = membraneL or membraneR or membraneU or membraneD | |
| BigTomato = BigTomatoRed or BIgTomatoGreen or BigTomatoOrange | |
| tomato = Tomato_tiny or BigTomato | |
| BG = FireBG or WaterBG or LeafBG or EnergyBG | |
| Basket = BasketSmall or BasketLU or BasketLD or BasketRU or BasketRD | |
| BasketL = BasketLU or BasketLD | |
| BasketR = BasketRU or BasketRD | |
| BasketU = BasketLU or BasketRU | |
| BasketD = BasketLD or BasketRD | |
| Pushable = Basket or Tomato or Pumpkin | |
| Obstacle = Pushable or Fence or Player | |
| Object = Pushable or Player | |
| Digit = N0 or N1 or N2 or N3 or N4 or N5 or N6 or N7 or N8 or N9 | |
| NonZero = N1 or N2 or N3 or N4 or N5 or N6 or N7 or N8 or N9 | |
| ======= | |
| SOUNDS | |
| ======= | |
| sfx0 67117309 | |
| sfx1 8344300 | |
| sfx2 85402100 | |
| sfx3 86702900 | |
| sfx4 18618903 | |
| sfx5 38497104 | |
| sfx6 9025501 | |
| sfx7 54794705 | |
| sfx8 23242904 | |
| sfx9 67652304 | |
| sfx10 59027504 | |
| (sfx11 26329104) | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| HWrap | |
| VWrap | |
| BG | |
| Digit | |
| Splat | |
| SplatP | |
| Fence | |
| Player, pushable | |
| Counter | |
| Increase | |
| Subtract | |
| membraneL | |
| membraneR | |
| membraneU | |
| membraneD | |
| gotpumpkin | |
| spacetest | |
| Dying | |
| ====== | |
| RULES | |
| ====== | |
| (mark first digit in counter) | |
| right [digit | NO digit] -> [counter digit| ] | |
| (player can push stuff) | |
| [> Player | pushable] -> [> Player|> pushable] | |
| horizontal [ Pushable HWrap | ... | > Player HWrap] -> [ > Pushable HWrap | ... | > Player HWrap] | |
| vertical [ Pushable VWrap | ... | > Player VWrap] -> [ > Pushable VWrap | ... | > Player VWrap] | |
| RIGID [moving basket][stationary basket] -> [moving basket][moving basket] | |
| RIGID [moving BigTomato][stationary BigTomato] -> [moving BigTomato][moving BigTomato] | |
| (rigid pumpkin movement) | |
| [membrane] -> [] | |
| [PumpkinL] -> [PumpkinL membraneL] | |
| [PumpkinR] -> [PumpkinR membraneR] | |
| [PumpkinU] -> [PumpkinU membraneU] | |
| [PumpkinD] -> [PumpkinD membraneD] | |
| left [moving Pumpkin no membraneL | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| right [moving Pumpkin no membraneR | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| up [moving Pumpkin no membraneU | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| down [moving Pumpkin no membraneD | stationary Pumpkin] -> [moving Pumpkin | moving Pumpkin] | |
| ( | |
| down [moving pumpkin0 | stationary pumpkin2] -> [moving pumpkin0 | moving pumpkin2] | |
| down [stationary pumpkin0 | moving pumpkin2] -> [moving pumpkin0 | moving pumpkin2] | |
| down [moving pumpkin1 | stationary pumpkin3] -> [moving pumpkin1 | moving pumpkin3] | |
| down [stationary pumpkin1 | moving pumpkin3] -> [moving pumpkin1 | moving pumpkin3] | |
| right [moving pumpkin0 | stationary pumpkin1] -> [moving pumpkin0 | moving pumpkin1] | |
| right [stationary pumpkin0 | moving pumpkin1] -> [moving pumpkin0 | moving pumpkin1] | |
| right [moving pumpkin2 | stationary pumpkin3] -> [moving pumpkin2 | moving pumpkin3] | |
| right [stationary pumpkin2 | moving pumpkin3] -> [moving pumpkin2 | moving pumpkin3] | |
| ) | |
| [> Tomato | stationary Tomato] -> [Tomato Dying | Tomato Dying] sfx5 | |
| [> Tomato | Pumpkin] -> [Tomato Dying | Pumpkin] sfx5 | |
| [BigTomato Dying][BigTomato no Dying] -> [BigTomato Dying][Splat] | |
| [Tomato Dying] -> [Splat] | |
| (start splat) | |
| left [> Pumpkin membraneL | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| right [> Pumpkin membraneR | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| up [> Pumpkin membraneU | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| down [> Pumpkin membraneD | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| (propagate splat) | |
| left [action SplatP no membraneL | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| right [action SplatP no membraneR | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| up [action SplatP no membraneU | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| down [action SplatP no membraneD | Pumpkin] -> [action SplatP | action SplatP] sfx4 | |
| (put items into basket) | |
| startloop | |
| [> BigTomato | Basket][counter FireBG NO Increase] -> [Dying BigTomato | Stationary Basket][Counter FireBG Increase] sfx1 | |
| [Dying BigTomato][BigTomato no Dying] -> [Dying BigTomato][] | |
| [Dying BigTomato] -> [] | |
| [> Tomato | Basket][counter FireBG NO Increase] -> [ | Stationary Basket][Counter FireBG Increase] sfx1 | |
| [> Pumpkin | Basket][counter EnergyBG NO Increase] -> [gotpumpkin | Stationary Basket][Counter EnergyBG Increase] sfx3 | |
| left [Pumpkin no membraneL | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| right [Pumpkin no membraneR | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| up [Pumpkin no membraneU | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| down [Pumpkin no membraneD | gotpumpkin] -> [gotpumpkin | gotpumpkin] sfx3 | |
| [N0 Increase] -> [N1] | |
| + [N1 Increase] -> [N2] | |
| + [N2 Increase] -> [N3] | |
| + [N3 Increase] -> [N4] | |
| + [N4 Increase] -> [N5] | |
| + [N5 Increase] -> [N6] | |
| + [N6 Increase] -> [N7] | |
| + [N7 Increase] -> [N8] | |
| + [N8 Increase] -> [N9] | |
| + LEFT [N9 Increase | Digit] -> [N0 | Digit Increase] | |
| + LEFT [N9 BG Increase | No Digit] -> [N0 BG | N1 BG] | |
| endloop | |
| [gotpumpkin] -> [] | |
| [> BigTomato | Fence] -> [Dying BigTomato | Fence] sfx5 | |
| [Dying BigTomato][BigTomato no Dying] -> [Dying BigTomato][Splat] | |
| [Dying BigTomato] -> [Splat] | |
| [> Tomato | Fence] -> [Splat | Fence] sfx5 | |
| [> pushable | Fence] -> [pushable | Fence] | |
| (use action key to push an element out of basket) | |
| horizontal [action Player | Basket | NO obstacle][nonzero FireBG][Counter FireBG NO Subtract] -> [Player | Basket | Tomato_tiny][nonzero FireBG][Counter FireBG Subtract] sfx6 | |
| horizontal [action Player | Basket | Basket | NO obstacle][nonzero FireBG][Counter FireBG NO Subtract] -> [Player | Basket | Basket | Tomato_tiny][nonzero FireBG][Counter FireBG Subtract] sfx6 | |
| (test if pumpkin can be removed) | |
| up [BasketU | ] -> [BasketU | spacetest0] | |
| up [spacetest0 | ] -> [spacetest0 | spacetest1] | |
| down [BasketD | ] -> [BasketD | spacetest1] | |
| down [spacetest1 | ] -> [spacetest1 | spacetest0] | |
| [spacetest obstacle] -> [spacetestfail obstacle] | |
| [spacetestfail | spacetest] -> [spacetestfail | spacetestfail] | |
| vertical [action Player | Basket | Basket | NO spacetestfail][nonzero EnergyBG][Counter EnergyBG NO Subtract] -> [Player | Basket | Basket | gotpumpkin][nonzero EnergyBG][Counter EnergyBG Subtract] sfx9 | |
| up [BasketL | gotpumpkin] -> [BasketL | Pumpkin2 gotpumpkin] | |
| up [BasketR | gotpumpkin] -> [BasketR | Pumpkin3 gotpumpkin] | |
| down [BasketL | gotpumpkin] -> [BasketL | Pumpkin0 gotpumpkin] | |
| down [BasketR | gotpumpkin] -> [BasketR | Pumpkin1 gotpumpkin] | |
| startloop | |
| left [Pumpkin1 gotpumpkin | ] -> [Pumpkin1 gotpumpkin | Pumpkin0 gotpumpkin] | |
| down [Pumpkin0 gotpumpkin | ] -> [Pumpkin0 gotpumpkin | Pumpkin2 gotpumpkin] | |
| right [Pumpkin2 gotpumpkin | ] -> [Pumpkin2 gotpumpkin | Pumpkin3 gotpumpkin] | |
| up [Pumpkin3 gotpumpkin | ] -> [Pumpkin3 gotpumpkin | Pumpkin1 gotpumpkin] | |
| endloop | |
| [gotpumpkin] -> [] | |
| [spacetest] -> [] | |
| (stop pumpkin movement) | |
| left [> Pumpkin membraneL | object] -> [stationary Pumpkin membraneL | object] | |
| right [> Pumpkin membraneR | object] -> [stationary Pumpkin membraneR | object] | |
| up [> Pumpkin membraneU | object] -> [stationary Pumpkin membraneU | object] | |
| down [> Pumpkin membraneD | object] -> [stationary Pumpkin membraneD | object] | |
| (propagate stop) | |
| left [stationary Pumpkin no membraneL | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| right [stationary Pumpkin no membraneR | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| up [stationary Pumpkin no membraneU | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| down [stationary Pumpkin no membraneD | moving Pumpkin] -> [stationary Pumpkin | stationary Pumpkin] | |
| (resolve all movement manually, so we can use remaining movement to determine automatic item usage) | |
| [> pushable | No object] -> [ | pushable] | |
| horizontal [No object HWrap | ... | > Pushable HWrap] -> [Pushable HWrap | ... | HWrap] | |
| vertical [No object VWrap | ... | > Pushable VWrap] -> [Pushable VWrap | ... | VWrap] | |
| (make wrapping work for player too) | |
| [> player | no Player no pushable] -> [ | player] | |
| horizontal [ NO Pushable HWrap | ... | > Player HWrap] -> [ Player HWrap | ... | HWrap] | |
| vertical [ NO Pushable VWrap | ... | > Player VWrap] -> [ Player VWrap | ... | VWrap] | |
| [orthogonal player] -> cancel | |
| LEFT [N0 Subtract| ] -> [N9 | Subtract] | |
| + LEFT [Digit | N1 BG Subtract| No Digit] -> [Digit | no BG no digit | ] | |
| + [N1 Subtract] -> [N0] | |
| + [N2 Subtract] -> [N1] | |
| + [N3 Subtract] -> [N2] | |
| + [N4 Subtract] -> [N3] | |
| + [N5 Subtract] -> [N4] | |
| + [N6 Subtract] -> [N5] | |
| + [N7 Subtract] -> [N6] | |
| + [N8 Subtract] -> [N7] | |
| + [N9 Subtract] -> [N8] | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| (no way to win) | |
| ======= | |
| LEVELS | |
| ======= | |
| ................... | |
| .fffffffffffffffff. | |
| .fttttt111111tt.tf. | |
| .ftt.tt111111ttttf. | |
| .f.tt2222113333ttf. | |
| .f.äö2222113333ttf. | |
| .ftüß2233333333ttf. | |
| .fp┌┐2233333333ttf. | |
| .f.└┘tt333333tt┌┐f. | |
| .ftttt.333333t.└┘f. | |
| .fffffffffffffffff. | |
| ........─..□....... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment