MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues.
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)
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: 744. Total Files: 994.
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