Alien Lure

Author(s): Sanath Yogasundrum
Publication: Timex Sinclair User
Pub Details: Timex Sinclair User n2 (Volume 1, Issue 2)
Date: July 1983
Pages: 38-39
Alien Lure title illustration
Alien Lure title illustration

A GAME which links the bug-baiting type of program with a battle against alien invaders has been produced by Sanath Yogasundrum.

When the game begins, the player is asked for a skill level, A or P, which stand for amateur or professional. It is advisable to start on the amateur level while the player begins to understand this complex game.

A small grid is shown in the bottom left-hand corner of the screen in which there are four aliens, shown as X and $, with a soldier (*). The soldier has to dig a hole (O) and then lure the aliens into it, scoring 100 points for every X and 200 for every $.

The hole is dug by going into dig mode, pressing 2, and pressing the cursor key for which side of the soldier you wish to place the hole. The soldier can then be moved by pressing 01 to return to movement mode, and using the cursors in their normal directions.

A soldier can be killed either by falling into his own hole or being eaten by an alien. The game lasts for the lives of three soldiers, although an extra soldier can be gained by scoring more than 3,000.

Two other limitations are that only one hole can be dug at a time and a hole cannot be dug beneath an alien. Once an alien has fallen into a hole it is filled immediately and the game continues.

Even after playing for more than an hour at the amateur level, no-one at Timex Sinclair User managed to score more than 1,300. (T/S1000,ZX81 16K)

   1 LET BEST=0
