Jump to content

oddemann

Members
  • Posts

    537
  • Joined

  • Last visited

Everything posted by oddemann

  1. New pictures... cropped from real fish... dos not look that great in 16*16... But... this is 3 pictures. Maybe the sequence can be changed. A$="0000000001071F3F7F5F7F1F0F010000003060C0C1C3F7FEFEFEF3E361617130" B$="0000000001071F3F7F5F7F1F0F010000000060C0C282F6FCFCFCF2E242424020" C$="0000000001071F3F7F5F7F1F0F010000002040C0C081E3FEFEFEF3E3C1E16130"
  2. Could you explain the sound thing? 480 CALL PATTERN(#FISH,124)! wiggle 490 CALL SOUND(RND*100+20,-6,30)! DELAY 500 CALL PATTERN(#FISH,120)
  3. Found it "again" in Compute Issue 46. I remember typing it in on my real iron TI, in 84. Was looking over my stuff in the cellar. Found the old TI with some papers (a stack of copied pages of programs, looked online to find the mag to copy from the PDF to save time). And a Danish manual for the TI (I am from Norway). Also found "SIR PRANCE-A-LOT", so nice looking. Wow, this will be a cool game. An then this "spidery-man" is running... bvæææ bvæææ bvææææææææææ! Maybe fix the animation of Sir Prance-a-lot :p Thx for the "fix".
  4. Sound program "Shaping TI sounds" 100 CALL CLEAR 110 CALL SCREEN(15) 120 PRINT TAB(7);"SHAPING TI SOUNDS" 130 FOR T=1 TO 6 140 PRINT 150 NEXT T 160 PRINT "CHOOSE:" 170 PRINT 180 PRINT 190 PRINT TAB(4);"1) SHAPED MUSICAL NOTES" 200 PRINT 210 PRINT TAB(4);"2) ECHO" 220 PRINT 230 PRINT TAB(4);"3) QUIT" 240 PRINT 250 INPUT A$ 260 IF (VAL(A$)<1)+(VAL(A$)>3) THEN 250 270 ON VAL(A$) GOTO 290,520,690 280 REM THIS PART PRODUCES "SHAPED" MUSICAL NOTES 290 CALL CLEAR 300 CALL SCREEN(13) 310 PRINT TAB(3);"* SHAPED MUSICAL NOTES *" 320 FOR T=1 TO 10 330 PRINT 340 NEXT T 350 PRINT "ENTER RISE AND FALL TIMES -" 360 PRINT "USE VALUES GREATER THAN ZERO"; 370 PRINT 380 INPUT R,D 390 IF (R=0)+(D=0) THEN 380 400 FOR F=110 TO 880 STEP 30 410 FOR DB=30 TO 0 STEP -5/R 420 CALL SOUND(-10,F,DB) 430 NEXT DB 440 FOR DB=0 TO 30 STEP 5/D 450 CALL SOUND(-10,F,DB) 460 NEXT DB 470 FOR T=1 TO 50 480 NEXT T 490 NEXT F 500 GOTO 100 510 REM THIS PART CREATES AN ECHO EFFECT 520 CALL CLEAR 530 CALL SCREEN(14) 540 PRINT TAB(8);"* ECHO EFFECT *" 550 FOR T=1 TO 12 560 PRINT 570 NEXT T 580 FOR F=110 TO 880 STEP 30 590 FOR DB=1 TO 30 600 CALL SOUND(-10,F,DB) 610 FOR T=1 TO 10 620 NEXT T 630 CALL SOUND(-10,990-F,DB) 640 FOR J=1 TO 10 650 NEXT J 660 NEXT DB 670 NEXT F 680 GOTO 100 690 END
  5. This works great... BUT, I want to make the fish move more. I have other things I want to do where i want a sprite to "move" not a static ONE sprite. I want to make the ONE Sprite shift from 1 to 2 or even 3 or 4 different pictures. So I found this Aquarium program and it is nice. I want to make the individual fishes move as if they are moving there tale. BUT... How do I do this. I tried different things, and I am not even close. Can you help? I want ONE sprite to move back and forth from A$ and B$. Working on a animation, have two now, but if I can make more life into the fish I will try to add more animation. 140 ! REQUIRES EXTENDED BASIC. 150 CALL SCREEN(2) 160 CALL CLEAR 170 FOR I=1 TO 14 :: CALL COLOR(I,15,1):: NEXT I 180 PRINT "TI AQUARIUM": : : : 190 PRINT "This program allows you to" 200 PRINT "use your TI-99 to enjoy the" 210 PRINT "relaxing sight of fish" 220 PRINT "swimming by, without the" 230 PRINT "expense and bother of a" 240 PRINT "real aquarium." 250 PRINT : :"To end the program, press" 260 PRINT "any key while the fish are" 270 PRINT "being displayed." 280FOR D=1 TO 1500 :: NEXT D 290 CALL CLEAR 300 RANDOMIZE 310 A$="0000000081C3E7FFFFE7C3810000000000000000F0F8FCFEFEFCF8F000000000" 320 CALL CHAR(120,A$) 330 CALL MAGNIFY(3) 340 DATA 9,6,4,7,8,10,11,12,14,0 350 CALL SCREEN(2) 360 ! 370 ! Put fish on the screen., with sprite numbers and 380 ! colors based on the DATA statement 390 ! 400 READ Q 410 IF Q=0 THEN 540 420 CALL SPRITE(#Q,120,1,90+30*(RND-0.5),1,4*RND-3,5*RND+1) 430 CALL COLOR(#Q,Q) 440 GOSUB 610 450 GOSUB 610 460 GOSUB 610 470 FOR D=l TO 300 :: NEXT D 480 GOTO 400 490 ! 500 ! Now that all the fish are on the screen, make 510 ! random changes in their motion and check for 520 ! a key being pressed. 530 ! 540 GOSUB 610 550 CALL KEY(5,CODE,STATUS) 560 IF STATUS<>0 THEN CALL CLEAR :: STOP 570 GOTO 540 580 ! 590 ! Subroutine: Change the motion of a 600 ! randomly chosen sprite 605 ! 610 CALL MOTION(#INT(11*RND)+3,4*RND-2,5*RND+2) 620 RETURN Alternativ Better fish 310 A$="0000000083C76F7F7F6FC78300000000000000F0F8FCF6FFFFFEFCF8F0000000" Tale flopp 315 B$="0000000043476F7F7F6F474300000000000000F0F8FCF6FFFFFEFCF8F0000000"
  6. I found the best music so fare on the TI, really good! Do you have some music, sounds that are really great? Program 5-6. Bach Prelude 100 T=500 110 LLA=110 :: LLBF=117 :: LC=131 :: LD=147 :: LE=165 :: LF=175 :: LG=196 :: LA=220 :: LBF=233 120 C=262 :: D=294 :: E=330 :: F=349 :: G=392 :: A=440 :: BF=466 130 HC=523 :: HD=587 :: HE=659 :: HF=698 :: HG=784 :: HA=880 :: HBF=932 140 CALL CLEAR 150 CALL SCREEN (14) 160 DISPLAY AT(5,9):"P R E L U D E" 170 DISPLAY AT(9,9):"J. S. B A C H" 180 FOR DEL=1 TO 1000 :: NEXT DEL 190 CALL SOUND(T/4,LA,10,LF,10) 200 CALL SOUND(T/4,HC,10) 210 CALL SOUND(T/4,A,10,C,10,LF,10) 220 CALL SOUND(T/4,HC,10) 230 CALL SOUND(T/4,F,9,LA,S,LF,9) 240 CALL SOUND(T/4,HC,9) 250 CALL SOUND(T/4,A,9,C,9,LF,9) 260 CALL SOUND(T/4,HC,9) 270 CALL SOUND(T/4,F,8) 280 CALL SOUND(T/4,HD,8) 290 CALL SOUND(T/4,BF,8,D,8,LF,8) 300 CALL SOUND(T/4,HD,8) 310 CALL SOUND(T/4,F,7,LBF,7,LF,7) 320 CALL SOUND(T/4,HD,7) 330 CALL SOUND(T/4,BF,7,D,7,LF,7) 340 CALL SOUND(T/4,HD,7) 350 CALL SOUND(T/4,G,6) 360 CALL SOUND(T/4,HE,6) 370 CALL SOUND(T/4,BF,6,LG,6,LF,6) 380 CALL SOUND(T/4,HE,6) 390 CALL SOUND(T/4,G,6,LBF,6,LF,6) 400 CALL SOUND(T/4,HE,6) 410 CALL SOUND(T/4,BF,6,LG,6,LF,6) 420 CALL SOUND(T/4,HE,6) 430 CALL SOUND(T/4,HF,7,LA,7,LF,7) 440 CALL SOUND(T/4,HC,8) 450 CALL SOUND(T/4,A,9) 460 CALL SOUND(T/4,HC,10) 470 CALL SOUND(T/4,F,10) 480 CALL SOUND(T/4,C,10) 490 CALL SOUND(T/4,LA,10) 500 CALL SOUND(T/4,C,10) 510 CALL SOUND(T/4,LF,10) 520 CALL SOUND(T/4,C,10) 530 CALL SOUND(T/4,HF,9,HC,9,LA,9) 540 CALL SOUND(T/4,C,9) 550 CALL SOUND(T/4,HF,9,A,9,LF,9) 560 CALL SOUND(T/4,C,9) 570 CALL SOUND(T/4,HF,8,HC,8,LA,8) 580 CALL SOUND(T/4,C,8) 590 CALL SOUND(T/4,LF,8) 600 CALL SOUND(T/4,D,8) 610 CALL SOUND(T/4,HF,7,HD,7,LBF,7) 620 CALL SOUND(T/4,D,7) 630 CALL SOUND(T/4,HF,7,BF,7,LF,7) 640 CALL SOUND(T/4,D,7) 650 CALL SOUND(T/4,HF,6,HD,6,LBF,6) 660 CALL SOUND(T/4,D,6) 670 CALL SOUND(T/4,LG,6) 680 CALL SOUND(T/4,E,6) 690 CALL SOUND(T/4,HG,6,HE,6,LBF,6) 700 CALL SOUND(T/4,E,6) 710 CALL SOUND(T/4,HBF,6,HE,6,LG,6) 720 CALL SOUND(T/4,E,6) 730 CALL SOUND(T/4,HG,6,HE,6,LBF,6) 740 CALL SOUND(T/4,E,6) 750 CALL SOUND(T/4,HA,7,HF,7,F,7) 760 CALL SOUND(T/4,C,7) 770 CALL SOUND(T/4,LA,8) 780 CALL SOUND(T/4,C,8) 790 CALL SOUND(T/4,LF,9) 800 CALL S0UIID(T/4,LC,9) 810 CALL SOUND(T/4,LLA,10) 820 CALL SOUND(T/4,LC,10) 830 CALL SOUND(T/4,LF,10) 840 CALL SOUND(T/4,HA,10) 850 CALL SOUND(T/4,HF,10,LG,10) 860 CALL SOUND(T/4,HA,10) 870 CALL SOUND(T/4,HC,9,LLA,9) 800 CALL SOUND(T/4,HA,9) 890 CALL SOUND(T/4,HF,9,LBF,9) 900 CALL SOUND(T/4,HA,9) 910 CALL SOUND(T/4,HC,8,LC,8) 920 CALL SOUND(T/4,HG,8) 930 CALL SOUND(T/4,HF,8,LD,8) 940 CALL SOUND(T/4,HG,8) 950 CALL SOUND(T/4,HC,7,LE,7) 960 CALL SOUND(T/4,HG,7) 970 CALL SOUND(T/4,HE,7,LC,7) 980 CALL SOUND(T/4,HG,7) 990 CALL SOUND(T/4,A,6,LD,6) 1000 CALL SOUND(T/4,HF,6) 1010 CALL SOUND(T/4,HE,6,LE,6) 1020 CALL SOUND(T/4,HF,6) 1030 CALL SOUND(T/4,A,6,LF,6) 1040 CALL SOUND(T/4,HF,6) 1050 CALL SOUND(T/4,HD,6,LG,6) 1060 CALL SOUND(T/4,HF,6) 1070 CALL SOUND(T/4,A,6,LA,6) 1080 CALL SOUND(T/4,HE,6) 1090 CALL SOUND(T/4,HD,6,LBF,6) 1100 CALL SOUND(T/4,HE,6) 1110 CALL SOUND(T/4,A,6,C,6) 1120 CALL SOUND(T/4,HE,6) 1130 CALL SOUND(T/4,HC,6,LA,6) 1140 CALL SOUND(T/4,HE,6) 1150 CALL SOUND(T/4,F,6,LBF,6) 1160 CALL SOUND(T/4,HD,6) 1170 CALL SOUND(T/4,HC,6,LA,6) 1180 CALL SOUND(T/4,HD,6) 1190 CALL SOUND(T/4,G,6,LG,6) 1200 CALL SOUND(T/4,HD,6) 1210 CALL SOUND(T/4,BF,6,LF,6) 1220 CALL SOUND(T/4,HD,6) 1230 CALL SOUND(T/4,G,6,LE,6) 1240 CALL SOUND(T/4,HC,6) 1250 CALL SOUND(T/4,BF,6,LC,6) 1260 CALL SOUND(T/4,HC,6) 1270 CALL SOUND(T/4,F,6,LF,6) 1280 CALL SOUND(T/4,HC,6) 1290 CALL SOUND(T/4,A,6,LE,6) 1300 CALL SOUND(T/4,HC,6) 1310 CALL SOUND(T/4,F,6,LD,6) 1320 CALL SOUND(T/4,BF,6) 1330 CALL SOUND(T/4,A,6,LG,6) 1340 CALL SOUND(T/4,BF,6) 1350 CALL SOUND(T/4,C,6,LE,6) 1360 CALL SOUND(T/4,BF,6) 1370 CALL SOUND(T/4,G,6,LC,6) 1380 CALL SOUND(T/4,BF,6) 1390 CALL SOUND(T/4,C,6,LF,6) 1400 CALL SOUND(T/4,A,6,LC,6) 1410 CALL SOUND(T/4,F,6,LLA,6) 1420 CALL SOUND(T/4,A,6,LC,6) 1430 CALL SOUND(T/4,C,6,LF,6) 1440 CALL SOUND(T/4,A,6,LLA,6) 1450 CALL SOUND(T/4,F,6,LC,6) 1460 CALL SOUND(T/4,A,6,LF,6) 1470 CALL SOUND(T/4,D,6,LLBF,6) 1480 CALL SOUND(T/4,A,6) 1490 CALL SOUND(T/4,F,6,LBF,6) 1500 CALL SOUND(T/4,A,6) 1510 CALL SOUND(T/4,D,6) 1520 CALL SOUND(T/4,F,6) 1530 CALL SOUND(T/4,A,6,LA,6) 1540 CALL SOUND(T/4,HC,6) 1550 CALL SOUND(T/4,D,10,LG,10) 1560 CALL SOUND(T/4,BF,10,LD,10) 1570 CALL SOUND(T/4,G,9,LLBF,9) 1580 CALL SOUND(T/4,BF,9,LD,9) 1590 CALL SOUND(T/4,D,8,LG,8) 1600 CALL SOUND(T/4,BF,7,LLBF,7) 1610 CALL SOUND(T/4,G,6,LD,6) 1620 CALL SOUND(T/4,BF,6,LG,6) 1630 CALL SOUND(T/4,E,5,LC,5) 1640 CALL SOUND(T/4,BF,5) 1650 CALL SOUND(T/4,G,6,C,6) 1660 CALL SOUND(T/4,BF,6) 1670 CALL SOUND(T/4,E,7) 1680 CALL SOUND(T/4,G,7) 1690 CALL SOUND(T/4,BF,7,LBF,7) 1700 CALL SOUND(T/4,HD,7) 1710 CALL SOUND(T/4,F,7,LA,7) 1720 CALL SOUND(T/4,HC,7) 1730 CALL SOUND(T/4,A,7,LC,7) 1740 CALL SOUND(T/4,HC,7) 1750 CALL SOUND(T/4,HF,7,LA,7) 1760 CALL SOUND(T/4,HC,7) 1770 CALL SOUND(T/4,A,7,LC,7) 1780 CALL SOUND(T/4,F,7) 1790 CALL SOUND(T/4,LG,10) 1800 CALL SOUND(T/4,BF,10) 1810 CALL SOUND(T/4,G,10,LC,10) 1820 CALL SOUND(T/4,BF,10) 1830 CALL SOUND(T/4,HE,10,LG,10) 1840 CALL SOUND(T/4,BF,10) 1850 CALL SOUND(T/4,G,10,LC,10) 1860 CALL SOUND(T/4,E,10) 1870 CALL SOUND(T/4,LF,10) 1880 CALL SOUND(T/4,A,10) 1890 CALL SOUND(T/4,F,10,LC,10) 1900 CALL SOUND(T/4,A,10) 1910 CALL SOUND(T/4,HD,10,LF,10) 1920 CALL SOUND(T/4,A,10) 1930 CALL SOUND(T/4,F,10,LC,10) 1940 CALL SOUND(T/4,D,10) 1950 CALL SOUND(T/4,LE,10) 1960 CALL SOUND(T/4,G,10) 1970 CALL SOUND(T/4,E,10,LC,10) 1980 CALL SOUND(T/4,G,10) 1990 CALL SOUND(T/4,HC,10,LE,10) 2000 CALL SOUND(T/4,G,10) 2010 CALL SOUND(T/4,E,10,LC,10) 2020 CALL SOUND(T/4,C,10) 2030 CALL SOUND(T/4,LD,10) 2040 CALL SOUND(T/4,F,10) 2050 CALL SOUND(T/4,D,10,LC,10) 2060 CALL SOUND(T/4,F,10) 2070 CALL SOUND(T/4,G,10,LLBF,10) 2080 CALL SOUND(T/4,A,10) 2090 CALL SOUND(T/4,BF,10,LG,10) 2100 CALL SOUND(T/4,D,10) 2110 CALL SOUND(T/4,G,10,LE,10) 2120 CALL SOUND(T/4,A,10) 2130 CALL SOUND(T/4,BF,10,LC,10) 2140 CALL SOUND(T/4,E,10) 2150 CALL SOUND(T/4,F,10,LA,10) 2160 CALL SOUND(T/4,G,10) 2170 CALL SOUND(T/4,A,10,LF,10) 2180 CALL SOUND(T/4,C,10) 2190 CALL SOUND(T/4,D,9,LBF,9) 2200 CALL SOUND(T/4,F,9) 2210 CALL SOUND(T/4,A,8) 2220 CALL SOUND(T/4,HC,8) 2230 CALL SOUND(T/4,BF,7) 2240 CALL SOUND(T/4,A,7) 2250 CALL SOUND(T/4,G,6) 2260 CALL SOUND(T/4,BF,6) 2270 CALL SOUND(T/4,HD,5) 2280 CALL SOUND(T/4,HF,5) 2290 CALL SOUND(T/4,HE,4) 2300 CALL SOUND(T/4,HD,4) 2310 CALL SOUND(T/4,HC,3) 2320 CALL SOUND(T/4,HE,3) 2330 CALL SOUND(T/4,HG,2) 2340 CALL SOUND(T/4,HBF,2) 2350 CALL SOUND(T,HBF,0,HG,0,LE,0) 2360 CALL SOUND(T/2,HBF,30) 2370 CALL SOUND(T/2,HA,0,HF,0,LF,0) 2380 CALL SOUND(T/4,BF,0,LD,0) 2390 CALL SOUND(T/4,HG,0,HE,0) 2400 CALL SOUND(T/4,A,0,LLBF,0) 2410 CALL SOUND(T/4,HF,0,HD,0) 2420 CALL SOUND(T/4,G,0,LC,0) 2430 CALL SOUND(T/4,HF,0,HC,0) 2440 CALL SOUND(T/4,G,0,LC,0) 2450 CALL SOUND(T/4,HE,0,BF,0) 2460 CALL SOUND(T*2,HF,0,HC,0,LF,0) 2470 FOR X=1 TO 500 2480 NEXT X 2490 CALL CLEAR 2500 PRINT "PLAY IT AGAIN?" 2510 PRINT 2520 PRINT "ENTER Y OR N:" 2530 CALL KEY(3,REPLY,STATUS) 2540 IF STATUS=0 THEN 2530 2550 IF REPLY=89 THEN 140 2560 IF REPLY<>78 THEN 2500 2570 END
  7. I am just playing around, if you find it OK. Your free to use If you have a wish, I can see if I can make it happen... Logo wise ? hehehe
  8. FIX - 590 HOLD$=SEG$(BYTE$,L3,1) (There was a 0 in H0LD$) But new bug... Bad value 740...
  9. Program 7-4. Banzai Bunny It will not show score... Why? Program 7-4. Banzai Bunny 100 CALL CLEAR :: RANDOMIZE 110 CALL CHAR(40,"FFFFFFFFFFFFFFFF") 120 CALL CHAR(96,"000000030709030303030301000000000000000040C0808080C0C0C000000000") 130 CALL CHAR(100,"000000000000070F0F0E000000000000000000002010D8F8E030000000000000") 140 CALL CHAR(104,"0000000004081B1F070C000000000000000000000000E0F0F070000000000000") 150 CALL CHAR(108,"000000030709030303030301000000000000404040808080808080C040400000") 160 CALL CHAR(112,"000000000000070F0F38000000000000000000002010D8F8E01C000000000000") 170 CALL CHAR(116,"0000000004081B1F073C000000000000000000000000E0F0F01C000000000000") 180 CALL CHAR(120,"00000000000102043F7FFFFF381000000000000000F04844FEFFFFFF1C080000") 190 CALL CHAR(124,"00000000000F12227FFFFFFF381000000000000000804020FCFEFFFF1C080000") 200 CALL CHAR(128,"0000070F3F3F7FFFFF7F3F3F0F0700000000E0F0FCFCFEFFFFFEFCFCF0E00000") 210 CALL CHAR (132,"FFFFFFFFFFFFFFFF"):: CALL CHAR(136,"000000000000000F") 220 CALL CHAR(140,"80C06070303008060303030607181800010203071C30708080C0607030100100") 230 CALL COLOR(2,5,1,13,4,1,14,2,1) 240 DISPLAY AT(4,1): "NUMBER OF PLAYERS? _" 250 ACCEPT AT(4,20)VALIDATE(NUMERIC)SIZE(-1)BEEP:NP 260 CALL CLEAR 270 CALL HCHAR(23,1,132,32):: CALL HCHAR(24,1,132,32) 280 CALL HCHAR(10,1,132,32):: CALL HCHAR(9,1,132,32) 290 CALL HCHAR(1,1,132,32):: CALL HCHAR(2,1,132,32) 300 FOR L=12 TO 21 STEP 2 310 CALL HCHAR(L,1,136,32) 320 NEXT L 330 FOR L=3 TO 8 340 CALL HCHAR(L,1,40,32) 350 NEXT L 360 CALL MAGNIFY(3) 370 CALL SPRITE(#2,124,2,160,70,0,9,#3,124,9,160,150,0,9,#4,124,14,160,230,0,9) 380 CALL SPRITE(#5,124,15,144,10,0,12,#6,124,5,144,100,0,12,#24,124,13,144,190,0,12) 390 CALL SPRITE(#7,124,2,128,70,0,10,#8,124,9,128,150,0,10,#9,124,11,128,230,0,10) 400 CALL SPRITE(#10,120,9,112,70,0,-10,#11,120,14,112,150,0,-10,#12,120,16,112,230,0,-10) 410 CALL SPRITE(#13,120,11,96,10,0,-12,#14,120,5,96,100,0,-12,#25,120,14,96,190,0,-12) 420 CALL SPRITE(#15,120,2,80,70,0,-9,#16,120,10,60,150,0,-9,#17,120,15,80,230,0,-9):: GOTO 460 430 CALL SPRITE(#19,128,2,48,10,0,4) 440 CALL SPRITE(#21,128,2,32,10,0,-3) 450 CALL SPRITE(#22,128,2,16,10,0,5):: RETURN 460 FOR PL=1 TO NP 470 BUNNY=5 :: FOR D=1 TO 5 :: CALL SOUND(300,500,0):: CALL SOUND(300,300,0):: NEXT D 480 DISPLAY AT(24,1):USING "###### #":"PLAYER",PL; :: DISPLAY AT(24,20):USING "####### #":"BUNNIES",BUNNY 490 DISPLAY AT(1,10):"SCORE: "; 500 GOSUB 530 510 NEXT PL 520 GOTO 890 530 GOSUB 430 :: CALL SPRITE(#18, 96,16,176,125):: R=176 :: C=125 540 CALL KEY(3,K,S) 550 IF R<64 THEN 610 560 CALL COINC(ALL,CO) :: IF CO<>0 THEN 780 570 IF K=69 THEN GOSUB 640 :: IF R<64 THEN 700 ELSE 540 580 IF K=83 THEN GOSUB 660 :: GOTO 540 590 IF K=68 THEN GOSUB 680 :: GOTO 540 600 GOTO 540 610 CALL COINC(ALL,CO):: IF CO=0 THEN 780 ELSE 570 620 CALL SOUND(70,500,5,-6,0):: CALL SOUND(30,300,5,-4,0):: RETURN 630 RETURN 640 CALL PATTERN(#18,108) :: R=R-16 :: SW=1 :: IF R<1 THEN R=1 650 CALL LOCATE(#18,R,C) :: CALL PATTERN(#18,96) :: GOSUB 620 :: RETURN 660 CALL PATTERN(#18,116) :: C=C-16 :: SW=1 :: IF C<1 THEN C=1 670 CALL LOCATE(#18,R,C) :: CALL PATTERN(#18,104) :: GOSUB 620 :: RETURN 680 CALL PATTERN(#18,112) :: C=C+16 :: SW=1 :: IF C>240 THEN C=240 690 CALL LOCATE(#18,R,C) :: CALL PATTERN(#18,100) :: GOSUB 620 :: RETURN 700 CALL KEY(3,K,S) 710 IF S<>0 THEN IF K=69 THEN GOSUB 640 ELSE IF K=83 THEN GOSUB 660 ELSE IF K=68 THEN GOSUB 680 720 CALL POSITION(#18,R,C) :: IF R=1 THEN CALL MOTION(#18,0,0) :: GOTO 850 730 IF C<7 OR C>236 THEN 780 740 IF R<=48 AND R>32 THEN CALL MOTION(#18,0,4) ELSE IF R<=32 AND R>16 THEN CALL MOTION(#18,0, -3) ELSE CALL MOTION(#18,0,5) 750 IF SW=1 THEN CALL COINC(ALL,CO) :: IF CO=0 THEN 780 ELSE SW=0 770 GOTO 700 780 CALL SOUND(300,3500,0,5000,5) :: CALL SOUND(-200,200,5,-6,0) 790 CALL PATTERN(#18,140) :: CALL COLOR(#18,11) 800 FOR D=1 TO 25 :: NEXT D 810 CALL DELSPRITE(#18) 820 BUNNY=BUNNY-1 :: IF BUNNY<1 THEN 630 830 DISPLAY AT(24,27):USING "##":BUNNY 840 GOTO 530 850 CALL SOUND(1500,400,5,1000,0) :: FOR D=1 TO 500 :: NEXT D 860 SC(PL)=SC(PL)+15 870 DISPLAY AT(1,17):USING "###":SC(PL); 880 GOTO 530 890 CALL DELSPRITE(ALL) :: CALL CLEAR 900 DISPLAY AT(2,7):"** SCORE **" 910 FOR L=1 TO NP 920 DISPLAY AT(4+L*2,4):USING "###### # # ##": "PLAYER",L,SC(L) 930 NEXT L 940 GOTO 940
  10. 1 Clean Logo 2 Logo and "anim" 3 Logo, name and "anim" 4 Full logo 5 TI color Full logo Just having fun!
  11. lol... I don't know... I don't know ANYthing about the MAME. But sure, MAME with the TI, first. But In general I would like to know anything about it and see if this is something I want to try. Understand that this might go on my Raspberry Pi too. So Yes to all, but MAME and TI first.
  12. Picture looks great! So I guess that your using the backside and RCA in? 3 plugs? I am impressed with how nice it looks in the TV.
  13. https://www.retrorgb.com/ossc.html Hmmm, interesting Thx! Do you have a pic of the setup?
  14. Where can I read more about this? It is new to me. Is there a YouTube on this of how it works or someone using it? So what I am really asking for is a YouTube review of it.
  15. I am looking for different solutions to connect my TI to the TV. PAL and NTSC solutions. Also if you have a solution, give us your review of your solution/s. I tried the "Italian solution" (Soldering two new cables out of the box) with RCA plug and it did not really change the picture. I see that there is some RCA options. But I want to make the TI more easy to connect to HDMI. Then I can take with me, my TI and show it off to other people. The TI, power, joystick and a HDMI cable and I am ready for the Parsec party/Alpiner party. So if you have a solution show it? Pic? Also... I see that the Grand Wizards are making PCB cards of different types... What about making a converter to put into the TI? like a new plug that is HDMI out with a switch that is put beside the native audio/videos out. Or maybe there is a solution that I have not seen yet?
  16. Holt's on line 600... How Graph Works Line(s) 100 DIMension arrays. 110-120 Clear the screen and display message. 130-140 Set up character patterns. BL$ is used to blank out the characters used by the program. A$, B$, C$, and D$ are used to insert the X and Y axes in the display area. 150 Load four-digit bit strings into BITS$. 160-170 Blank out the ASCII characters used in the display area. 180-230 Insert the X and Y axis lines in the display area. 240 Display the X and Y axis values. 250-320 Load the A array with the ASCII character codes in the display area. This is used later to determine which ASCII character code to change. 330 Erase STAND BY message. 340-380 Display the 64 characters on the screen 8 characters at a time. This builds the 8 x 8 display area. 390-400 Initiate the routine to plot the points for the positive values of X. 410-420 Initiate the routine to plot the points for the negative values of X. 430-450 End of program. 460 This is the equation which controls where the points are plotted on the graph. Figure 2-9 shows possible alternatives. 470-490 Determine the actual location of the point in the 64 x 64 pbcel matrix. The program plots both positive and negative values, but negatives in the actual matrix aren't possible, hence the +32. 500-520 Determine the location of the pixel in the 8 x 8 character matrix. This must be done since the pixel cannot be accessed directly. 530 Get the hex pattern of the character that contains the pixel. The A array contains the ASCII codes of the characters used. The pattern is placed in W$. 540-560 Determine which byte in the pattern contains the pixel. 570-620 Convert the one-byte hex pattern which contains the pixel into an eight-digit bit pattern (for example, 00100110). 630-660 CI contains the column position of the pixel within the 8x8 character grid. If the bit in this position is not on, it is turned on. If it is on, it stays as is. 670-690 Convert the bit pattern, with the updated pixel, back into a hex pattern. 700-730 Combine the new one-byte hex pattern with the other seven bytes in the pattern. 740 Change the pattern of the ASCII character code which effectively plots the point on the screen. 750 Return from plot subroutine. 760-770 Hex pattern binary equivalents. Program 2-7. Graph 100 DIM A(8,8),BITS$(15) 110 CALL CLEAR 120 DISPLAY AT(4,6):"PLEASE STAND BY" 130 BL$="0000000000000000" :: HEX$="01234567O9ABCDEF" 140 A$="0101010101010101" :: B$="8080808080808080" :: C$="00000000000000FF" :: D$= "FF0000000000000000" 150 FOR L=0 TO 15 :: READ BITS$(L) :: NEXT L 160 FOR L=33 TO 44 :: CALL CHAR(L,BL$) :: NEXT L 170 FOR L=91 TO 143 :: CALL CHAR(L,BL$) :: NEXT L 180 CALL CHAR(36,A$,44,A$,98,A$,122,A$,130,A$,138,A$) 190 CALL CHAR(37,B$,91,B$,99,B$,123,B$,131,B$,139,B$) 200 CALL CHAR(103,C$,104,C$,105,C$,108,C$,109,C$,110,C$) 210 CALL CHAR(111,D$,112,D$,113,D$,116,D$,117,D$,118,D$) 220 CALL CHAR(106,"01010101010101FF") :: CALL CHAR(107,"80808080808080FF") 230 CALL CHAR(114,"FF01010101010101") :: CALL CHAR(115,"FF80808080808080") 240 DISPLAY AT(6,13):"32" :: DISPLAY AT(11,19 ):"32" :: DISPLAY AT(11,7):"-32"; :: DISPLAY AT(17,12):"-32" 250 X=33 260 FOR L=1 TO 8 270 FOR L2=1 TO 8 280 IF X=45 THEN X=91 290 A(L,L2)=X 300 X=X+1 310 NEXT L2 320 NEXT L 330 DISPLAY AT(4,1):" " 340 FOR L=1 TO 8 350 L$="" 360 FOR X=1 TO 8 :: L$=L$&CHR$(A(L,X)) :: NEXT X 370 DISPLAY AT(7+L,10):L$; 380 NEXT L 390 FOR X=0 TO 32 STEP .3 400 GOSUB 460 :: NEXT X 410 FOR X=0 TO -32 STEP -.3 420 GOSUB 460 :: NEXT X 430 DISPLAY AT(22,8):"PRESS ANY KEY" 440 CALL KEY(3,K,S):: IF S=0 THEN 440 450 CALL CLEAR :: STOP 460 Y=X 470 XX=INT(X+32) :: YY=INT(Y+32) 480 IF XX>64 OR XX<=0 THEN 750 490 IF YY>64 OR YY<=0 THEN 750 500 R=64-YY+1 510 CC=INT((XX-1)/8)+1 520 RR=INT((R-1)/8)+1 530 CALL CHARPAT(A(RR,CC),W$) 540 C1=XX-((CC-1)*8) 550 R1=INT((64-YY)-((RR-1)*8)+1) 560 BYTE$=SEG$(W$,R1*2-1,2) 570 EXPAND$="" 580 FOR L3=1 TO 2 590 H0LD$=SEG$(BYTE$,L3,1) 600 IF HOLD$>"9" THEN POINT=ASC(HOLD$)-55 ELSE POINT=VAL(HOLD$) 610 EXPAND$=EXPAND$&BITS$(POINT) 620 NEXT L3 630 NEWPAT$="" 640 FOR L2=1 TO 8 650 IF C1<>L2 THEN NEWPAT$=NEWPAT$&SEG$(EXPAND$,L2,1) ELSE NEWPAT$=NEWPAT$&"1" 660 NEXT L2 670 HIGH$=SEG$(HEX$,8*VAL(SEG$(NEWPAT$,1,1))+4*VAL(SEG$(NEWPAT$,2,1))+2*VAL(SEG$(NEWPAT$,3,1))+VAL(SEG$(NEWPAT$,4,1))+1,1) 680 LOW$=SEG$(HEX$,8*VAL(SEG$(NEWPAT$,5,1))+4*VAL(SEG$(NEWPAT$,6,1))+2*VAL(SEG$(NEWPAT$,7,1))+VAL(SEG$(NEWPAT$,8,1))+1,1) 690 BYTE$=HIGH$&LOW$ 700 NEWCHAR$="" 710 FOR L2=1 TO 16 720 IF L2<>R1*2-1 THEN NEWCHAR$=NEWCHAR$&SEG$(V7$,L2,1) ELSE NEWCHAR$=NEWCAR$&BYTE$ :: L2=L2+1 730 NEXT L2 740 CALL CHAR(A(RR,CC),NEWCHAR$) 750 RETURN 760 DATA "0000","0001","0010","0011","0100","0101","0110","0111","1000" 770 DATA "1001","1010","1011","1100","1101","1110","1111"
  17. Been thinking about something extra for my TI... Looks like I found it
  18. On the TIPI, you use the last 4 pins on the GPIO. I was wondering if everything could be simulated in the Raspberry Pi and then use a bigger cable IF needed. Like 32 k ram should be able to simulate in the Raspberry Pi and everything else.
  19. Thinking... Is it possible to use a Raspberry Pi and make a "connection cable" from the GPIO pins to the same place you connect the Speech synthesizer?
  20. Same book again... Think it is clean ("no bugs") Improvements... Make it slower and then faster and faster as leveling up. Some screen distortion, I think. And not so accurate (hitting and being hit) 7.3 Space Krieg (Ext. BASIC) This game is like so many games in space. You are in command of a spaceship (of course only with the joystick). An enemy spaceship that changes position from time to time will make your life difficult by shooting at you. Your goal should be to avoid getting hit and to hit the opponent often. That earns points. Collisions with the meteorite (monster) also caused by the Space buzzes and the opponent's spaceship is to be avoided, as this inevitably leads to the loss of your own ship. From 200 points the opponent's shape changes. If the meteorite hits 300 points or more, it becomes a monster. For a certain number of points you will receive a brand new spaceship as a .Bonus. 10 A=30 :: B=-20 20 CALL CLEAR 30 REM CHARACTER DEFINITION************* 40 S3$="01042000684402010102446800244000C0460084808CAEC6C0A6908194044010" 50 S4$="000000070F0F0F1F3F3F7F1F1D111000000040F0F0FCFCFEFEFFFFFCFCF07000" 60 S5$="0303070E0C0CFEFEFEFE0C0C0E070303F8F8F8787C7C3F1F1F3F7C7C78F8F8F8" 70 S6$="0000000000007FFFFF7F0000000000000000183870F0F6FEFEF6F07038180000" 80 S7$="07070F19313F3F7CF8C8C4E270301800E0E0F0988CFCFC3E1F1323470E0C1800" 90 S2$="0000FF00000000000000000000FF00000000E000000000000000000000E00000" 100 S1$="0007070F1F1FD1FBFBDB1F1F0F0707000000FC0080E07E7F7F7EE08000FC0000" 110 S8$="000000FF00000FFFFF0F0000FF0000001C3C7CFC7CFDEFCFCFEFFD7CFC7C3C1C" 120 S9$="000000000020518B9E2F43448B0C00000000000000048AD169F4C22211300000" 130 CALL CHAR(60,S3$) :: CALL CHAR(104,S8$) :: CALL CHAR(100,S4$) :: CALL CHAR(108,S5$) :: CALL CHAR(112,S6$) :: CALL CHAR(116,S7$) 140 CALL CHAR(120,S9$) 150 CALL CHAR(96,S2$) 160 CALL CHAR(92,S1$) 170 CALL SPRITE(#4,100,2,170,25,10,-25) 190 CALL COLOR(Z,11,1) 190 CALL MAGNIFY(3) 200 REM INTRODUCTION********** 210 CALL CLEAR :: CALL SCREEN(10) 220 DISPLAY AT(1,6):"*****************" :: DISPLAY AT(2,6):"*TI SPACE SATTLE*" :: DISPLAY AT(3,6):"*****************" 230 DISPLAY AT(4,7):"BY R.HEIGENMOSER" 240 DISPLAY AT(6,2):"SCORE:" 250 DISPLAY AT(8,2):"hj" :: DISPLAY AT(9,2):"ik 100 POINTS" 260 DISPLAY AT(11,2):"ln" :: DISPLAY AT(12,2):"mo 150 POINTS" 270 DISPLAY AT(14,2):"df" :: DISPLAY AT(15,2):"es 10 POINTS" 280 DISPLAY AT(17,2):"tv" :: DISPLAY AT(18,2):"uw 50 POINTS" 290 DISPLAY AT(20,2):"xz" :: DISPLAY AT(21,2):"y{ 100 POINTS" 300 DISPLAY AT(24,2):"PRESS BUTTON" :: CALL KEY(0,KEY,STA):: IF STA=0 THEN 300 310 CALL CHAR(92,S1$) 320 REM CREATE ENVIRONMENT************ 330 CALL SCREEN(6) :: CALL CLEAR :: DISPLAY AT(1,7):"SCORE:" :: DISPLAY AT(1,14):SCORE 340 FOR I=1 TO 30 :: DISPLAY AT(RND*24+1,RND*28+1)SIZE(1):"." :: NEXT I 350 HIGH=500 :: PA=104 :: PA1=96 :: CO1=11 :: CO2=15 :: SC1=100 :: SC2=10 360 CALL PATTERN(#4,100):: CALL COLOR(#4,2) 370 REM MAIN PROGRAM******** 380 DISPLAY AT(23,1):"\^\^\^\^" :: DISPLAY AT(24,1):"]_]_]_]_" :: FOR K=0 TO 3 390 DISPLAY AT(23,2*K+1)SIZE(2):" " :: DISPLAY AT(24,2*K+1)SIZE(2):" " 400 ZAE=0 :: A=-30+INT(RND*60):: B=-20+INT(RND*40):: CALL SPRITE(#1,92,16,70,30,0,0) 410 CALL SPRITE(#8,PA,CO1,1,230) 420 CALL JOYST(1,XPOS,YPOS) 430 CALL MOTION(#1,-YPOS*15,XPOS*10) 440 REM MOVEMENT ENEMY******** 450 CALL MOTION(#8,A,B) 460 REM SHOT INQUIRY********* 470 CALL KEY(1,TAS,STATUS):: IF TAS=18 THEN 480 ELSE 540 480 REM SHOT******** 490 CALL SOUND(150,-7,0) 500 CALL POSITION(#1,X,Y):: CALL SPRITE(#2,96,2,X,Y,0,127) 510 CALL POSITION(#2,X1,X2) 520 IF X2<200 THEN 530 ELSE CALL DELSPRITE(#2) :: GOTO 540 530 CALL COINC(#2,#8,25,CO):: CALL COINC(#2,#4,20,C24):: IF CO=0 AND C24=0 THEN 510 ELSE 770 540 CALL JOYST(1,XPOS,YPOS):: CALL MOTION(#1,-YPOS*15,XPOS*10) 550 REM MOVEMENT METEORITE******* 560 CALL MOTION(#4,-30+INT(RND*60),-20+INT(RND*40)) 570 REM COLLISION SCHIFF-GEGNER?************* 580 CALL COINC(#1,#8,20,C18):: IF C18=-1 THEN 730 590 REM COLL.SCHIFF-METE.?********* 600 CALL COINC(#1,#4,20,C14):: IF C14=-1 THEN 730 610 A=0 :: B=0 620 REM MOVING ENEMIES******** 630 IF ZAE=2 THEN A=-50+INT(RND*100) :: B=-40+INT(RND*80) :: ZAE=0 :: GOTO 420 640 CALL JOYST(1,XPOS,YPOS):: CALL MOTION(#1,-YPOS*15,XPOS*10) 650 IF INT(RND*2)=1 THEN 670 ELSE 420 660 REM SHOT ENEMY****** 670 CALL POSITION(#8,X8,Y8):: CALL SPRITE(#9,PA1,CO2,X8,Y8,0,-127) 680 CALL SOUND(150,-5,0) 690 CALL POSITION(#9,X9,Y9):: IF Y9>55 THEN 700 ELSE CALL DELSPRITE(#9):: ZAE=ZAE+1 :: GOTO 420 700 CALL COINC(#1,#9,25,CO):: IF CO=-1 THEN 730 710 CALL JOYST(1,XPOS,YPOS):: CALL MOTION(#1,-YPOS*15,XPOS*10):: GOTO 690 720 REM SHIP MEET************* 730 CALL DELSPRITE(#9):: CALL PATTERN(#1,60) :: IF C18=0 THEN 740 ELSE CALL PATTERN(#8,60) 740 CALL MOTION(#1,0,0):: CALL MOTION(#8,0,0) :: FOR I=0 TO 30 :: CALL SOUND(50,-6,I):: NEXT I 750 NEXT K :: GOTO 900 760 REM ENEMY MEET******* 770 CALL DELSPRITE(#2):: IF C24=-1 THEN 830 ELSE CALL PATTERN(#8,60) 780 CALL MOTION(#1,0,0):: CALL MOTION(#8,0,0) :: FOR I=0 TO 30 :: CALL SOUND(100,-7,I):: NEXT I :: SCORE=SCORE+SC1 790 IF SCORE>=HIGH THEN GOSUB 970 800 DISPLAY AT(1,14):SCORE :: IF SCORE<200 THEN PA=104 ELSE PA=108 :: PA1=112 :: CO1=10 :: CO2=7 :: SC1=150 810 GOTO 400 820 REM METEORITE MEET********* 830 CALL PATTERN(#4,60):: FOR I=0 TO 30 :: CALL SOUND(50,-3,I) :: NEXT I :: SCORE =SCORE+SC2 :: CALL PATTERN(#4,100) :: DISPLAY AT(1,14):SCORE 840 IF SCORE>=HIGH THEN GOSUB 970 850 IF SCORE>600 AND SC2=50 THEN CALL PATTERN(#4,120):: SC2=100 :: CALL COLOR(#4,120):: GOTO 420 860 IF SCORE>300 THEN CALL PATTERN(#4,116):: SC2=50 :: CALL COLOR(#4,8) 870 GOTO 420 880 GOTO 420 890 REM END******* 900 CALL CLEAR :: CALL SCREEN(11) 910 DISPLAY AT(10,8):"NOCHMAL J ODER N" 920 HSC=MAX(HSC,SCORE):: DISPLAY AT(15,6):"HIGHSCORE:";HSC :: SCORE=0 930 CALL KEY(0,KEY,STA):: IF STA=0 THEN 930 940 IF KEY=106 THEN 330 ELSE END 950 END 960 REM BONUS********* 970 DISPLAY AT(23,2*K+1)SIZE(2):"\^" DISPLAY AT(24,2*K+1)SIZE(2):"]_" :: K=K-1 :: HIGH=HIGH+2000 :: RETURN
  21. Same book as above... Game works (but the explanation is some what wanting), the Drummer is not all working, I will look into it (if not someone fix it before I get to it. More focused on trying to understand the game). Played the game, but not sure about the rules. Have won, but... luck I guess :p Nice layout and a cool game! PS! Google Translate from German! 7.4 Awari (Ext. BASIC) Awari is an ancient African game that is also called Kalaha is known. There are only a few sand pits and a handful of stones to play with necessary. But we have a computer. Here are the rules of the game for those who do not yet know Awari. The playing field: 6 5 4 3 2 1 3 3 3 3 3 3 Computer O O Player 3 3 3 3 3 3 1 2 3 4 5 6 The bottom 6 pits are yours, the top 6 are your opponent's (in this case the computer). In the right pit will be yours Points, in the left the opponent's are counted. In each of the pits, with the exception of the counting pits, there are 3 stones. A player starts by taking all stones from one of his pits and Distribute them counterclockwise to the following pits (in every 1 Stone). If his last stone hits his counting pit, then he is still allowed once. If the last stone hits an empty pit, then he may this and all of them Place stones opposite in his counting pit (the computer does it automatically). Under certain circumstances, of course, he also lays his stones into the pits of his opponent. The game is over when the pits on one side are empty. Then will the stones in the counting pits are counted and the player with the highest Number won. Play it once. Awari is demanding and fun. I wish you a full pit. If the program is too long for you, leave lines 40 - 200 and lines 220, 230 away. In these lines a drummer is defined running across the screen. Here is the Code... 10 CALL CLEAR 20 CALL SCREEN(4):: DISPLAY AT(8,8):"T I A W A R I" 30 DISPLAY AT(12,7):"By R Heisenmoser" 40 S1$="000000000000000000000000000000001C3E7A7F7A3C1E0C0C1E3F3F3F3F3F3F" 50 S2$="000000000001020C1C3870E0F030080400006060800000000000000000000000" 60 S3$="0000000000000000000101030F0F03013F3F3F3F7F7F77E3E3C1C180800080C0" 70 S4$="020101DEDEDE0080C0C0C0ECFC783020008080E0E0E000000000000000000000" 80 S5$="000000000000000000000000000000003F3F3F3F3F3F3B3B3371716161E1F1F1" 90 S6$="0000000000000000010F38FBFF0000000000000000000060E00000C0C0000000" 100 S7$="000000DEDEDE0080808080808080C0E0000000E0E0E000000000000000000000" 110 CALL CHAR(36,S1$) :: CALL CHAR(40,S2$) :: CALL CHAR(44,S3$) :: CALL CHAR(48,S4$) :: CALL CHAR(52,S5$) 120 CALL CHAR(56,S6$):: CALL CHAR(60,S7$) 130 DISPLAY AT(20,7):"PRESS BUTTON !" 140 CALL SPRITE(#1,36,5,140,1,0,5):: CALL SPRITE(#2,40,5,140,18,0,5) 150 CALL SPRITE(#3,44,5,156,3,0,S):: CALL SPRITE(#4,48,5,156,19,0,5) 160 CALL MAGNIFY(3) 170 CALL PATTERN(#2,56):: CALL PATTERN(#3,52):: CALL PATTERN(#4,60) 180 CALL SOUND(100,-7,10) 190 CALL PATTERN(#2,40):: CALL PATTERN(#3,44):: CALL PATTERN(#4,48) 200 FOR DELAY=1 TO 40 :: NEXT DELAY 210 CALL KEY(S,KE,STA):: IF STA=0 THEN 170 220 CALL DELSPRITE(#1):: CALL DELSPRITE(#2)::CALL DELSPRITE(#3):: CALL DELSPRITE(#4) 230 CALL CHARSET 240 DIM S$(13) 250 CALL COLOR(9,7,16):: CALL COLOR(10,7,16)::CALL COLOR(11,7,16) 260 CALL SCREEN(16) 270 S$(1)="kgggggggggggggggggggggggggl" :: S$(2)="ggggocchcchcchcchcchcc`gggg" 280 S$(3)="ggggf j j j j j dgggg" :: S$(4)="ggggaeeieeieeieeieeieebgggg" 290 S$(5)="gggggg6gg5gg4gg3gg2gg1ggggg" :: S$(6)="occc`gggggggggggggggggoccc`" 300 S$(7)="f dggggTIggAWARIggggf d" :: S$(8)="aeeebgggggggggggggggggaeeeb" 310 S$(13)="mgggggggggggggggggggggggggn" 320 S$(9)="gggggg1gg2gg3gg4gg5gg6ggggg" 330 S$(10)=S$(2) :: S$(11)=S$(3) :: S$(12)=S$(4) 340 CALL CLEAR 350 CALL CHAR(107,"071F3F7F7FFFFFFF") :: CALL CHAR(108,"E0F8FCFEFEFFFFFF") :: CALL CHAR(109,"FFFFFF7F7F3F1F07") 360 CALL CHAR(110,"FFFFFFFEFEFCF8E0") :: CALL CHAR(111,"FFFFFEFCF8F8F8F8") :: CALL CHAR(96,"FFFF7F3F1F1F1F1F") 370 CALL CHAR(97,"F8F8F8F8FCFEFFFF") :: CALL CHAR(98,"1F1F1F1F3F7FFFFF") :: CALL CHAR(99,"FFFF") 375 CALL CHAR(100,"1F1F1F1F1F1F1F1F") 380 CALL CHAR(101,"000000000000FFFF") :: CALL CHAR(102,"F8F8F8F8F8F8F8F8") :: CALL CHAR(103,"FFFFFFFFFFFFFFFF") 390 CALL CHAR(104,"FFFF7E3C18181818") :: CALL CHAR(105,"181818183C7EFFFF") :: CALL CHAR(106,"1818181818181818") 400 FOR I=1 TO 13 :: DISPLAY AT(5+I,1):S$(I)::NEXT I 410 DISPLAY AT(1,6):"COMPUTER" :: DISPLAY AT(1,20):"YOU" 420 DATA 0 430 DIM B(13),G(13),F(50) :: READ N :: COM=0 ::DU=0 440 E=0 :: DISPLAY AT(3,8):COM :: DISPLAY AT(3,19):DU 450 FOR I=0 TO 12 :: B(I)=3 :: NEXT I 460 C=0 :: F(N)=0 :: B(13)=0 :: B(6)=0 470 GOSUB 750 480 IF Z1=1 THEN Z1=0 :: GOTO 530 490 DISPLAY AT(21,1):"YOUR TRAIN" :: GOSUB 620 500 IF E=0 THEN 570 510 IF M=H THEN GOSUB 610 520 IF E=0 THEN 570 530 DISPLAY AT(23,1):"MY TRAIN IS" :: SS=15 :: GOSUB 920 540 IF E=0 THEN 570 550 IF M=H THEN DISPLAY AT(23,16):"," :: SS=17:: GOSUB 920 560 IF E>0 THEN 470 570 DISPLAY AT(21,1)SIZE(80)BEEP:"GAME IS OVER" 580 D=B(6)-B(13) :: IF D<0 THEN DISPLAY AT(23,1):"I WIN WITH";-D;"POINTS" :: COM=COM-D :: GOTO 1110 590 N=N+1 :: IF D=0 THEN DISPLAY AT(23,1):"DRAW" :: GOTO 1110 600 DISPLAY AT(23,1):"YOU WIN WITH";D;"POINTS" :: DU=DU+D :: GOTO 1110 610 DISPLAY AT(21,1):"ONCE AGAIN" 620 ACCEPT AT(21,15)VALIDATE(DIGIT)BEEP SIZE(10):M::IF M<7 THEN IF M>0 THEN M=M-1::CALL HCHAR(24,1,32,20)::GOTO 640 630 DISPLAY AT(24,1):"FORBIDDEN TRAIN" :: GOTO 610 640 IF B(M)=0 THEN 630 650 H=6 :: GOSUB 670 660 GOTO 750 670 K=M :: GOSUB 860 680 E=0 :: IF K>6 THEN K=K-7 690 C=C+1 :: IF C<9 THEN F(N)=F(N)*6+K 700 FOR I=0 TO 5 :: IF B(I)<>0 THEN 730 710 NEXT I 720 RETURN 730 FOR I=7 TO 12 :: IF B(I)<>0 THEN E=1 :: RETURN 740 NEXT I :: RETURN 750 REM 760 CALL COLOR(3,13,16,4,13,16) 770 Z=8 :: DIS=3 :: FOR I=12 TO 7 STEP -1 :: GOSUB 840 780 NEXT I 790 DISPLAY AT(12,24)SIZE(3):B(6) 800 DISPLAY AT(12,2)SIZE(3):B(13) 810 Z=16 :: DIS=3 :: FOR I=0 TO 5 :: GOSUB 840 820 NEXT I 830 RETURN 840 REM 850 DISPLAY AT(Z,3+DIS)SIZE(2):B(I):: DIS=DIS+3 :: RETURN 860 P=B(M):: B(M)=0 870 FOR P=P TO 1 STEP -1 :: M=M+1 :: IF M>13 THEN M=M-14 880 B(M)=B(M)+1 :: NEXT P 890 IF B(M)=1 THEN IF M<>6 THEN IF M<>13 THEN IF B(12-M)<>0 THEN 910 900 RETURN 910 B(H)=B(H)+B(12-M)+1 :: B(M)=0 :: B(12-M)=0 :: RETURN 920 D=-99 :: H=13 930 FOR I=0 TO 13 :: G(I)=B(I):: NEXT I 940 FOR J=7 TO 12 :: IF B(J)=0 THEN 1080 950 GG=0 :: M=J :: GOSUB 860 960 FOR I=0 TO 5 :: IF B(I)=0 THEN 1010 970 L=B(I)+I :: R=0 980 IF L>13 THEN L=L-14 :: R=1 :: GOTO 980 990 IF B(L)=0 THEN IF L<>16 THEN IF L<>13 THEN R=B(12-L)+R 1000 IF R>Q THEN Q=R 1010 NEXT I 1020 Q=B(13)-B(6)-Q :: IF C>8 THEN 1060 1030 K=J :: IF K>6 THEN K=K-7 1040 FOR I=0 TO N-1 :: IF F(N)*6+K=INT(F(I)/6^(7-C)+.1) THEN Q=Q-2 1050 NEXT I 1060 FOR I=0 TO 13 :: B(I)=G(I):: NEXT I 1070 IF Q>=D THEN A=J :: D=Q 1080 NEXT J 1090 M=A :: DISPLAY AT(23,SS)SIZE(10)BEEP:CHR$(42+M):: GOTO 670 1100 FOR I=0 TO N-1 :: PRINT B(I):: NEXT I 1110 IF ZAEHLER=0 THEN ZAEHLER=1 ELSE ZAEHLER=0 1120 Z1=ZAEHLER 1130 CALL KEY(5,RET,STATUS):: IF STATUS<>0 THEN CALL HCHAR(21,1,32,120):: GOTO 440 1140 DISPLAY AT(24,1):"PRESS BUTTON !" :: GOTO 1130
×
×
  • Create New...