--- title: "Computer Combat!" type: "article" slug: "computer-combat" url: "http://localhost/article/computer-combat/" markdown_url: "http://localhost/article/computer-combat.md" published_at: "2020-10-27T17:09:18+00:00" modified_at: "2026-06-21T23:36:37+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "The first question often asked about a new machine is \"Does it play Space Invaders?\" Though a 1K machine has considerable difficulty getting anywhere Computer Combat using only 1K, is a type of mini Space Invaders but with only one invader and one base and a much slower rate of firing. The object of the…" 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: "Anthony Wells" slug: "anthony-wells" taxonomy: "indiv" url: "http://localhost/indiv/anthony-wells/" publication: "Timex Sinclair User" publication_r: id: 10278 title: "Timex Sinclair User" type: "periodical" url: "http://localhost/periodical/timex-sinclair-user/" authors: "Anthony Wells" volume: "1" issue: "2" issues_articles: - id: 26867 title: "Timex Sinclair User n2" type: "issue" url: "http://localhost/issue/timex-sinclair-user-n2/" pages: "40" pubdate: "July 1983" archive_link: false volumeissue: "v1n2" article_media: - id: 57258 title: "Computer Combat" type: "computer_media" url: "http://localhost/computer_media/computer-combat/" --- # Computer Combat! The first question often asked about a new machine is “Does it play Space Invaders?” Though a 1K machine has considerable difficulty getting anywhere Computer Combat using only 1K, is a type of mini Space Invaders but with only one invader and one base and a much slower rate of firing. The object of the game is to hit the invader as many times as possible before it lands or you run out of missiles. Twenty-five missiles normally are given but that can be altered by changing the value of B in line 5. You receive five points for hitting it but lose one if you miss. Use keys 5 and 8 to move left and right respectively and key 0 to fire. The invaders’ missiles are shown as asterisks and yours as crosses. The program is good for beginners, as it is easy to understand the function of each line as there are none of the usual POKE and PEEK or other complicated functions. If you want to get more memory, enter in direct mode the following be/ore entering the program: POKE 16389,68 followed by ENTER NEW followed by ENTER. The program will run continuously until the BREAK key is used. Computer Combat was sent in by 15-year-old Anthony Wells. (T/S1000/ZX81 16K) ## Source Code: Computer Combat ``` 1 REM COMPUTER COMBAT 2 REM KEYS 5/8 TO MOVE--0 TO FIRE 5 LET B=VAL "25" 10 LET S=PI-PI 15 LET M=PI-PI 20 LET X=VAL "16" 25 LET Y=PI-PI 30 LET M=M+2 35 IF M>VAL "20" THEN GOTO VAL "100" 40 CLS 45 LET R=INT (RND*5) 50 IF R=3 THEN GOSUB 155 55 PRINT AT M,Y;"\:'\:'\:'" 60 LET Y=Y+VAL "2" 65 IF Y=VAL "30" THEN GOTO 25 70 PRINT AT 21,X;" \.:\.. " 75 LET X=X+(INKEY$="8")*3-(INKEY$="5")*3 80 IF INKEY$="0" THEN GOSUB 115 85 IF B<=VAL "0" THEN GOTO VAL "100" 95 GOTO VAL "40" 100 PRINT AT 12,10;"SCORE= ";S 110 RUN 115 PRINT AT M,X;"+" 120 IF X+1<>Y THEN LET S=S-1 125 IF X+1=Y THEN PRINT AT M,X-1;"***" 130 IF X+1=Y THEN LET S=S+5 135 LET B=B-VAL "1" 140 RETURN 145 PAUSE VAL "50" 150 GOTO VAL "40" 155 PRINT AT 21,Y;CHR$ 23 160 IF X=Y THEN GOSUB VAL "170" 165 RETURN 170 PRINT AT 21,Y;"<*>" 175 PAUSE VAL "40" 180 LET S=S-VAL "5" 185 RETURN 190 SAVE "1014%6" 200 LIST ```