Sitenotice:
2020: NameSpaces are going to be implemented this year to better separate content. OS-9 Al (talk) 11:18, 15 April 2020 (CDT)
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)

Get ready to do battle near laser star (Rainbow 1981-09)

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
WELCOME
Looking for CoCo help? If you are trying to do something with your old Color Computer, read this quick reference. Want to contribute to this wiki? Be sure to read this first. This CoCo wiki project was started on October 29, 2004. --OS-9 Al

See Recent Changes. | About this site. | Join the E-Mail List or Facebook Group. | Contact me with updates/questions.

This page was last updated on 11/4/2020. Total Pages: 688. Total Files: 961.


Home / Publications / Rainbow / Rainbow 1981 / Rainbow 1981-09 - Get ready to do battle near laser star (Rainbow 1981-09)


LASER STAR

Get out those joysticks and see whether you can become a Space Fleet Commander while battling at the LASER STAR.

This program is brought to you through the good offices of JARB Software. And, for anyone who doesn't want to type it in himself, you can send $14.95 to JARB (1169 Florida St., Imperial Bench, CA, 92032) for a cassette copy. Add $1 for postage and you will get this tape, plus another game, Helo Battle. Helo Battle will appear in listing form in next month's issue of the RAINBOW.

LASER STAR is a two-player game which allows both players to maneuver their respective spacecraft — a rocket ship and a saucer. The object is to destroy your foe enough times to advance in rank and win the battle.

It’s not all that easy, though. While you are fighting, there is an alien asteroid control station which fires a powerful laser at space dust, meteoroids and asteroids. If the blast hits you. you lose points. Also, if you collide with your opponent, one of you will lose points (sort of like no-fault insurance).

There's another hitch, too, that can cause you to lose points. But we're not going to tell you about it. Let's just hint that it paralyses space in your sector and can be very troublesome. You'll see! point of their lasers. They cannot shoot backwards, though. We think you will enjoy playing LASER STAR.

The listing:

