I am very please to share this one. While I am happy with Caynon Bomber I had to make a few cuts to get the game play I wanted. This time I think I was able to capture the atari 2600 original that I remember playing and maybe even improved on it a tiny bit. I hope you enjoy this one as I am still enjoying it even after all the play testing that I had to do. I would have really liked to have done dual controls, keyboard/joystick but 30 lines wasn't able. I may expand this one later on.
10 DATA "60F0F8F8FCFFFFFFFF7F0000000000000000000000FFFFFCFBFB070707070F0E","0000000000FFFF01FEFDF8F0E0C080000000000000FCF2F9FFFE"
20 DATA "00000000003F4F9FFF7F0000000000000000000000FFFFC0BFDF0F070301","0000000000FFFF3FDFDFE0E0E0E0F070060F1F1F3FFFFFFFFFFE"
30 DATA 030705170B0503010101020204040808C0E0A0E8D0A0C0808080404020201010,0307050703011F010101020202040404C0E0A0E0C080F8808080404040202020
40 DATA 03070507030103050911010102020202C0E0A0E0C080C0A09088808040404040,0307050703011F010101020202040404C0E0A0E0C080F8808080404040202020
50 DATA 033F7FFFFFFC70202010100808040402C0FCFEFFFF3F0E040408081010202040,00000000000F1020405955595555407F0000000000E0100804645464444404FC
60 DATA 0000397FFFFFFF7EBDC37F3F60DFFE7C3CFEE7DBFFFF7EF0FCEFDF3FFFFE7800
70 call clear::DISPLAY AT(2,11):"TI-Trooper"::call screen(6)::for i=1 to 10::call color(i,2,6)::next i
71 DISPLAY AT(3,1):"Press difficulty 0 hardest - 3 easiest":: call key(0,k,s) :: if (s=0)+(k<48)+(K>51) then 71 else D=k-48
72 DISPLAY AT(5,1):"Press Q to jump out of the plane, then press X to open your chute."
73 display at(8,1):"Press S and D to guide your chute once it is open but bewary of the wind speed, watch the clouds."
74 display at(12,1):"Be a dare devil and wait as long as possible to deploy your chute for the highest scores."
75 display at(18,1):" Enjoy playing, John Chase":: display at(22,5):"Press any key to play"::call key(0,k,s)::if s=0 then 75
100 FOR I=0 TO 10::READ C$::CALL CHAR(I*4+96,C$)::NEXT I::CALL CHAR(33,"FFFFFFFFFFFFFFFF")::CALL COLOR(1,3,6,2,15,6)::PS=8::F=0::FS=8
110 RANDOMIZE :: CALL CLEAR :: CALL MAGNIFY(3) :: CALL SPRITE(#1,96,2,20,1,0,PS,#2,100,2,20,17,0,PS)::hi=0
111 CALL SPRITE(#10,136,16,40,1,#11,136,16,48,15,#12,136,16,42,29)::CALL CHAR(40,"FFFFFFFFFFFFFFFF")
118 CALL HCHAR(23,1,33,64)::PO=INT(RND*27)+2::CALL HCHAR(23,PO,40,2+D)::display at(1,10):"HIGH SCORE="&str$(hi)::DISPLAY AT(2,14):SC
119 WS = 5-INT(RND*(10+2*(3-d)))::CALL MOTION (#10,0,WS,#11,0,WS,#12,0,WS)
120 CALL KEY(1,K,S)::IF S=0 THEN 180
140 IF (P=2) * (K=2) THEN CALL MOTION(#3,2,WS-4,#4,2,WS-4) ::GOTO 180
150 IF (P=2) * (K=3) THEN CALL MOTION(#3,2,WS+4,#4,2,WS+4) :: GOTO 180
160 IF (P=0) * (K=18) THEN P=1 :: CALL POSITION(#2,Y,X) :: CALL SPRITE(#3,112,12,Y+10,X,FS,PS/2) :: GOTO 120
170 IF (P=1) * (K=0) THEN SC=SC+TSC:: P=2 :: CALL POSITION(#3,Y,X) :: CALL SPRITE(#3,116,12,Y,X,2,WS,#4,128,7,Y-10,X,2,WS)
180 IF P=2 THEN 181 else goto 190
181 SC=SC-1::if sc<0 then sc=0
182 DISPLAY AT(2,14):SC::CALL POSITION(#3,Y,X)::CALL MOTION(#3,2,WS,#4,2,WS)::IF Y>159 THEN 400
190 IF P=3 THEN CALL POSITION(#4,Y,X) :: IF Y>176 THEN 500
200 IF P=1 THEN 210 ELSE 120
210 F=F+1 :: FS=FS+.5 :: IF F=4 THEN F=0
211 TSC=TSC+10::CALL MOTION(#3,FS,PS/2) :: CALL PATTERN(#3,112+F*4) :: CALL POSITION(#3,Y,X) :: IF Y>159 THEN 300
220 GOTO 120
300 CALL SPRITE(#3,132,2,160,X,0,0) :: P=0 :: FS=8 :: GOTO 120
400 CALL SPRITE(#3,112,12,160,X,0,0) :: P=3
410 IF (X+4>PO*8-9)*(X+11<PO*8+9+8*D) THEN SC=SC*2::CALL SOUND(300,262,0,330,0,392,0)::CALL SOUND(2000,523,0,659,0,784,0)
420 DISPLAY AT(2,14):SC :: if sc>hi then hi=sc::GOTO 120 else goto 120
500 CALL SPRITE(#4,128,7,176,X,0,0) :: P=0 :: FS=8 :: TSC=0 ::SC=0::GOTO 118
TROOPER.zip
trooper.bmp