A downloadable game

10LinesGame by azimov for the Homeputerium 10Lines Contest 2022.

Use O and P to move and Q for jump. (First jump and then move). Go to the left

and take the key, come back to the start of the level to go out. Avoid spikes and



This is a game for the ZX Spectrum, it's typed in Spectaculator (128k +2A) and it

will work in any ROM 48k or 128k and obviously, any real Sinclair Spectrum or clone.

Lines 1 to 7 are the main engine of the game.

Line 1 test if the Q key is pressed

and make the character jump. If the character touches the upper line (cieling spikes) or 

the bottom line (lava) the game is reset. Goes to line 8 where the program starts.

Line 2 moves the character left and right and limits the map checking the value of

the variable c$ (the floor). If character is at the end of map (top right) the game

increases 1 level. Go to line 9 where the map is created.

Line 3 prints basic info in screen when you press the I key.

Line 4 detect if the character touches a spike and then goes to line 1 for restart


Line 5 erases the old position, prints the character at new position, then prints

the portion of a$ (the floating spikes) and the portion of c$ that defines the floor.

Line 6 detects if the character falls in a hole in the ground. It it is, it goes to

line 2 to end game.

Line 7 Check if a key is pressed, makes a beep if it's, and go back to line 1.

Line 8 and 9 Initialize game variables and screen, makes the UDG.

Line 10 Creates the variables a$ (floating spikes) and c$ (the ground) depending his

lenght on the level number and then goes to line 1, the game engine.

1 LET y=y+(y<13)*(i$<>"q")-(i$="q"): IF y=6 OR y=15 THEN POKE 23693,151: PRINT AT 10,15;"AY!": BEEP .06,9: BEEP .3,-1: FOR z=0 TO 199: NEXT z: GO TO 8: DATA "     *   ": REM RUN 8 to start 
2 LET s=s+(i$ ="p")-(i$ ="o")*(s>1): IF s=v THEN LET s=v-1: IF k=1 THEN LET l=l+1: GO TO 9: DATA " *       " 
3 IF i$="i" THEN PRINT AT 2,0;"Made by azimov for the"'"Homeputerium 10Lines Contest2022";AT 13,0;"First jump,"'"then move";AT 8,23;"Go for";AT 9,23;"the key";AT 10,25;"<<<";AT 11,23;"and back";AT 12,25;">>>": DATA "      * *" 
4 IF  SCREEN$ (y,16)="*" THEN LET y=15: LET i$="": GO TO 1: DATA "   **    " 
5 PRINT AT q,16;" ";AT y,16;e$;AT 10,12;a$(s TO s+8);AT 14,12;c$(s TO s+8): LET q=y: IF s=1 AND y=11 THEN PRINT AT 16,12; FLASH 1;"THE KEY!!": FOR z=0 TO 199: NEXT z: LET a$(3 TO 8)="GO >>>": LET a$(v+2 TO v+5)="EXIT": LET c$(v+2 TO v+5)="XXXX": LET k=1: PRINT PAPER 6;AT 16,12,,: DATA "\::\::\::   \::\::\::" 
6 IF c$(s+4)=" " AND y>11 THEN PRINT PAPER 2; INK 6;AT 13,16;"!";AT 14,16;"!": IF y=13 THEN LET y=15: GO TO 1: DATA "\::\::  \::\:: \::\::" 
7 LET i$=INKEY$: BEEP .01*(i$<>""),-3: GO TO 1: DATA "\:: \::\::\::\::\::  " 
8 RESTORE : BORDER 5: POKE 23693,48: CLEAR : LET l=1: PRINT "10LinesGame."''''''''"   Q"'"   \::"'" O\::\::\::P"'"   \::";AT 21,31; INK 1;"i": RESTORE 9: FOR z=0 TO 15: READ h: POKE USR "a"+z,h: NEXT z: DATA " \::\::  \::\::\::\::" 
9 PAPER 4: FOR z=6 TO 13: PRINT AT z,12;"         ": NEXT z: PRINT AT 14,12;"LEVEL....";AT 14,20-(l>9);l: PLOT 95,128: DRAW 73,0: DRAW 0,-73: DRAW -73,0: DRAW 0,72: PAPER 4: LET y=9: LET q=13: LET e$=CHR$ 17+CHR$ 3+""""+CHR$ 17+CHR$ 4: DATA 0,0,0,4,170,251,10,4,136,136,136,85,85,85,34,34 
10 LET a$="    \a    ": LET c$="\::\::\::\::\::\::\::  ": FOR z=1 TO 5+l*2: LET w=INT (RND*4): RESTORE w: READ b$: LET a$=a$+b$: RESTORE 5+w: READ d$: LET c$=c$+d$: NEXT z: LET a$=a$+"  <<<    ": LET c$=c$+"\::\::\::\::\::\::\::\::\::": LET s=LEN a$-9: PRINT AT 6,12; INK 1;"\b\b\b\b\b\b\b\b\b": LET i$="": LET v=LEN a$-8: LET k=0: GO TO 1


10LinesGame by azimov2022.txt 443 bytes
10LinesGame CODE EXPLANATION.txt 1 kB
10LinesGame CODE.txt 1 kB
10LinesGame.tap 2 kB
10LinesGame CODE.png 318 kB

Leave a comment

Log in with itch.io to leave a comment.