tibasic Posted August 27, 2017 Author Share Posted August 27, 2017 Glad you managed to figure it out! Quote Link to comment Share on other sites More sharing options...
ralphb Posted August 31, 2017 Share Posted August 31, 2017 The file is in TIFILES format. You can convert it to V9T9 format using Ti99Dir. Just for completeness, you can also use xdm99.py, like this: . xdm99.py -X sssd viper.dsk -a VIPER -t -9 . This creates a new SSSD disk and puts VIPER, which is in short TIFILES format, on it. Quote Link to comment Share on other sites More sharing options...
tibasic Posted November 27, 2017 Author Share Posted November 27, 2017 Decided to develop the game a bit more ... the following features have been added. 1. Original music at the beginning that is a little inspired by music found in C64 games 2. A fancy instructions screen 3. Increasing difficulty with level (The Cylon firing becomes more rapid) 4. The positioning of the sectors on the map is now random. The newest file is VS2211.zip. I plan to add a few more things like turbo boost button to jump from sector to sector a bit quicker to speed up the game a bit. VS2211.zip 1 Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted November 27, 2017 Share Posted November 27, 2017 Only seconds into play I experienced the ship turning by itself? Also generally getting stuck as in ESDX does nothing? Quote Link to comment Share on other sites More sharing options...
tibasic Posted November 27, 2017 Author Share Posted November 27, 2017 Hi Sometimes99er, Sorry to hear that you're having problems with the game. The ship is programmed to turn by itself when it reaches the end of the map. That is to prevent it coming off the map. Actually the keys are 'esdx' not 'ESDX'. Maybe I need to make that clear in the instructions. Thanks for trying it. tibasic Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted November 27, 2017 Share Posted November 27, 2017 The ship is programmed to turn by itself when it reaches the end of the map. That is to prevent it coming off the map. Okay, that's probably what's happening then. Actually the keys are 'esdx' not 'ESDX'. Maybe I need to make that clear in the instructions. That's what I've been using, - and Classic99. I'll give it another try soon. Quote Link to comment Share on other sites More sharing options...
tibasic Posted November 27, 2017 Author Share Posted November 27, 2017 Also the response of the ship when pressing a key is somewhat sluggish ... setting CPU tuning to 200% in Classic99 might help. Quote Link to comment Share on other sites More sharing options...
Omega-TI Posted November 27, 2017 Share Posted November 27, 2017 When it's all done, do you have any plans to compile for EA/5 or cartridge format? Quote Link to comment Share on other sites More sharing options...
palmheads Posted November 27, 2017 Share Posted November 27, 2017 (edited) Think its really cool showing what you can do with TI-BASIC. Was looking at one of the old 99ner mags, and its got an article about using TI-BASIC with mini memory module. ftp://whtech.com/magazines/99er/99er8309.pdf Its actually a light racer game using PEEKV, POKEV to get faster responses from the VDP. Totally breaks the console only concept, but if you wanted to keep the TI-BASIC theme could be quite neat using the TI-BASIC extensions that the mini memory module gave. The article is called Byte Lightning. The actual game is on this attached disk OLD DSK1.MMLIGHTRCR RUN MMProgs.dsk Edited November 27, 2017 by palmheads Quote Link to comment Share on other sites More sharing options...
tibasic Posted November 28, 2017 Author Share Posted November 28, 2017 When it's all done, do you have any plans to compile for EA/5 or cartridge format? I don't have plans to compile the game really. However I could compile it when it is finished anyway as it does need a bit of speeding up. Think its really cool showing what you can do with TI-BASIC. Thanks it is a lot of fun. That is interesting about PEEKV and POKEV. There is a lot I don't know about the TI ... Quote Link to comment Share on other sites More sharing options...
tibasic Posted January 24, 2018 Author Share Posted January 24, 2018 ok I think I have done as much as I can with the game for the time being ... The Viper now moves more quickly between sectors. It can be slowed down if necessary to remain in a sector long enough to fight the Cylons. Pressing T toggles the speed between slow and fast. The Viper changes colour to indicate a change in speed. I would like to add an indication of the level reached but don't have room in the program at the moment. I may reduce the data for the music a little to make more room. Then I will try and compile the game to give it a bit more oomph. VS2912.zip 3 Quote Link to comment Share on other sites More sharing options...
+eebuckeye Posted January 25, 2018 Share Posted January 25, 2018 I can't get it to work with js99.net. Is this the right type of disk file for that emulator? Quote Link to comment Share on other sites More sharing options...
tibasic Posted January 25, 2018 Author Share Posted January 25, 2018 The file is for Classic99. I don't know how to load basic programs with js99. In the meantime, while we find out you could copy this text below and paste it (CTRL-V) into js99. It takes about 5 minutes to "load" though when I tested pasting it into js99. Also attached the program as a txt file. 100 REM VIPER SQUADRON 110 REM BY TIBASIC 120 REM 130 CALL CLEAR 140 CALL SCREEN(12) 150 PRINT " V I P E R S Q U A D R O N":::::::::::: 160 PRINT " PRESS ANY KEY FOR GAME":: 170 PRINT " OR WAIT FOR BRIEFING " 180 GOSUB 3960 190 IF GAME=1 THEN 210 200 GOSUB 4130 210 PRINT :::::::::::::::::::::::"PREPARING THE GAME ..." 220 RANDOMIZE 230 FOR I=0 TO 3 240 RESTORE 250 FOR J=0 TO 5 260 READ A$ 270 CALL CHAR(96+J+I*8,A$) 280 NEXT J 290 NEXT I 300 FOR I=0 TO 3 310 RESTORE 3610 320 FOR J=0 TO 5 330 READ A$ 340 CALL CHAR(128+J+I*8,A$) 350 NEXT J 360 NEXT I 370 RESTORE 3630 380 FOR I=64 TO 67 390 READ A$ 400 CALL CHAR(I,A$) 410 NEXT I 420 RESTORE 3650 430 FOR I=40 TO 41 440 READ A$ 450 CALL CHAR(I,A$) 460 CALL CHAR(I+29,A$) 470 NEXT I 480 RESTORE 3660 490 FOR I=1 TO 12 500 READ A,A$ 510 CALL CHAR(A,A$) 520 NEXT I 530 XPOS=50 540 CY4=4 550 SHIPS=5 560 LVL=1 570 SCN=2 580 FG=16 590 BG=2 600 X=1 610 Y=0 620 PPL=0 630 TIME=0 640 FLAG=0 650 SHOOT=0 660 NTR=0 670 FRG=16 680 OLDFRG=FRG 690 SPD=10 700 CALL COLOR(1,16,1) 710 CALL COLOR(2,5,1) 720 CALL COLOR(3,16,1) 730 CALL COLOR(5,16,1) 740 CALL COLOR(4,16,1) 750 CALL COLOR(6,2,3) 760 FOR I=9 TO 16 770 CALL COLOR(I,2,1) 780 NEXT I 790 CALL CLEAR 800 CALL HCHAR(20,1,72,32) 810 CALL HCHAR(22,1,74,32) 820 CALL HCHAR(24,1,73,32) 830 FOR I=1 TO 31 STEP 2 840 CALL HCHAR(21,I,80) 850 CALL HCHAR(21,I+1,88) 860 CALL HCHAR(23,I,80) 870 CALL HCHAR(23,I+1,88) 880 NEXT I 890 GOSUB 4580 900 GOSUB 4670 910 GOSUB 3700 920 CO=1 930 XX(1)=16 940 YY(1)=4 950 CC(1)=128 960 XX(2)=13 970 YY(2)=4 980 CC(2)=96 990 FOR M=1 TO 2 1000 J=0 1010 K=0 1020 I=0 1030 L=0 1040 FOR H=1 TO 24 1050 CALL HCHAR(YY(M)+I,XX(M)+L,CC(M)+J+K) 1060 J=J+1 1070 L=L+1 1080 IF (J=3)+(J=6)THEN 1090 ELSE 1110 1090 I=I+1 1100 L=0 1110 IF J>5 THEN 1120 ELSE 1140 1120 J=0 1130 K=K+8 1140 NEXT H 1150 NEXT M 1160 FOR I=9 TO 16 1170 CALL COLOR(I,1,1) 1180 NEXT I 1190 CALL COLOR(13,16,1) 1200 CALL HCHAR(1,24,63,5) 1210 CALL HCHAR(1,4,48,5) 1220 CALL SCREEN(SCN) 1230 CALL KEY(0,K,S) 1240 IF S=0 THEN 2200 1250 IF K=84 THEN 1260 ELSE 1340 1260 IF SPD<>10 THEN 1310 1270 SPD=2 1280 OLDFRG=FRG 1290 FRG=SCN+1 1300 GOTO 1330 1310 SPD=10 1320 FRG=OLDFRG 1330 CALL COLOR(9+Y+X*4,FRG,1) 1340 IF (K=83)*(X>0)THEN 1350 ELSE 1370 1350 X=X-1 1360 CALL COLOR(13+Y,1,1) 1370 IF (K=68)*(X<1)THEN 1380 ELSE 1400 1380 X=X+1 1390 CALL COLOR(9+Y,1,1) 1400 IF (K=69)*(Y>0)THEN 1410 ELSE 1430 1410 Y=Y-1 1420 CALL COLOR(9+Y+1+X*4,1,1) 1430 IF (K=88)*(Y<3)THEN 1440 ELSE 1460 1440 Y=Y+1 1450 CALL COLOR(9+Y-1+X*4,1,1) 1460 CALL COLOR(9+Y+X*4,FRG,1) 1470 IF K<>32 THEN 2200 1480 IF GC<>59 THEN 1560 1490 PPL=PPL+10 1500 CALL SOUND(200,400,5) 1510 CALL SOUND(200,600,10) 1520 GOSUB 3900 1530 CALL HCHAR(1,XP,58) 1540 NTR=NTR+1 1550 GOTO 2200 1560 CALL SOUND(150,400,0) 1570 CALL HCHAR(Y*2+5,10+X*9,37,3) 1580 CALL HCHAR(Y*2+5,10+X*9,32,3) 1590 CALL SOUND(150,400,10) 1600 CALL HCHAR(Y*2+5,1+X*28,37,3) 1610 CALL HCHAR(Y*2+5,1+X*28,32,3) 1620 IF GC<>61 THEN 1880 1630 IF X<>0 THEN 1750 1640 CALL GCHAR(Y*2+4,XCYLON1(INT((Y+2)*0.5)),CYG) 1650 IF CYG=32 THEN 1880 1660 CALL VCHAR(Y*2+4,XCYLON1(INT((Y+2)*0.5)),62,2) 1670 CALL SOUND(200,-7,10) 1680 CALL SOUND(200,-7,0) 1690 CALL SOUND(200,-7,10) 1700 CY4=CY4-1 1710 PPL=PPL+1 1720 CALL VCHAR(Y*2+4,XCYLON1(INT((Y+2)*0.5)),32,2) 1730 GOSUB 3900 1740 GOTO 1850 1750 CALL GCHAR(Y*2+4,XCYLON2(INT((Y+2)*0.5)),CYG) 1760 IF CYG=32 THEN 1880 1770 CALL VCHAR(Y*2+4,XCYLON2(INT((Y+2)*0.5)),62,2) 1780 CALL SOUND(200,-7,10) 1790 CALL SOUND(200,-7,0) 1800 CALL SOUND(200,-7,10) 1810 CY4=CY4-1 1820 PPL=PPL+1 1830 CALL VCHAR(Y*2+4,XCYLON2(INT((Y+2)*0.5)),32,2) 1840 GOSUB 3900 1850 IF CYG<>69 THEN 1880 1860 SHOOT=0 1870 TIME=0 1880 IF CY4<>0 THEN 2200 1890 PPL=PPL+10 1900 CALL SOUND(200,400,5) 1910 CALL SOUND(200,600,10) 1920 CYT=1 1930 CY4=4 1940 GOSUB 3900 1950 NTR=NTR+1 1960 IF NTR<>5 THEN 2190 1970 GOSUB 4580 1980 GOSUB 4670 1990 LVL=LVL+1 2000 IF SCN<>2 THEN 2040 2010 SCN=12 2020 FRG=2 2030 GOTO 2060 2040 SCN=2 2050 FRG=16 2060 SPD=10 2070 CALL SCREEN(SCN) 2080 CALL COLOR(1,FRG,1) 2090 CALL COLOR(3,FRG,1) 2100 CALL COLOR(4,FRG,1) 2110 CALL COLOR(5,FRG,1) 2120 FOR I=9 TO 16 2130 CALL COLOR(I,1,1) 2140 NEXT I 2150 CALL COLOR(9+Y+X*4,FRG,1) 2160 CYT=1 2170 NTR=0 2180 GOTO 2200 2190 GOSUB 4660 2200 IF X=0 THEN 2230 2210 ON CO GOSUB 3270,3300,3330,3360 2220 GOTO 2240 2230 ON CO GOSUB 3360,3330,3300,3270 2240 CO=CO+1 2250 IF CO<>5 THEN 2270 2260 CO=1 2270 XP=XPOS/10+11 2280 CALL GCHAR(1,XP,GC) 2290 IF GC=32 THEN 2300 ELSE 2370 2300 CALL COLOR(9+Y+X*4,1,1) 2310 IF XP>=20 THEN 2320 ELSE 2340 2320 X=0 2330 GOTO 2350 2340 X=1 2350 CALL COLOR(9+Y+X*4,FRG,1) 2360 GOTO 3210 2370 CALL HCHAR(1,XP,60) 2380 CALL HCHAR(1,XP,GC) 2390 IF (GC=59)+(GC=61)THEN 2400 ELSE 2440 2400 FOR I=0 TO 3 2410 CALL HCHAR(21,15+I,64+I) 2420 NEXT I 2430 TRAIN=1 2440 IF (GC=58)*(TRAIN=1)THEN 2450 ELSE 2490 2450 TRAIN=0 2460 CALL HCHAR(21,15,80,4) 2470 CALL HCHAR(21,16,88) 2480 CALL HCHAR(21,18,88) 2490 IF (GC=61)*(FLAG=0)THEN 2500 ELSE 2530 2500 GOSUB 3390 2510 FLAG=1 2520 GOTO 2570 2530 IF (GC<61)*(FLAG=1)THEN 2540 ELSE 2570 2540 GOSUB 3490 2550 SHOOT=0 2560 FLAG=0 2570 IF GC=61 THEN 2580 ELSE 3210 2580 IF (RND>0.1)*(SHOOT=0)THEN 2590 ELSE 2710 2590 SHOOT=1 2600 TIME=0 2610 IF RND>0.5 THEN 2620 ELSE 2670 2620 SIDE=1 2630 CY=INT(RND*1.9) 2640 CALL HCHAR(4+CY*4,XCYLON1(CY+1),69) 2650 CALL HCHAR(4+CY*4+1,XCYLON1(CY+1),70) 2660 GOTO 2710 2670 SIDE=2 2680 CY=INT(RND*1.9) 2690 CALL HCHAR(4+CY*4,XCYLON2(CY+1),69) 2700 CALL HCHAR(4+CY*4+1,XCYLON2(CY+1),70) 2710 IF SHOOT=1 THEN 2720 ELSE 3210 2720 TIME=TIME+1 2730 IF LVL>7 THEN 2740 ELSE 2760 2740 IF TIME=3 THEN 2790 ELSE 3210 2750 GOTO 2770 2760 IF TIME=10-LVL THEN 2790 ELSE 3210 2770 IF CY4<4 THEN 2780 ELSE 2790 2780 CY4=CY4+1 2790 IF (4+CY*4)=(4+Y*2)THEN 2800 ELSE 3130 2800 SHIPS=SHIPS-1 2810 IF SIDE=1 THEN 2820 ELSE 2850 2820 CALL HCHAR(4+CY*4,12,62) 2830 CALL HCHAR(4+CY*4,12,32) 2840 GOTO 2870 2850 CALL HCHAR(4+CY*4,20,62) 2860 CALL HCHAR(4+CY*4,20,32) 2870 FOR I=1 TO 10 2880 IF SCN=2 THEN 2890 ELSE 2910 2890 CALL SCREEN(16) 2900 GOTO 2920 2910 CALL SCREEN(2) 2920 CALL SOUND(100,110,0) 2930 CALL SOUND(100,110,10) 2940 CALL SCREEN(SCN) 2950 NEXT I 2960 CALL HCHAR(1,24,32,5) 2970 IF SHIPS=0 THEN 3130 2980 IF SHIPS=-1 THEN 2990 ELSE 3120 2990 FOR I=1 TO 10 3000 IF SCN=2 THEN 3010 ELSE 3030 3010 CALL SCREEN(16) 3020 GOTO 3040 3030 CALL SCREEN(2) 3040 CALL SOUND(100,300,0) 3050 CALL SOUND(100,300,10) 3060 CALL SCREEN(SCN) 3070 NEXT I 3080 GOSUB 3960 3090 CALL KEY(0,K,S) 3100 IF S=0 THEN 3090 3110 GOTO 530 3120 CALL HCHAR(1,24,63,SHIPS) 3130 SHOOT=0 3140 TIME=0 3150 IF SIDE=1 THEN 3160 ELSE 3190 3160 CALL HCHAR(4+CY*4,XCYLON1(CY+1),40) 3170 CALL HCHAR(4+CY*4+1,XCYLON1(CY+1),41) 3180 GOTO 3210 3190 CALL HCHAR(4+CY*4,XCYLON2(CY+1),40) 3200 CALL HCHAR(4+CY*4+1,XCYLON2(CY+1),41) 3210 XPOS=XPOS+(X-0.5)*SPD 3220 CYT=CYT+1 3230 IF CYT=50 THEN 3240 ELSE 3260 3240 CYT=1 3250 GOTO 1950 3260 GOTO 1230 3270 CALL COLOR(7,BG,FG) 3280 CALL COLOR(8,BG,BG) 3290 RETURN 3300 CALL COLOR(7,FG,BG) 3310 CALL COLOR(8,BG,BG) 3320 RETURN 3330 CALL COLOR(7,BG,BG) 3340 CALL COLOR(8,BG,FG) 3350 RETURN 3360 CALL COLOR(7,BG,BG) 3370 CALL COLOR(8,FG,BG) 3380 RETURN 3390 FOR I=0 TO 7 STEP 4 3400 INX=INT(I/3)+1 3410 XCYLON1(INX)=INT(RND*10)+1 3420 XCYLON2(INX)=INT(RND*10)+21 3430 CALL HCHAR(4+I,XCYLON1(INX),40) 3440 CALL HCHAR(5+I,XCYLON1(INX),41) 3450 CALL HCHAR(4+I,XCYLON2(INX),40) 3460 CALL HCHAR(5+I,XCYLON2(INX),41) 3470 NEXT I 3480 RETURN 3490 FOR I=0 TO 7 STEP 4 3500 INX=INT(I/3)+1 3510 CALL HCHAR(4+I,XCYLON1(INX),32) 3520 CALL HCHAR(5+I,XCYLON1(INX),32) 3530 CALL HCHAR(4+I,XCYLON2(INX),32) 3540 CALL HCHAR(5+I,XCYLON2(INX),32) 3550 NEXT I 3560 SHOOT=0 3570 TIME=0 3580 RETURN 3590 DATA "000000000000003F","00000000000F3EFC","0007091E23CF7387" 3600 DATA "40201F0000000000","001EC13F00000000","F9068242310F0000" 3610 DATA "00E09078C4F3CEE1","0000000000F07C3F","00000000000000FC" 3620 DATA "9F6041428CF00000","007883FC00000000","0204F80000000000" 3630 DATA "FF808E929C80FC03","FF027293E30300FF","F84641C0FFC003FC" 3640 DATA "00008040E010F000" 3650 DATA "387C447C6C7CFEFE","FEBABABA28286C00" 3660 DATA 37,"0000FFFFFFFF0000",59,"FFFFFFFFFFFFFFFF",58,"FF818181818181FF" 3670 DATA 60,"007E7E7E7E7E7E00",61,"007C447C6C447C00",62,"AA55AA55AA55AA55" 3680 DATA 63,"0080C0FEFCE00000",80,"F0F0F0F0F0F0F0F0",88,"F0F0F0F0F0F0F0F0" 3690 DATA 72,"000000000000FFFF",73,"FFFF000000000000",74,"FFFF00000000FFFF" 3700 CALL CHAR(33,"8040201008040201") 3710 CALL CHAR(34,"00000000000000FF") 3720 CALL CHAR(35,"0102040810204080") 3730 CALL CHAR(36,"0000000000000000") 3740 TOP=0.7 3750 J=0 3760 DIR=1 3770 FOR I=1 TO 32 3780 R=RND 3790 IF R>TOP THEN 3800 ELSE 3820 3800 DIR=-DIR 3810 J=J-DIR 3820 J=J+DIR 3830 IF (J>3)+(J<-3)THEN 3840 ELSE 3860 3840 DIR=-DIR 3850 J=J+DIR 3860 CH=34+DIR 3870 CALL HCHAR(16-J,I,CH) 3880 NEXT I 3890 RETURN 3900 SCP=5-LEN(STR$(PPL)) 3910 CALL HCHAR(1,4,48,SCP) 3920 FOR I=1 TO LEN(STR$(PPL)) 3930 CALL HCHAR(1,3+I+SCP,ASC(SEG$(STR$(PPL),I,1))) 3940 NEXT I 3950 RETURN 3960 RESTORE 4090 3970 FOR I=1 TO 12 3980 READ A,B 3990 CALL KEY(0,K,S) 4000 IF S=0 THEN 4030 ELSE 4010 4010 GAME=1 4020 GOTO 4120 4030 CALL SOUND(A*1.2,110,0,B,0) 4040 READ A,B 4050 CALL SOUND(A*1.2,131,0,B,0) 4060 READ A,B 4070 CALL SOUND(A*1.2,165,0,B,0) 4080 NEXT I 4090 DATA 162,110,162,110,162,220,162,110,162,110,162,220,162,110,162,110,162,220,162,110,162,110,162,220 4100 DATA 162,659,162,659,162,659,162,494,162,494,162,659,162,110,162,110,162,110,162,880,162,698,162,659 4110 DATA 162,659,162,659,162,659,162,494,162,494,162,659,162,110,162,110,162,110,162,880,162,698,162,659 4120 RETURN 4130 PRINT :::::" VIPER SQUAD BRIEFING":::::::::::::" PRESS ENTER TO PLAY":::::: 4140 CALL COLOR(1,1,4) 4150 FOR I=9 TO 12 4160 CALL COLOR(I,16,5) 4170 CALL COLOR(I-4,2,4) 4180 NEXT I 4190 CALL COLOR(2,2,4) 4200 CALL COLOR(13,11,2) 4210 CALL CHAR(128,"F0783C1E0F87C3E1") 4220 CALL CHAR(125,"0000000000001818") 4230 CALL CHAR(123,"") 4240 FOR I=8 TO 15 4250 CALL HCHAR(I,7,123,19) 4260 NEXT I 4270 CALL HCHAR(7,6,128,21) 4280 CALL HCHAR(16,6,128,21) 4290 CALL VCHAR(8,6,128, 4300 CALL VCHAR(8,26,128, 4310 ROW=7 4320 P$="shoot{the{cylons{by" 4330 GOSUB 4500 4340 P$="pressing{space{bar}" 4350 GOSUB 4500 4360 P$="save{trains{{{using" 4370 GOSUB 4500 4380 P$="space{bar{{when{{no" 4390 GOSUB 4500 4400 P$="cylons{are{in{{view" 4410 GOSUB 4500 4420 P$="use{{esdx{{to{{move" 4430 GOSUB 4500 4440 P$="your{viper}{press{t" 4450 GOSUB 4500 4460 P$="to{{change{{{speed}" 4470 GOSUB 4500 4480 INPUT "":A$ 4490 RETURN 4500 COL=7 4510 ROW=ROW+1 4520 FOR J=1 TO LEN(P$) 4530 CHA=ASC(SEG$(P$,J,1)) 4540 CALL HCHAR(ROW,COL,CHA) 4550 COL=COL+1 4560 NEXT J 4570 RETURN 4580 CALL HCHAR(1,11,58,10) 4590 FOR TRI=1 TO 5 4600 TR=RND*100 4610 CALL GCHAR(1,INT(TR/10)+11,GTR) 4620 IF GTR=59 THEN 4600 4630 CALL HCHAR(1,INT(TR/10)+11,59) 4640 NEXT TRI 4650 RETURN 4660 CALL HCHAR(1,INT(CYLON/10)+11,58) 4670 XCY=11+INT(RND*11) 4680 CALL GCHAR(1,XCY,G) 4690 IF G<>59 THEN 4670 4700 CALL HCHAR(1,XCY,61) 4710 CYLON=(XCY-11)*10 4720 CALL HCHAR(1,INT(CYLON/10)+11,61) 4730 RETURN vs2912.txt 1 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted January 25, 2018 Share Posted January 25, 2018 Cool! Im looking forward to playing this!!! Thanks! Quote Link to comment Share on other sites More sharing options...
+mizapf Posted January 25, 2018 Share Posted January 25, 2018 Disk image (created with TIMT*) (* I found a bug by the way, a one-off error: It believed that CO means CONTINUE, where the short form must be CON. I'll patch it and upload it soon.) viper.dsk Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted January 25, 2018 Share Posted January 25, 2018 The file is for Classic99. I don't know how to load basic programs with js99. One way to load a program in js99er.net after you choose TI Basic is to select and copy (Ctrl+c) the program text and paste (Ctrl+v) it into TI Basic. ...lee Quote Link to comment Share on other sites More sharing options...
Opry99er Posted January 25, 2018 Share Posted January 25, 2018 For programming in TI Basic, I find there to be few tools as helpful, useful, and rewarding to use as TIdBiT (codehackcreate.com) Code freely with no line numbers and have the use of labels. Makes coding in console BASIC fun. 3 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted January 25, 2018 Share Posted January 25, 2018 I can't get it to work with js99.net. Is this the right type of disk file for that emulator? Click Open Disk/File in JS99'er and choose the file (you don't even have to unzip it). This will place the file on DSK1. Then type OLD DSK1.VS2912 and RUN from TI BASIC. 4 Quote Link to comment Share on other sites More sharing options...
Airshack Posted January 29, 2018 Share Posted January 29, 2018 For programming in TI Basic, I find there to be few tools as helpful, useful, and rewarding to use as TIdBiT (codehackcreate.com) Code freely with no line numbers and have the use of labels. Makes coding in console BASIC fun. TidBiT is wonderful!! The first day I used TIdBiT was the last day I coded in BASIC without it. From http://codehackcreate.com/archives/237 : TidBit is a pre-processor that lets you write your code in a more natural way (no line numbers, use indentation and comments, use labels, etc.) and then generates a normal BASIC/XB program that can be run on a TI-99/4A computer. Some of the main features are: Line numbers are not necessary and will be assigned. Labels can consist of A-Z, a-z, 0-9, _, and -. They can be any length, but a maximum line length is 256 characters. Label definitions must start a line and end with a single colon. Labels can be referenced any place a line number can be used, currently: THEN, ELSE, [ON]GOTO, [ON]GOSUB, and ON ERROR. Comments are any line that start with REM or // (C/C++ style single line comment notation). XB also has a trailing comment designated by a ! that causes the rest of the line to be ignored. The C-style // comments will be stripped from the code, but the REM and ! comments will be retained in the output. Leading space is ignored so you can indent as much as you like. Long lines can be split by ending a line with .. (double period). These lines will be joined into one long line and the XB limit of 140 characters will be checked. Lines that end with the XB multi-statement operator ::, that end with a THEN or ELSE statement, or where an ELSE statement is on the next line, will automatically join the next line. A pseudo ENDIF statement can be used with IF-THEN-ELSE statements to help make code more readable. The starting line number and line number increment can be specified. http://codehackcreate.com/archives/237 1 Quote Link to comment Share on other sites More sharing options...
tibasic Posted February 12, 2018 Author Share Posted February 12, 2018 The level is now displayed on the screen in the game. I have also reduced the number of Vipers to three as I thought five was too many. The updated game is attached to this post. I think the game has everything it needs now. Next I will run it through the compiler and see how that goes. VS1202.zip 1 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted February 12, 2018 Share Posted February 12, 2018 (edited) I think the game has everything it needs now. Next I will run it through the compiler and see how that goes. Remember that everything has to be an integer. There are a number of places where you use RND in a way that is not compatible with the compiler. One example: 3780 R=RND (R will always be zero when compiled - see the docs for ways to program using RNDj) 3790 IF R>TOP THEN 3800 ELSE 3820 Or: 2580 IF (RND>0.1)*(SHOOT=0)THEN 2590 ELSE 2710 this could be IF (RND*10>1)*SHOOT=0) Edited February 12, 2018 by senior_falcon 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.