TUNNEL version 1.1 update.
I ask your kind help, because I want to do even more changes to my program videogame TUNNEL.
I would like to 1UP that the sprite of the character, you must move a sprite animation with 2 frames.
Line 210 to line 226 find definitions of 1UP sprites with various comments to understand how it works.
Then ask an expert in programming with Extended Basic TI99/4A
to modify the program by making an animation with two frames per
1UP character sprites, so you get even better in this game TUNNEL.
I look forward to your positive response.
Best Regards
Andrea Gasparrini from Italy.
210 CALL CHAR(96,"1818483C1A28680C") :: REM 1UP UP 215 CALL CHAR(100,"0C0C7ADE38EC0406") :: REM 1UP RIGHT1 216 CALL CHAR(101,"181870BC80382840") :: REM 1UP RIGHT2 220 CALL CHAR(104,"18180A3C58141630") :: REM 1UP DOWN 225 CALL CHAR(108,"6060BCF6386E40C0") :: REM 1UP LEFT1 226 CALL CHAR(109,"606038F434705008") :: REM 1UP LEFT2
TUNNEL v.1.1 for EXTENDED BASIC TI99/4A
10 REM ******************** 20 REM * TUNNEL V.1.1 * 30 REM * BY GAMECAST 2011 * 40 REM *ANDREA GASPARRINI * 50 REM * FOR TI99/4A * 60 REM *ONLY FOR EXTENDED * 70 REM * BASIC * 80 REM ******************** 90 REM 100 HI=28500 150 ON ERROR 180 160 CALL INIT :: CALL LOAD(-31878,11) 170 GOTO 190 180 CALL ERR(FF,FF) 190 CALL CLEAR :: CALL SCREEN(1) 210 CALL CHAR(96,"1818483C1A28680C") :: REM 1UP UP 215 CALL CHAR(100,"0C0C7ADE38EC0406") :: REM 1UP RIGHT1 216 CALL CHAR(101,"181870BC80382840") :: REM 1UP RIGHT2 220 CALL CHAR(104,"18180A3C58141630") :: REM 1UP DOWN 225 CALL CHAR(108,"6060BCF6386E40C0") :: REM 1UP LEFT1 226 CALL CHAR(109,"606038F434705008") :: REM 1UP LEFT2 230 CALL CHAR(33,"FBFBFB007F7F7F00") :: REM WALL ! 250 CALL CHAR(120,"183C7EDBFF5A8142") :: REM MONSTER x 251 CALL CHAR(81,"1824241808180818") :: REM KEY Q 252 CALL CHAR(90,"00387CFEFE7C3810") :: REM DIAMANTE Z 253 CALL CHAR(91,"183C7E46C7EFEFFF") :: REM PORTA [ 254 CALL CHAR(40,"7E3C7E7EFFFFFF7E") :: REM VASO ( 260 GOSUB 1210 270 CALL COLOR(1,3,1,7,7,1,8,9,1,9,12,1,10,12,1,12,10,1) 280 FOR CO=3 TO 6 :: CALL COLOR(CO,7,1) :: NEXT CO 290 SCREEN=1 291 DISPLAY AT(0,0):"SCORE" :: DISPLAY AT(0,12):"HI-SCORE" 292 DISPLAY AT(0,21):RPT$(CHR$(100),MEN) 293 DISPLAY AT(2,0):SC :: DISPLAY AT(2,11):HI 294 DISPLAY AT(2,20):"LEVEL" :: DISPLAY AT(2,25):LV 530 D=247 540 IF LV>8 THEN LV=1 550 ON LV GOSUB 1400,1680,2230,2530,2810,3090 570 REM 580 SP=1 :: PP=0 640 R=4 :: C=4 :: RV,RV1=-1 :: CV,CV1=0 :: CH,CH1=96 :: CALL SPRITE(#1,CH,12,R*8-7,C*8-7) 650 PP=PP-1 :: IF PP<0 THEN 720 660 IF PP THEN 710 670 CALL COLOR(1,6,1) 680 FOR SP=2 TO 11 690 CO=INT(RND*4)+7 :: IF CO=8 THEN 690 ELSE CALL COLOR(#SP,CO) 700 NEXT SP 710 IF PP=5 THEN CALL COLOR(1,14,1) 720 IF PP>0 THEN 740 740 CALL JOYST(1,X,Y) :: CALL KEY(1,K,S) 750 IF((X=0 AND Y=0)OR(X<>0 AND Y<>0))AND S=0 THEN 740 760 IF Y=4 OR K=5 THEN CH1=96 :: RV1=-1 :: CV1=0 770 IF X=4 OR K=3 THEN CH1=100 :: RV1=0 :: CV1=1 780 IF Y=-4 OR K+1=1 THEN CH1=104 :: RV1=1 :: CV1=0 790 IF X=-4 OR K=2 THEN CH1=108 :: RV1=0 :: CV1=-1 800 CALL GCHAR(R+RV1,C+CV1,CHK) 805 IF CHK<>33 THEN RV=RV1 :: CV=CV1 :: CH=CH1 ELSE CALL GCHAR(R+RV,C+CV,CHK) :: IF CHK=33 THEN 650 810 R=R+RV :: C=C+CV :: CALL PATTERN(#1,CH) :: CALL LOCATE(#1,R*8-7,C*8-7) 820 IF CHK=32 THEN 650 830 IF CHK<>120 THEN 860 840 REM PP=26-SCREEN :: CALL COLOR(1,15,1) :: REM 9 850 FOR SP=2 TO 11 :: CALL COLOR(#SP,1) :: CALL SOUND(-1,55*SP,0) :: NEXT SP 860 IF CHK=40 THEN SC=SC+100 870 IF CHK=90 THEN SC=SC+200 880 IF CHK=81 THEN SC=SC+300 :: KE=1 881 IF CHK=91 THEN IF KE=1 THEN 1060 ELSE GOTO 740 882 IF CHK=120 THEN 990 890 DISPLAY AT(2,0) SIZE(5):SC :: CALL SOUND(-1,-6,0) 900 CALL HCHAR(R,C,32) 910 D=D-1 :: IF D=0 THEN 1040 920 GOTO 650 930 FOR DEL=27 TO 1 STEP-4 940 FOR CH=96 TO 108 STEP 4 950 CALL PATTERN(#1,CH) 960 CALL SOUND(-1,110+DEL+CH/4,0) 970 NEXT CH 980 NEXT DEL 990 CALL SOUND(-100,-2,4) :: CALL SOUND(-100,-3,3) :: CALL SOUND(-100,-2,2) :: CALL SOUND(-100,-1,1) :: CALL SOUND(-1000,-1,0) 1000 MEN=MEN-1 :: IF MEN=-1 THEN 1110 ELSE DISPLAY AT(0,21):RPT$(CHR$(100),MEN) 1010 SP=1 1020 FOR RR=3 TO 21 STEP 2 :: SP=SP+1 :: CALL LOCATE(#SP,RR*8-7,256) :: NEXT RR 1030 GOTO 640 1040 FOR SP=2 TO 11 :: CALL DELSPRITE(#SP) :: NEXT SP 1050 CALL COLOR(1,6,1) 1055 REM CLEAR STAGE LEVEL 1060 FOR DEL=1 TO 20 1070 CALL SOUND(INT(RND*200)+1,110+INT(RND*220),INT(RND*3)) 1080 NEXT DEL 1090 LV=LV+1 :: KE=0 1100 RESTORE :: GOTO 290 1110 CALL DELSPRITE(#1) 1120 FOR DEL=1 TO 5 1130 DISPLAY AT(12,10)SIZE(9)BEEP:RPT$(CHR$(100),4);" ";RPT$(CHR$(108),4) 1140 DISPLAY AT(12,10)SIZE(9)BEEP:"GAME OVER" 1150 NEXT DEL 1160 FOR P=0 TO 2000 :: NEXT P 1200 CALL CLEAR 1205 REM INTRO 1210 MEN=4 :: SCORE=0 :: LV=1 :: KE=0 1215 FOR CO=1 TO 14 :: CALL COLOR(CO,16,2) :: NEXT CO 1216 CALL COLOR(1,3,1,7,7,1,8,9,1,9,12,1,10,12,1,12,10,1) 1220 DATA "!!! ! ! ! ! ! ! !!! ! " 1221 DATA " ! ! ! !! ! !! ! ! ! " 1222 DATA " ! ! ! ! !! ! !! !! ! " 1223 DATA " ! ! ! ! ! ! ! ! ! " 1224 DATA " ! !!! ! ! ! ! !!! !!!" 1225 RESTORE 1220 1227 FOR A1=1 TO 5 :: READ A2$ 1228 DISPLAY AT(A1+1,2):A2$ 1229 NEXT A1 1230 DISPLAY AT(8,2):"RILASCIA IL TASTO ALPHA LOCK" 1240 DISPLAY AT(9,1):"USA IL JOYSTICK 1 O I TASTI " 1250 DISPLAY AT(10,1):"CON LE FRECCE-E,X,S,D-." 1260 DISPLAY AT(12,2):CHR$(100)&" PLAYER 1UP" 1270 DISPLAY AT(13,2):CHR$(81)&" 300 POINTS" 1280 DISPLAY AT(14,2):CHR$(90)&" 200 POINTS" 1290 DISPLAY AT(15,2):CHR$(40)&" 100 POINTS" 1300 DISPLAY AT(16,2):CHR$(120)&" MONSTER" 1310 DISPLAY AT(20,2):"BY ANDREA GASPARRINI 2011" 1330 DISPLAY AT(22,4):"PUSH SPACE TO START" 1340 CALL KEY(0,K,S) :: IF S<1 THEN 1340 1350 CALL KEY(1,L,S) 1360 IF K=18 or K=32 or L=18 or L=32 THEN CALL CLEAR :: CALL COLOR(2,11,1) :: RETURN 1380 GOTO 1340 1390 REM PRINT PUT LEVELS MAZE 1395 REM LEVEL-1 1400 RESTORE 1450 1410 FOR A1=2 TO 23 :: READ A2$ 1420 DISPLAY AT(A1+1,1):A2$ 1430 NEXT A1 1440 RETURN 1450 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 1460 DATA "! !! ( !!" 1470 DATA "! !!!!!! !! !!!!!!!!!!!!! !!" 1480 DATA "! !!!!!! Z !! !!" 1490 DATA "! !!!!!!!!!!!!!!!!!!!! !! !!" 1500 DATA "! ! x x !! !!" 1510 DATA "! !!!!!!!!!!! !! !!! !!" 1520 DATA "!!!!!!!!(Z !!!! !! !!!!!!!!!" 1530 DATA "!!!!!!!!!! !!!! !! !!!!!!!!!" 1540 DATA "!! !! ZZ!!!" 1550 DATA "!! !!!!!!!!!!!!!!!!!!!!!!!!!" 1560 DATA "!! !!!!((x !!!!!!!!!" 1570 DATA "!! !!!!!!! !!!!!!! x((((!!!" 1580 DATA "!! !!!!!!!! !!!!!!!!" 1590 DATA "!!!!!!!!!! !!!!!!!! !!!!" 1600 DATA "!!!!!!!!!! !!!Q!!!!!!!! !" 1610 DATA "!! !!! !!!!!!!! !" 1620 DATA "!! !!!!!!!!!!!!!! !!!!!!!! !" 1630 DATA "!! ((Z!!!!!!ZZ !" 1640 DATA "!! !!!!!!!!!!!!!!!!!!!!!!!!!" 1650 DATA "!! [!!" 1660 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 1670 REM LEVEL-2 1680 RESTORE 2000 1690 FOR A1=2 TO 23 :: READ A2$ 1700 DISPLAY AT(A1+1,1):A2$ 1710 NEXT A1 1720 RETURN 2000 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 2010 DATA "! ! ! !( ( [!" 2020 DATA "! ! !!!!!! ! !!!!!!! !!!! !!" 2030 DATA "! ! !(! ! ! ZZ((! ! ( (!!" 2040 DATA "! ! !(! !!!! ! !!!!! ! !!!!!" 2050 DATA "! ! ! !x x ! ! !!" 2060 DATA "!!!!! ! ! !!!!!!!! ! !!!! !!" 2070 DATA "! ! ! ! ! ! Z Z!!" 2080 DATA "! !!!!!!!!! !!!! ! ! ! !!!!!" 2090 DATA "! ! ! !Q ! ! ! !" 2100 DATA "! ! !!!! ! !!!!! ! ! !!Z!! !" 2110 DATA "! ! ! ! ! ! ! !!(! !" 2120 DATA "! ! ! !!!!!!!! ! ! !!!! !!" 2130 DATA "! ! ! ! !!!!! ! !!" 2140 DATA "!!!!! ! !!!! ! ! ! !!!!!" 2150 DATA "! ! !(!! ! ! !!!!! !" 2160 DATA "! !!!!! ! ! ! ! !!!!! !" 2170 DATA "! ! !! ! ! !!!!! ! ! !" 2180 DATA "! ! !!!!! Z! ! ! ! ! ! !" 2190 DATA "! ! ! ( ! !! ! ! !!!!! ! ! !" 2200 DATA "! !(!x ! ! !" 2210 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 2220 REM LEVEL-3 2230 RESTORE 2280 2240 FOR A1=2 TO 23 :: READ A2$ 2250 DISPLAY AT(A1+1,1):A2$ 2260 NEXT A1 2270 RETURN 2300 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 2310 DATA "! ! !ZZ ! ! ! [!" 2320 DATA "!!! ! ! !!! ! !!!!! ! ! ! !!" 2330 DATA "! ! ! ! ! ! !" 2340 DATA "! !!!!!!! !!!!! !!!!! ! !! !" 2350 DATA "! x((! !((! ! ! ! !" 2360 DATA "!!!!!! !!!!ZZx ! !!!!! ! !!" 2370 DATA "!! ! ZZ!!!!! ! ! ! !" 2380 DATA "! ! ! !!!! ! ! !!!!!! !" 2390 DATA "! !! ! ((! !!!!! ! !! !" 2400 DATA "! ! ! !!!! ! !( ! ! !" 2410 DATA "!! ! ! !!!!x!!!!!!!!! ! !" 2420 DATA "! ! !!!! ! ! ! !" 2430 DATA "! !! ! !!!!!!!!! !! ! !" 2440 DATA "! !!!!!!!!! !! ! ! ! !" 2450 DATA "! !Q ! ! !!!! !! !" 2460 DATA "!!!!! !!!!! !! ! ! !" 2470 DATA "! ! ! !!!!!!! ! !!!x!!" 2480 DATA "! !!!!! ! ! ! x ! ! !Zx !" 2490 DATA "! ! ! ! ! ! !!! ! ! !!!! !" 2500 DATA "! ! ! !(((! ! ( ( (!" 2510 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 2520 REM LEVEL-4 2530 RESTORE 2580 2540 FOR A1=2 TO 23 :: READ A2$ 2550 DISPLAY AT(A1+1,1):A2$ 2560 NEXT A1 2570 RETURN 2580 DATA "!!!!!!!!!!!!!!!!!!!!!!!!!!!!" 2590 DATA "! !(x ZZ! Z














