|Compatibility||Amstrad PCW 8256 / 8512 / 9512|
There are many maze games for the PCW, but most of them lack a purpose other than to escape from the maze with various difficulties, but we have never seen them with seriousness, which this game is about.
Our task in the labyrinth will be to collect as many precious gems as possible, shown on the screen with the letter “o” and collected by passing over them. We appear in the upper left part of the screen with a light green “o”, whenever the game starts, and we move with the cursor keys. There are small bricks in the labyrinth that will prevent us from accessing a new corridor. We can only pass over them if we have enough gems, but keeping in mind that for each block that is destroyed we will lose a gem.
We will have to be aware of the monsters, they appear as a kind of cross, that if we touch them the game will be over. We can kill them but getting rid of them will cost us three gems. We will do it by looking at it and pressing the space bar.
If in any of the levels we get locked up, we will only have to shoot at the wall, which will turn into a monster and we will have to shoot on it.
Fortunately, we will start the game with seven gems (hence the importance of collecting as many as we can) in order to overcome any obstacles.
One of the difficulties that we find in the game is that we will always fall downwards, hence its name “gravity”, but we can solve them by being skillful with the cursor keys.
There are four levels of play, from “easy” to “hard”. Each skill level is divided into ten levels with increasing difficulty, number of monsters, blocks and gems. We will pass the level once we have collected all the gems at the bottom right of the screen.
1 ' Gravity by Tim Granger 2 ' PCW Plus issue 82, pages 54-55 3 ' 5 clock=256*PEEK(2)-10 10 INPUT "Enter skill level, 1-4 (1=Easy) ",k 20 h=1:sc=0:ge=7:e$=CHR$(27):DEF FNt$(x,y)=e$+"Y"+CHR$(32+x)+CHR$(31+y) 30 DATA Easy,.5,8,10,5,Medium,1,10,16,10,Hard,1.5,10,25,15,Outrageous,2.5,14,30,25 40 DATA 6,5,6,6,6,9,7,11,8,13,8,13,7,10,6,9,5,7,4,8,31,6,30,1,0,-1,1,0,0,1,-1,0 50 DATA 149,154,149,154,149,187,128,143 60 DIM ad[4,2],pt$[32,65],i[4,4],n[10,3] 70 FOR a=1 TO 4:READ t$[a]:FOR b=1 TO 4:READ i[a,b]:NEXT b,a:RANDOMIZE PEEK (clock+2) 80 FOR a=1 TO 10:READ p,q:n[a,1]=3*p:n[a,2]=2*q:n[a,3]=2*a:NEXT a 90 FOR a=1 TO 4:READ ch[a]:NEXT a:FOR a=1 TO 4:FOR b=1 TO 2:READ ad[a,b]:NEXT b,a 100 FOR a=1 TO 5:READ q:a$[a]=CHR$(q):NEXT a:FOR a=1 TO 3:READ p:s$[a]=CHR$(p):NEXT a 110 m=i[k,1]:xc=2*i[k,2]:sd=2*i[k,3]:p=i[k,4]:PRINT e$+"f"+e$+"0" 120 PRINT e$+"E":PRINT FNt$(30,0)t$[k];FNt$(30,15)"Level";h:w=0:GOSUB 400:GOSUB 410 130 v=0:FOR a=0 TO xc+2:FOR b=0 TO sd+2:pt$[a,b]=" ":NEXT b,a 140 FOR a=1 TO 3:no=INT(xc*sd*m*n[h,a]/400):GOSUB 440:NEXT a 150 FOR a=2 TO xc STEP 2:FOR b=2 TO sd STEP 2:z=0:GOSUB 420:NEXT b,a 160 FOR a=3 TO xc-1 STEP 2:FOR b=3 TO sd-1 STEP 2:z=1:GOSUB 420:NEXT b,a 170 FOR a=2 TO sd STEP 2:pt$[1,a]=CHR$(154):pt$[xc+1,a]=CHR$(154):NEXT a 180 FOR a=2 TO xc STEP 2:pt$[a,1]=CHR$(149):pt$[a,sd+1]=CHR$(149):NEXT a 190 pt$[2,2]=" ":pt$[2,3]=" ":pt$[3,2]=" ":FOR a=1 TO xc+1 STEP 2:FOR b=1 TO sd+1 STEP 2 200 t=0:FOR c=1 TO 4:IF pt$[a+ad[c,1],b+ad[c,2]]<>" " THEN t=t+2^(4-c) 210 NEXT c:pt$[a,b]=CHR$(144+t):NEXT b,a 220 FOR a=1 TO xc+1:FOR b=1 TO sd+1:PRINT pt$[a,b];:NEXT b:PRINT:NEXT a:x=2:y=2 230 PRINT FNt$(x,y)CHR$(188):IF x=xc AND y=sd THEN h=h+1:IF h<11 THEN 120 ELSE 340 240 v=v+1:f$=INKEY$:IF INT(v/50)=v/50 THEN f$=CHR$(30) 250 IF f$="" THEN 240 ELSE f=ASC(f$):IF d>0 THEN d1=d 260 d=0:FOR a=1 TO 4:IF ch[a]=f THEN d=5-a 270 NEXT a:IF f=113 OR f=81 THEN r=143:GOTO 310 280 IF f=32 AND ge>2 THEN w=-3:GOSUB 400:i=x:j=y:GOSUB 350:GOTO 240 ELSE IF d=0 THEN 240 290 r=ASC(pt$[x+ad[d,1],y+ad[d,2]]):IF r=32 THEN 330 300 IF r=187 THEN w=1:GOSUB 400:pt$[x+ad[d,1],y+ad[d,2]]=" ":GOTO 330 310 IF r=143 THEN PRINT FNt$(30,35)"You're Dead!";e$+"e":END 320 IF r=128 AND ge>0 THEN w=-1:GOSUB 400:pt$[x+ad[d,1],y+ad[d,2]]=" ":GOTO 330 ELSE 240 330 PRINT FNt$(x,y)" ":x=x+ad[d,1]:y=y+ad[d,2]:GOTO 230 340 GOSUB 410:PRINT FNt$(30,35)"End of skill level";e$+"e":END 350 PRINT FNt$(i,j)" ":PRINT FNt$(x,y)CHR$(188):i=i+ad[d1,1]:j=j+ad[d1,2] 360 r=ASC(pt$[i,j]):IF r=128 THEN PRINT FNt$(i,j)" ":pt$[i,j]=" ":RETURN 370 IF r=149 OR r=154 THEN PRINT FNt$(i,j)CHR$(143):pt$[i,j]=CHR$(143):RETURN 380 IF r=32 THEN PRINT FNt$(i,j)"+":GOTO 350 390 PRINT FNt$(i,j)CHR$(128):pt$[i,j]=CHR$(128):RETURN 400 ge=ge+w:PRINT FNt$(30,60)"Gems:";ge;e$+"H":RETURN 410 IF v>0 THEN sc=sc+(ge*p)+INT(10^6/(v/m/m)):PRINT FNt$(30,75)"Score:"sc;e$+"H":RETURN 420 IF pt$[a-1,b]+pt$[a,b-1]+pt$[a+1,b]+pt$[a,b+1]<>" " THEN RETURN 430 g=INT(RND*4)+1:pt$[a+ad[g,1],b+ad[g,2]]=a$[g+z]:RETURN 440 FOR b=1 TO no:pt$[2*INT(0.5*RND*xc+1),2*INT(0.5*RND*sd+1)]=s$[a]:NEXT b:RETURN
↑ = UP ↓ = DOWN → = RIGHT ← = LEFT Q = EXIT SPACE = SHOOT
1.- Insert the CP/M disc on side 2 2.- Write BASIC and wait for it to load 3.- Remove the CP/M disk and insert the disk containing the Gravity game 4.- Type run "Gravity" and press the "ENTER" key