TileSlip
Category: ASSEMBLY / MACHINE CODE Genre tags: logic Author: (private)
In 1995 I wrote a logic game called Szfinx for DOS, TileSlip is its backport to Plus/4. It was 36 years ago, in 1989, that I last wrote a game for Plus/4, Hexaéder (that was still on the Monitor provided by the machine), out of nostalgia and a sudden idea, I started this project now, with a crossassembler on PC.
The game consists of moving stones on a 16x16 board, the goal is to create the shape shown on the right. In addition to the stones of a maximum of four colors, there are also immovable walls on the board. For four-way movement, the unobstructed stones slide simultaneously in the given direction.
Every puzzle has a solution. The program displays the shortest possible sequence of steps (BEST POSSIBLE), but of course it accepts longer solutions, it just indicates that there is a shorter solution than ours.
I tested the program under YAPE and on a real Plus/4. (After stepping back, the bar of remaining redoable steps turned black, only the color to the right of the white-gray vertical bars of the steps was not "ghostly" on the CRT monitor.)
Puzzle selection screen:
Left / right: previous - next puzzle
Return: select puzzle, start game
Game:
A maximum of 120 steps are available to solve each puzzle. Unlimited back/forward movement is possible during the game, the program remembers the sequence of steps taken for all puzzles:
Cursor keys: move stones Shift + left: one step back Shift + down: back to the starting position Shift + right: (after backstep(s)) one step forward Shift + up: (after backstep(s)) jump to the last step taken M key: Generate / enter code for the sequence of steps taken in the given puzzle Return: Return to the puzzle selection screen
Generate / enter code:
From the steps taken during the puzzle, a code is generated on the screen that appears when you press the M key, which you can enter later to restore the steps. Emulator users can easily copy the code at the top of the screen by placing the screen on the clipboard, and then paste it from the clipboard later in the same way.
The program checks the entered code, e.g. does not allow a step not to change anything on the board by entering the code for the puzzle, for example, or there are additional steps after a solution.
Return: Check the code, transfer the decoded steps to the current game (then we will be in the starting state in the game and we can move forward with Shift + right buttons, or jump to the end of the step sequence with Shift + up button). Esc: Return to the game without changes
The intro music in my simplified version is "Comptine d'un autre été: L'Après-midi", composed by Yann Tiersen. | TileSlip
Kategória: ASSEMBLY / GÉPI KÓD Műfaji címkék: logikai Szerző: (private)
1995-ben írtam DOS alá egy logikai játékot Szfinx néven, a TileSlip annak a backportja Plus/4-re. 36 éve, 1989-ben írtam utoljára játékot Plus/4-re, a Hexaédert (azt még a gép által adott Monitorban), nosztalgiából, hirtelen ötlettől vezérelve vágtam bele most ebbe a projektbe, crossassemblerrel PC-n.
A játék egy 16x16-os táblán kövek mozgatásából áll, a cél jobb oldalon mutatott alakzat kialakítása. A maximum négyféle színű kövek mellett el nem mozduló falak is vannak a táblán. A négyirányú mozgatásra a nem akadályoztatott kövek egyszerre csúsznak az adott irányba.
Minden feladványnak van megoldása. A lehetséges legrövidebb lépéssor hosszát kiírja a program (BEST POSSIBLE), de persze elfogadja az ennél hosszabb megoldásokat, csak jelzi, hogy van még miénknél rövidebb megoldás is.
A programot teszteltem YAPE alatt és valódi Plus/4-en is. (A visszaléptetés után a fennmaradó újra megtehető lépések sávja is ezért lett fekete, a lépések fehér-szürke függőleges sávjaitól jobbra csak az a szín nem volt "szellemképes" a CRT monitoron.)
Feladványválasztó képernyő:
Bal / jobb: előző - következő feladvány Return: feladvány kiválasztása, játék indítása
Játék:
Egy-egy feladvány megoldására maximum 120 lépés áll rendelkezésre. A játék során korlátlan visszalépés/előrelépés lehetséges, a program az összes feladványhoz megjegyzi a megtett lépések sorát:
Kurzorgombok: kövek mozgatása Shift + bal: egy lépés vissza Shift + le: vissza a kezdő állásra Shift + jobb: (visszalépés(ek) után) egy lépés előre Shift + fel: (visszalépés(ek) után) ugrás az általunk megtett utolsó lépésre M billentyű: Kód generálása / beírása az adott feladványban megtett lépéssorunkhoz Return: Vissza a feladványválasztó képernyőre
Kód generálása / beírása:
A feladvány során megtett lépéseinkből az M billentyű megnyomására megjelenő képernyőn egy kódot generál, amelyet később megadva vissza tudjuk állítani a lépéseket. Emulátort használók a képernyő vágólapra tételével könnyebben kimásolhatják a képernyő tetején lévő kódot, majd később ugyanígy vágólapról be is illeszthetik.
A program ellenőrzi a bevitt kódot, pl. nem engedi, hogy nem a feladványhoz való kód megadásával egy-egy lépés pl. ne módosítson semmit a táblán vagy egy megoldás után még legyenek további lépések.
Return: Kód ellenőrzése, a dekódolt lépések átadása az aktuális játéknak (ekkor a játékban majd a kezdőállapotba fogunk kerülni és a Shift + jobb gombokkal tudunk előreléptetni, illetve a Shift + fel gombbal ugorhatunk a lépéssor végére). Esc: Vissza a játékba változtatás nélkül
Az intró zenéje az egyszerűsített átdolgozásomban a "Comptine d'un autre été: L'Après-midi", aminek szerzője Yann Tiersen. |