2 PRINT "SKILL LEVEL? (A/P)"
3 INPUT A$
5 CLS
10 LET SO=2
15 LET S=0
20 PRINT """HOLED UP"""
21 PRINT AT 14,15;"LEVEL:";A$
22 PRINT AT 16,10;"HIGH SCORE: ";BEST
23 PRINT AT 18,0;" YOUR SCORE:";S
30 PRINT AT 20,0;" SPARE MEN:";SO
40 LET X=17
50 LET Y=0
60 LET A=17
70 LET B=8
80 LET U=21
90 LET V=4
100 LET G=1
110 LET HX=15
120 LET HY=0
130 LET C=17
140 LET D=4
150 LET E=I9
160 LET F=2
165 LET GG=19
170 LET HH=6
195 PRINT AT U,V;"*"
200 PRINT AT X,Y;"$"
210 PRINT AT A,B;"$"
220 PRINT AT C,D;"X"
230 PRINT AT E,F;"X"
240 PRINT AT GG,HH;"X"
300 LET Q=141
305 LET M=X
310 LET N=Y
320 GOSUB 2000
322 LET W=345
325 GOTO 6000
335 LET X=M
340 LET Y=N
345 PRINT AT X,Y;"$"
347 GOSUB 2430
350 LET M=A
360 LET N=B
370 GOSUB 2000
375 LET W=410
380 GOTO 6000
400 LET B=N
405 LET A=M
410 PRINT AT A,B;"$"
415 GOSUB 2430
417 LET Q=189
420 LET M=C
440 LET N=D
460 GOSUB 2000
470 LET W=510
475 GOTO 6000
500 LET D=N
505 LET C=M
510 PRINT AT C,D;"X"
515 GOSUB 2430
520 LET M=E
540 LET N=F
560 GOSUB 2000
570 LET W=610
580 GOTO 6000
600 LET F=N
605 LET E=M
610 PRINT AT E,F;"X"
615 GOSUB 2430
620 LET M=GG
640 LET N=HH
660 GOSUB 2000
670 LET W=710
680 GOTO 6000
700 LET HH=N
705 LET GG=M
710 PRINT AT GG,HH;"X"
720 GOSUB 2430
770 GOTO 300
2003 IF INKEY$="1" THEN LET G=1
2004 IF INKEY$="2" THEN LET G=2
2005 LET R=RND
2010 LET Z=RND
2020 PRINT AT M,N;" "
2090 IF M=18 OR M=20 OR N=V AND A$="P" AND (N=0 OR N=2 OR N=4 OR N=6 OR N=8) THEN GOTO 2120
2100 IF R <= .5 OR M=U OR N=1 OR N=3 OR N=5 OR N=7 THEN GOTO 2300
2120 IF M=21 OR U<M AND A$="P" THEN LET Z=.7
2122 IF M=17 OR U>M AND A$="P" THEN LET Z=.5
2125 IF Z <= .5 THEN LET M=M+1
2140 IF Z>.5 THEN LET M=M-1
2160 GOTO 2340
2300 IF N=0 OR N<V THEN LET Z=.5
2305 IF N=8 OR N>V THEN LET Z=.7
2310 IF Z <= .5 THEN LET N=N+1
2320 IF Z>.5 AND N>0 THEN LET N=N-1
2340 IF M=U AND N=V THEN GOTO 7000
2400 IF INKEY$="2" THEN LET G=2
2410 IF INKEY$="1" THEN LET G=1
2420 RETURN
2430 IF INKEY$ <> "5" AND INKEY$ <> "6" AND INKEY$ <> "7" AND INKEY$ <> "8" THEN RETURN
2440 IF G=2 THEN GOTO 2590
2450 PRINT AT U,V;" "
2520 IF INKEY$="5" AND V>0 AND (U=17 OR U=19 OR U=21) THEN LET V=V-1
2540 IF INKEY$="8" AND V<8 AND (U=17 OR U=19 OR U=21) THEN LET V=V+1
2560 IF INKEY$="6" AND U<21 AND (V=0 OR V=2 OR V=4 OR V=6 OR V=8) THEN LET U=U+1
2580 IF INKEY$="7" AND U>17 AND (V=0 OR V=2 OR V=4 OR V=6 OR V=8) THEN LET U=U-1
2585 GOTO 3005
2590 PRINT AT HX,HY;" "
2597 IF INKEY$="5" AND V>0 AND (U=21 OR U=19 OR U=17) THEN GOTO 2700
2600 IF INKEY$="8" AND V<8 AND (U=21 OR U=19 OR U=17) THEN GOTO 2750
2620 IF INKEY$="6" AND U<21 AND (V=0 OR V=2 OR V=4 OR V=6 OR V=8) THEN GOTO 2800
2640 IF INKEY$="7" AND U>17 AND (V=0 OR V=2 OR V=4 OR V=6 OR V=8) THEN GOTO 2850
2660 GOTO 3005
2700 LET HX=U
2710 LET HY=V-1
2720 GOTO 3000
2750 LET HX=U
2760 LET HY=V+1
2770 GOTO 3000
2800 LET HX=U+1
2810 LET HY=V
2820 GOTO 3000
2850 LET HX=U-1
2860 LET HY=V
3000 IF HX=X AND HY=Y OR HX=A AND HY=B OR HX=C AND HY=D OR HX=E AND HY=F OR HX=GG AND HY=HH THEN LET HX=15
3003 IF HX <> 15 THEN PRINT AT HX,HY;"O"
3020 IF HX=U AND HY=V OR U=X AND V=Y OR U=A AND V=B OR U=C AND V=D OR U=E AND V=F OR U=GG AND V=HH THEN GOTO 7000
3030 PRINT AT U,V;"*"
3040 RETURN
6000 IF M=X AND N=Y OR M=A AND N=B OR M=C AND N=D OR M=E AND N=F OR M=GG AND N=HH THEN GOTO W
6005 IF M=HX AND N=HY THEN GOTO 6020
6010 GOTO W-10
6020 IF Q=141 THEN LET S=S+100
6035 LET S=S+100
6040 PRINT AT M,N;CHR$ Q
6044 IF S/3000 =INT (S/3000) OR (S-100)/3000=INT((S-100)/3000) THEN LET SO=SO+1
6045 PRINT AT 18,21;S
6047 PRINT AT 20,21;SO
6050 LET HX=15
6060 GOTO W-10
7000 PRINT AT U,V;"*"
7010 LET SO=SO-1
7030 PAUSE 100
7032 IF SO=-1 THEN GOTO 8000
7035 CLS
7040 GOTO 20
8000 FOR N=0 TO 21
8010 SCROLL
8020 NEXT N
8030 IF S>BEST THEN LET BEST=S
8040 PRINT AT 0,0;"GAME OVER, ALL YOUR MEN ARE DEAD"
8050 GOTO 2

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.