1 '*****************************
2 '*    * * LASER STAR * *     *
3 '*            BY             *
4 '*      JARB SOFTWARE        *
5 '*  (C) JARB SOFTWARE 1981   *
6 '*****************************
10 CLS0:PRINT@230," * * LASER STAR * *";:PRINT@292," (C) JARB SOFTWARE 1981";
15 FORI=1TO10:FORII=1TO10:SOUND1*II+100,1:NEXTII,I:FORI=1TO6:PLAY"O1V30T16L8EEEEDDAAAAEEEEDDAAAA":NEXTI
20 CLEAR100
25 CLS0:PRINT@135,"* * LASER STAR * *";
30 PRINT@224,STRING$(32,128);:INPUT"ENTER NAME OF PLAYER #1";Z$:Z$=" "+Z$+" "
35 INPUT"ENTER NAME OF PLAYER #2";Z1$:Z1$=" "+Z1$+" "
40 PRINT"LONG GAME (1) OR SHORT GAME (2)";:INPUTZ9:IFZ9<1ORZ9>2THEN45ELSE50
45 CLS:PRINT@224,"":GOTO40
50 IFZ9=1THENZ9=10
55 IFZ9=2THENZ9=5
60 DIMA(29),B(29),A1(16,12),B1(16,12):A=RND(245):B=RND(181):A1=RND(245):B1=RND(181)
65 FORI=0TO29
70 A(I)=RND(255):B(I)=RND(191)
75 NEXTI
80 A$="BM128,96H3F6H3U5D10U5E3G6E3R5L10R5"
85 PMODE4,1:PCLS:SCREEN1,1
90 DRAW"C1;BM128,96R3L6U1D2"
95 DRAW"BM128,158R3L3U1D2U1L3"
100 GET(128,90)-(136,102),A1,G
105 GET(120,152)-(136,164),B1,G
110 PCLS
115 A=A+INT(JOYSTK(0)/6.3)-5:B=B+INT(JOYSTK(1)/6.3)-5:A1=A1+INT(JOYSTK(2)/6.3)-5:B1=B1+INT(JOYSTK(3)/6.3)-5
120 IFA<10THENA=10
125 IFA1<10THENA1=10
130 IFA>245THENA=245
135 IFA1>245THENA1=245
140 IFB<10THENB=10
145 IFB1<10THENB1=10
150 IFB>181THENB=181
155 IFB1>181THENB1=181
160 FORI=0TO29:PSET(A(I),B(I)):NEXTI
165 DRAWA$
170 PUT(A-8,B-6)-(A+8,B+6),A1,PSET
175 PUT(A1-8,B1-6)-(A1+8,B1+6),B1,PSET
180 R=RND(75):A3=0:B3=RND(70):C9=RND(10):IFR=37THENGOSUB515
185 H=RND(255):V=RND(191)
190 PLAY"V20O3T100L100AAAA":PLAY"V30O5T100L100BB":LINE(128,96)-(H,V),PSET:LINE(128,96)-(H,V),PRESET
195 IFPPOINT(A-1,B)=0ORPPOINT(A,B)=0ORPPOINT(A+1,B)=0THENH1=1ELSEH1=0
200 IFPPOINT(A1-1,B1)=0ORPPOINT(A1,B1)=0ORPPOINT(A1+1,B1)=0THENH2=1ELSEH2=0
205 IFH1=1ORH2=1THEN220
210 LINE(128,96)-(H,V),PSET:LINE(128,96)-(H,V),PRESET
215 IFPEEK(65280)=255ORPEEK(65280)=127THEN115ELSE285
220 IFH1<>0THEN235
225 IFH2<>0THEN250
230 GOTO115
235 S1=S1-1
240 E1=A:E2=B
245 GOTO265
250 S2=S2-1
255 E1=A1:E2=B1
260 GOTO265
265 LINE(128,96)-(H,V),PSET:LINE(128,96)-(H,V),PRESET
270 CLS:FORI=1TO10:SCREEN0,1:FORII=1TO10:NEXTII:SCREEN1,1:FORII=1TO10:NEXTII:NEXTI
275 E=RND(10):FORI=1TO10+E:CIRCLE(E1,E2),I,1:PLAY"O1V30T100L100DADA":NEXTI:FORI=1TO10+E:CIRCLE(E1,E2),I,0:NEXTI
280 GOTO420
285 C1=PEEK(65280)
290 IFC1=126ORC1=254THEN310
295 IFC1=125ORC1=253THEN340
300 IFC1=124ORC1=252THEN370
305 GOTO115
310 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PSET:LINE(A+5,B)-(255,(JOYSTK(1)*3)),PRESET:PLAY"O5V30T100L100BBV20BBV10BBV30BB"
315 IFPPOINT(A1+1,B1)=0ORPPOINT(A1,B1)=0ORPPOINT(A1-1,B1)=0THEN325
320 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PSET:LINE(A+5,B)-(255,(JOYSTK(1)*3)),PRESET:GOTO115
325 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PSET:LINE(A+5,B)-(255,(JOYSTK(1)*3)),PRESET
330 E=RND(10):FORI=1TO10+E:CIRCLE(A1,B1),I,1:PLAY"O1V30T100L100DDDD":NEXTI:FORI=1TO10+E:CIRCLE(A1,B1),I,0:NEXTI:S1=S1+1
335 GOTO420
340 LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PSET:LINE(A1-5,B1)-(0,(J0YSTK(3)*3)),PRESET:PLAY"O3V30T100L100DDV20DDV10DDV30DD"
345 IFPPOINT(A-1,B)=0ORPPOINT(A,B)=0ORPPOINT(A+1,B)=0THEN355
350 LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PSET:LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PRESET:GOTO115
355 LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PSET:LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PRESET
360 E=RND(10): FORI=1TO20+E: CIRCLE(A,B),I,1: PLAY"O1V30T100L100DDDD":NEXTI:FORI=1TO20+E:CIRCLE(A,B),I,0:NEXTI:S2=S2+1
365 GOTO420
370 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PSET:LINE(A1-5, B1)-(0,(JOYSTK(3)*3)),PSET:LINE(A+5,6)-(255,(JOYSTK(1)*3)),PRESET:LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PRESET:PLAY"05V30T100L100BBDDV20BBDDV10BBDDV30BBDD"
375 IFPPOINT(A-1,B)+PPOINT(A,B)+PPOINT(A+1,B)<>15ANDPPOINT(A1-1,B1)+PPOINT(A1,B1)+PPOINT(A1+1,B1)<>15THEN395
380 IFPPOINT(A-1,B)=0ORPPOINT(A,B)=0ORPPOINT(A+1,B)=0THEN410
385 IFPPOINT(A1+1,B1)=0ORPPOINT(A1,B1)=0ORPPOINT(A1-1,B1)=0THEN415
390 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PSET:LINE(A1-5,B1)-(0,(JOYSTK(3)*3)), PSET:LINE(A+5,B)-(255,(JOYSTK(1)*3)),PRESET: LINE(A1-5,B1)-(0,JOYSTK(3)*3)),PRESET:GOTO113
395 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PRESET:LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PRESET
400 E=RND(10):FORI=1TO10+E:CIRCLE(A,B),I,1:CIRCLE(A1,B1),I,1:PLAY"O1V30T100L100DD":NEXTI:FORI=1TO10+E:CIRCLE(A,B),I,0:CIRCLE(A1,B1),I,0:NEXTI:S1=S1-1:S2=S2-1
405 GOTO115
410 LINE(A+5,B)-(255,(JOYSTK(1)*3)),PRESET:GOTO355
415 LINE(A1-5,B1)-(0,(JOYSTK(3)*3)),PRESET:GOTO325
420 IFS1>=Z9 ORS2>Z9 THEN425ELSE115
425 S1=S1*10:S2=S2*10
430 IFS1>80THENA1$="*SPACE FLEET COMMANDER*"
435 IFS1<=80ANDS1>60THENA1$="*SQUADRON COMMANDER*"
440 IFS1<=60ANDS1>30THENA1$="*FLIGHT COMMANDER*"
445 IFS1<=30THENA1$="*FLIGHT CAPTAIN*"
450 IFS2>80THENA2$="*SPACE FLEET COMMANDER*"
455 IFS2<80ANDS2>60THENA2$="*SQUADRON COMMANDER*"
460 IFS2<60ANDS2>30THENA2$="*FLIGHT COMMANDER*"
465 IFS2<30TNENA2$="*FLIGNT CAPTAIN*"
470 IFS1=S2 TNEN 475 ELSE 480
475 A1$="NO ADVANCEMENT--DRAW ":A2$="NO ADVANCEMENT--DRAW "
480 SCREEN0,1:CLS0:PRINT@10," FINAL SCORES ";
485 PRINT@64+(16-(INT(LEN(Z$)/2))),Z$;:PRINT@128,"RANK IS. "+A1$;:PRINT@165,"YOUR FINAL SCORE IS";S1;
490 PRINT@224+(16-(INT(LEN(Z1$)/2))),Z1$;:PRINT@288,"RANK IS: "+A2$;:PRINT@325,"YOUR FINAL SCORE IS";S2;
495 PRINT@389,"THANK YOU FOR PLAYING";:PRINT@422,"* * LASER STAR * *";
500 PRINT@453,"PRESS <E> KEY TO END";
505 Z$=INKEY$:IFZ$<>"E"THEN505
510 CLS:END
515 A5$="BU4L2G3D3F3D1E4U3E3L2":A3=A3+5:B3=B3+RND(10):C9=C9+1:IFC9>=25THEN530
520 AN=AN+1:IFAN>3THENAN=0
525 DRAW"A"+STR$(AN)+";"+"C1;BM"+STR$(A3)+","+STR$(B3)+A5$:DRAW"A"+STR$(AN)+";"+"C0,BM"+STR$(A3)+","+STR$(B3)+A5$:GOTO515
530 PLAY"O5T100L64EDFFEEEE":DRAW"C1":CLS:LINE(128,96)-(A3,B3),PSET:FORI=1TO50:NEXTI:FORI=1TO10:SCREEN0,1:FORII=1TO10:NEXTII:SCREEN1,1:FORII=1TO10:NEXTII:NEXTI
531 LINE(128,96)-(A3,B3),PRESET
535 DRAW"A"+STR$(AN)+",C1,BM"+STR$(A3)+","+STR$(B3)+A5$:FORI=2TO30STEP2:CIRCLE(A3,B3),I,1:PLAY"O1T200L64AEBBAEBBAEBB":NEXTI:FORI=30TO2STEP-2:CIRCLE(A3,B3),I,0:NEXTI:S1=S1-1:S2=S2-1:C9=0:DRAW"C1":RETURN

NOTE: In line 515 and in others, AS$ was changed to A5$ since in DECB "AS" is reserved word.
NOTE2: On lines 275 and 400 reducing RND from 10 to 1 or 2 and reducing the two "FOR" from 10 to 1 or 2, you can get to play, if not unplayable. I think it still has errors/mistakes.

Links

See this article as it appeared in the magazine
Virtual disk with programs from Rainbow 08-1981: File:Rainbow 1981-09.dsk