--- title: "Alien Lure" type: "article" slug: "alien-lure" url: "http://localhost/article/alien-lure/" markdown_url: "http://localhost/article/alien-lure.md" published_at: "2020-10-27T17:09:18+00:00" modified_at: "2026-06-21T23:36:04+00:00" featured_image: url: "http://localhost/wp-content/uploads/2020/10/alien-lure-300x284-1.png" excerpt: "A game which links the bugbaiting 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…" category: - name: "Timex Sinclair User" slug: "timex-sinclair-user" taxonomy: "category" url: "http://localhost/category/periodicals/timex-sinclair-user/" post_tag: - name: "1983" slug: "year-1983" taxonomy: "post_tag" url: "http://localhost/tag/year-1983/" - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" indiv: - name: "Sanath Yagoasundrum" slug: "sanath-yagoasundrum" taxonomy: "indiv" url: "http://localhost/indiv/sanath-yagoasundrum/" publication: "Timex Sinclair User" publication_r: id: 10278 title: "Timex Sinclair User" type: "periodical" url: "http://localhost/periodical/timex-sinclair-user/" authors: "Sanath Yagoasundrum" volume: "1" issue: "2" issues_articles: - id: 26867 title: "Timex Sinclair User n2" type: "issue" url: "http://localhost/issue/timex-sinclair-user-n2/" pages: "38-39" pubdate: "July 1983" archive_link: false volumeissue: "v1n2" article_media: - id: 57246 title: "Alien Lure" type: "computer_media" url: "http://localhost/computer_media/alien-lure/" --- # Alien Lure [![Image](http://localhost/wp-content/uploads/2020/10/alien-lure-300x284.png "alien-lure")](http://localhost/wp-content/uploads/2020/10/alien-lure.png) A game which links the bugbaiting 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) ## Source Code: Alien Lure ``` 1 REM ALIEN LURE 2 LET BEST=0 3 PRINT "SKILL LEVEL? A=AMATEUR/P=PROFESSIONAL" 4 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=19 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 UM 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 NV 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=O 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 (UL21 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=BWHX=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 8100 SAVE "1013%6" 8200 RUN ```