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)

Here come the vipers

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 05/19/2019. Total Pages: 744. Total Files: 994.


Home / Publications / Rainbow / Rainbow 1981 / Rainbow 1981-12 - Here come the vipers


Here's one we think you'll enjoy.

Dave Hooper submits this program, called VIPER ATTACK, which is, he admits, a first effort in game programming. I am sure most of you will agree that it certainly doesn't appear to be a first effort and that it is a lot of fun to play.

There are still a few refinements coming for VIPER ATTACK. When available, Dave plans to market this program. Because so. of the special niceties, like on-screen scoring, are not included, you can type it in and run it, courtesy of Dave and the RAINBOW.

Pay careful attention to the nasties! There are a number of different kinds, and we think you'll appreciate the graphic detail with which Dave has concerned himself. As he wrote the other day, it can be a frustrating experience trying to get just what you want.

If you want a tape version (tired fingers?) Dave will be able to supply same for $9.95 plus $1.50 postage and handling. The address is 4490 N. Mumford Dr., Hoffman Estates, IL, 60195.

Batch out for the Vipers! Here's the listing:

10 Y=32:X=2:U=62:V=2
12 Z$=CHR$(133+80)
14 PRINT@0,STRING$(32,Z$)
16 PRINT@Y,STRING$(X,Z$):Y=Y+32
18 PRINT@U,STRING$(V,Z$):U=U+32
20 PRINT@Y,STRING$(X,Z$):Y=Y+32:X=X+2
22 PRINT@U,STRING$(V,Z$):U=U+30:V=V+2
24 IFY<416THEN16
26 PRINT@416,STRING$(32,Z$)
28 FORH=0TO63
30 FORV=28TO31
32 SET(H,V,3)
34 NEXTV,H
36 PRINT@75,"'VIPER";
38 PRINT@108,"ATTACK'";
40 PRINT@174,"BY";
42 PRINTI234,"DAVE HOOPER",
44 AS="T255;L255;05BAGFEDCO4BAGFEDCO3BAGFEDCO2BAGFEDCO1BAGFEDCP5
46 PLAYA$+A$:PLAYA$+A$:FORT=1TO1 000:NEXTT:CLS
48 PRINT@224,"DO YOU REQUIRE A B RIEFING BEFORE"
50 PRINT@256,"YOU ASSUME COMMAND OF THE BASE"
52 INPUT"DEFENSE PATROL (ENTER Y OR N)";B$
54 IFB$="N"·THENl00ELSEIFB$="Y"THENGOSUB6000
100 PCLEAR4:PMODE3,1
105 PCLS(3):COLOR2,3
110 SCREEN1,0
115 DIMA(13),B(9),C(3),D(7),E(14 ),F(6),G(6),H(11),J(20)
130 DRAW"S4;BM188,68R4F4D8G4L4E4U3NL13U1NL13U4NH4BD3L12G1D1BR2D3F3L3H3U8E3R3G3D3"
135 GET(178,68)-(196,84),B,G
140 LINE(178,68)-(196,84),PRESET,BF
145 DRAW"S4;BM0,8F3NG1R5NF1E3R1F3G1NL5BE1R5NF1E3":PAINT(11,10),2,2
150 GET(0,8)-(23,12),C,G
155 LINE(0,8)-(23,12),PRESET,BF
160 DRAW"S4;BM222,6ND1R11D1L3NL8ND3BR1D3L3G1F1R12E1H1L2NE5L2NL6E5R4E1H1L8G1F1R1":PAINT(232,11),2,2
170 GET(222,3)-(246,12),D,G
175 LINE(222,3)-(246,12),PRESET,BF
180 DRAW"S2;BM216,80F8NE4D4NG8F4E4NF8U4NEBH4"
185 PAINT(222,86),2,2
190 GET(216,80)-(240,100),E,G
195 LINE(216,80)-(240,100),PRESET,BF
200 DRAW"S3;BM58,86E2F4NR16E6R4F6E4F2":PAINT(69,85),2,2
205 GET(58,81)-(86,88),F,G
210 LINE(58,81)-(86,88),PRESET,BF
215 DRAW"S4;BM56,104G2F8E8H2BD12E2H8G8F2BR4BU4R4BU4L4":PAINT(62,110)2,2
220 GET(54,104)-(70,116),G,G
225 LINE(54,104)-(70,116),PRESET,BF
226 FORI=1TO50:X=RND(256)=1:Y=RND(150)-1:PSET(X,Y,2):PLAY"T255L25504GE":NEXTI
230 DRAW"S4;C1;BM148,182NH4L6G2D2F2R20E2U2H2L6NL8E4U2G2L12H2ND2E4R8F4"
235 CIRCLE(152,175),1,1:CIRCLE(145,185),1,1:CIRCLE(159,185),1,1:PAINT(152,180),1,1
240 GET(140,172)-(164,188),H,G
245 LINE(141,172)-(164,188),PRESET,BF
255 LINE(0,190)-(256,190),PSET
260 TIMER=0:G=12:Z=1:VF=0:YS=0
265 ON Z GOSUB 2100,2100,2200,2300,2400,2500
270 FORX=X1 TO X2 STEP X3:FORT=1TO100:NEXTT
273 GET(X-18,0)-(X+18,20),J,G
275 ON Z GOSUB 1000,1100,1200,1300,1400,1500
277 IFRND(5)>3THENGOSUB5000
289 H=JOYSTK(0)
285 IF H<3 THEN H=3 ELSE IF H >58 THEN H=58
290 IF G <> H*4 THEN LINE(G-12,172)-(G+12,188),PRESET,BF:G=H*4
295 PUT(G-12,172)-(G+12,188),H,PSET
305 P(1)=126:P(2)=254
318 F=0:P=PEEK(65280)
315 IFF=0AND(P=P(1)ORP=P(2))THENGOTO400
320 F=1
325 PUT(X-18,0)-(X+18,20),J,PSET
327 IFRND(5)>4THENGOTO270
328 IF TIMER =>14400 THEN GOTO600
330 NEXTX:GOTO265
400 REM SHOOT ROUTINE
405 GET(G-1,151)-(G+1,170),A,G
410 LINE(G,15)-(G,170),PSET
415 PLAY"T100L50O5BBBB"
420 PUT(G-1,15)-(G+1,170),A,PSET
425 M$="T255,L255,O5CBAGFEDCO4CBAGFEDCO3CBAGFEDCO2CBAGFEDC
430 ON Z GOSUB 3000,3100,3200,3300,3400,3500
435 IFYS=250ORYS=11250THENZ=2
440 IFYS=750ORYS=11750THENZ=3
445 IFYS=1750ORYS=12750THENZ=4
450 IFYS=3000ORYS=14100THENZ=5
455 IFYS=5000ORYS=16000THENZ=6
460 IFYS=1000ORYS=21000THENGOSUB4000:Z=1
465 GOTO320
500 PUT(X,0)-(X+44,16),J,PSET 505 X1-20:X2=210:X3=33
510 FOR X=X1 TO X2 STEP X3
515 PUT(X,0)-(X+44,6),C,PSET
520 PUT(X,0)-(X+44,16),J,PSET
525 NEXTX:GOTO505
600 SCREEN0,1
605 CLS
610 TS=YS-VF
615 PRINTSTRING$(9,"#"):PRINT@9,"DAMAGE REPORT"
620 PRINT@23,STRING$(9,"#")
625 C=0
627 I=1
630 T$="            ....YOUR TOTAL SCORE IS...."
635 PRINT@224,MID$(T$,I,32)
640 FORJ=1TO90:NEXTJ
645 I=I+1:C=C+1
651 IFC=15THENPRINT@336,TS:FORX=1TO600:NEXTX
655 IFC=38THEN665
660 IF1>LEN(T$) THEN627ELSE635
665 CLS:PRINT"NEXT SHOOTER PLEASE"
670 PRINT@448,"PRESS <ENTER> TO CONTINUE":INPUTD$
675 IFD$="Y"THEN675
680 GOTO100
1000 PUT(X-9,0)-(X+9,16),B,PSET
1005 RETURN
1100 PUT(X-12,8)-(X+11,12),C,PSET
1105 RETURN
1200 PUT(X-12,3)-(X+12,12),D,PSET
1205 RETURN
1300 PUT(X-8,3)-(X+8,15),G,PSET
1305 RETURN
1400 PUT(X-14,5)-(X+14,12),F,PSET
1405 RETURN
1500 PUT(X-12,2)-(X+12,22),E,PSET
1505 RETURN
2000 X1=RND(12)+17:X2=200:X3=RND(10)+24:RETURN
2100 X1=RND(12)+17:X2=230:X3=RND(20)+14:RETURN
2200 X1=RND(20)+17:X2=220:X3=RND(20)+14:RETURN
2300 X1=RND(20)+50:X2=200:X3=RND(20)+14:RETURN
2400 X1=RND(12)+20:X2=210:X3=RND(10)+24:RETURN
2500 X1=RND(15)+17:X2=245:X3=RND(20)+14:RETURN
3000 IFPPOINT(G,8)=2THENPLAYM$:YS=YS+50
3010 RETURN
3100 IFPPOINT(G,11)=2THENPLAYM$:YS=YS+100
3110 RETURN
3200 IFPPOINT(G,11)=2THENPLAYM$:YS=YS+200
3210 RETURN
3300 IFPPOINT(G,8)=2THENPLAYM$:YS=YS+250
3310 RETURN
3400 IFPPOINT(G,10)=2THENPLAYM$:YS=YS+500
3410 RETURN
3500 IFPPOINT(G,8)=2THENPLAYM$:YS=YS+1000
3510 RETURN
4000 A$="V31;T30;O4CL2DEL1CP1CL2DEL1CP1L2CDECDECDEL1CP2"
4005 B$="V31;T30;O4FL2GAL1FP1FL2GAL1FP1L2FGAFGAFGAL1FP2"
4010 PLAYA$+B$:PLAYA$
4015 C$="V31;T255;L255;O1CDEFGABO2CDEFGABO3CDEFGABO4CDEFGABO5CDEFGAB"
4020 PLAYC$+C$:PLAYC$+C$
4025 YS=YS+1000:RETURN
5000 LINE(X,17)-(X,171),PSET,B
5005 PLAY"T100L3O2CCCCCCCC"
5010 S$="01T200L64AEBBAEBBAEBB"
5015 IFPPOINT(X,l82)=1THENPLAYS$+S$+S$+S$:GOSUB7000:VF=VF+1000
5020 LINE(X,17)-(X,171),PRESET,BF
5025 RETURN
6000 CLS:
6005 PRINT"ALIEN VIPER FIGHTERSARE"
6010 PRINT"ORBITING YOUR BASE STATION."
6015 PRINT
6020 PRINT"YOUR MISSION, SHOULDYOU CHOOSE"
6025 PRINT"TO ACCEPT IT, WILL BE TO DEFEND"
6030 PRINT"BASE STATION 'OMEGA' WITH YOUR"
6035 PRINT"LASER BLASTER." 6040 PRINT
6045 PRINT"YOUR RIGHT JOYSTICK WILL MOVE"
6050 PRINT"THE LASER BLASTER AND YOUR RED"
6055 PRINT"BUTTON WILL FIRE THE LASER"
6060 PRINT:PRINT:PRINT
6065 INPUT"TO CONTINUE PRESS <ENTER>";C$
6070 CLS 6075 PRINT@32,"FIRST 5 HITS - 50 POINTS EACH"
6080 PRINT"SECOND 5 HITS - 100 POINTS EACH"
6085 PRINT"THIRD 5 HITS - 200 POINTS EACH"
6090 PRINT"FOURTH 5 HITS - 250 POINTS EACH"
6095 PRINT"FIFTH 5 HITS - 500 POINTS EACH"
6100 PRINT"SIXTH 5 HITS - 1000 POINTS EACH":PRINT
6105 PRINT:PRINT"IF YOU GET THIS FAR YOU'LL GET"
6110 PRINT"A BONUS OF 1000 POINTS AND THE"
6115 PRINT"POINT SYSTEM WILL START OVER":PRINT:PRINT
6120 INPUT"TO CONTINUE PRESS <ENTER>";C$
6125 CLS:PRINT@79,"BE"
6130 PRINT@109,"CAREFUL!!!"
6135 PRINT@227,"IF YOU GET HIT BY AN ALIEN·
6140 PRINT@301,"YOU LOSE"
6145 PRINT@361,"1,000  POINTS"
6150 PRINT@395,"EACH TIME!"
6155 PRINT:PRINT
6160 INPUT"TO CONTINUE PRESS <ENTER>";C$
6165 RETURN
7010 FORC=1TO13
7005 CIRCLE(G,175),C,4
7007 CIRCLE(G,175),C,2:NEXTC
7010 FORD=1TO13
7015 CIRCLE(G,175),D,3:NEXTD
7020 RETURN

Links

See this article as it appeared in the Rainbow Magazine 1981-12 Pag 5, in archive.org