-
Posts
537 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Events
Store
Posts posted by oddemann
-
-
3 hours ago, jrhodes said:
I don't need A.I. to make me lazier... I have alcohol and the burden of life in general to do that for me
lol, I see that point... For me... the point of a computer IS the make it easier. To find ways to use the computer to do some stuff automatically. This is just a new level of how to use the computer.
AND... at the same time... I see how this could kill AND give time for more creativity.
Also the hole A.I. question is now a real thing.
The time of "I'll be back" is getting closer, or? lol -
8 minutes ago, pixelpedant said:
Now the question is, can it be convinced to write a TI BASIC game. Understanding that TI BASIC and TI-BASIC are unrelated dialects, and so it must attend to this distinction.
This is a start... And I guess that the more we poke it, the more it will learn and make perfect over time. Even if there is TI BASIC and TI-BASIC, it is interesting that we are at the point where we can almost have a computer make a computer program on request!
-
It dos not work, but impressive! Poking it more... could it make a cool game? Impressive even if it dos not work, guess some clean-up and it will work.
-
With spaceship...
Spoiler10 REM spaceship game 20 PRINT "Welcome to the spaceship game!" 30 PRINT "You are the pilot of a spaceship." 40 PRINT "You have to navigate through a asteroid field and reach the end of the game." 50 PRINT "Use the arrow keys to move your spaceship left, right, up, or down." 60 PRINT "Be careful, if you hit an asteroid, you lose." 70 PRINT "Good luck!" 80 GOTO 100 100 REM initialize variables 110 POSITIONX = 20 120 POSITIONY = 20 130 ASTEROIDX = INT(RND(1)*40) + 1 140 ASTEROIDY = INT(RND(1)*40) + 1 150 SCORE = 0 200 REM draw spaceship and asteroid 210 GRAPHICS 1 220 SETCOLOR 2,1,1 230 PLOT POSITIONX, POSITIONY 240 SETCOLOR 3,1,1 250 PLOT ASTEROIDX, ASTEROIDY 260 SETCOLOR 0,0,0 270 DRAWTO POSITIONX+1, POSITIONY 280 DRAWTO POSITIONX, POSITIONY+1 290 DRAWTO POSITIONX-1, POSITIONY 300 DRAWTO POSITIONX, POSITIONY-1 310 DRAWTO POSITIONX+1, POSITIONY 400 REM get user input 410 GETKEY k 420 IF k = "up" THEN POSITIONY = POSITIONY-1 430 IF k = "down" THEN POSITIONY = POSITIONY+1 440 IF k = "left" THEN POSITIONX = POSITIONX-1 450 IF k = "right" THEN POSITIONX = POSITIONX+1 500 REM check for collision 510 IF POSITIONX = ASTEROIDX AND POSITIONY = ASTEROIDY THEN GOTO 900 600 REM update score 610 SCORE = SCORE + 1 620 PRINT "Score: "; SCORE 630 GOTO 200 900 REM game over 910 PRINT "Game over! You hit an asteroid." 920 PRINT "Your final score is: "; SCORE 930 END
-
I got Chat GPT to make me a Basic game!
10 RANDOMIZE20 NUMBER = INT(RND(1)*10) + 1
30 PRINT "I'm thinking of a number between 1 and 10."
40 INPUT "What is your guess? ", GUESS
50 IF GUESS = NUMBER THEN GOTO 90
60 PRINT "Sorry, that's not the number I was thinking of."
70 PRINT "Try again!"
80 GOTO 40
90 PRINT "Congratulations! You guessed the number!"
100 END
- 3
-
2 hours ago, Ksarul said:
Actually, today is the day that this particular problem seems to have finally resolved itself. There will be no OGL 1.2 and OGL 1.0a will continue to be in force.
WOW, surprised like WOW... Did not think they would back down... Think they read about TI 99 😛 hehehe
- 1
-
-
This proves my point!
Everyone that did NOT need it, is a "Master of programming!"
The people that need this kinda help did not say a word. Only "Masters of programming!" said that THEY did not see the need for it! Clearly, the need pops up now and then AND will continue to do that. It is kinda a hint that there is a need for it and I think that EVEN "Masters of programming!" maybe can learn something or maybe not. But when the Master says no, "beginners" will shut up!
But beginners or people that have forgotten, will benefit from some kinda "just for programming" - like "Tips & Tricks for Optimizing Straight TI Extended BASIC Programs -
On 1/14/2023 at 1:41 PM, SteveB said:
Today seems to be TiCodEd advertising day ... sorry for that.
For sprites the TiCodEd Char Editor has some nice features, like copy & pasting definitions up to 2x2 definitions directly from and to the editor in the "Hex Definition" field at the buttom. You can also load a picture in the background as a model for your sprite. If there is no one comming up with a trick for Magellan, you may give it a try.
For backgrounds and maps, Megellan still rules and I have no intention to challange this.
For sizes 1xN or 2x2N an additional section for animations appears:
You can play the animation while editing to see the result immediately.
How do you get the animation to appear...
Set it to User - Row > Column (as many as the anim is) -
-
3 hours ago, Ksarul said:
Yeah, the possibilities here are really bad. Do note that the actual terms of the new license haven't been released yet, so the end result may be a lot better than the leaked data may indicate. Of course, it could also be worse. For now, I am waiting to see what the real terms will be in the finalized OGL document.
It is out!
-
Life repeats itself! And I kinda know how long "in a man's age"!
WotC/Hasbro are now doing the same as Texas Instrument did, back in the day (shoot them self in the foot). WotC/Hasbro is trying to get 100% control of D&D. The have/had a Open Gaming licence for 23 years and now... they want it ALL. You make something to D&D, they will own it.
Sad to see that people do not learn! This is what happens when "bean counters" are in control and they kick out the enthusiasts! -
Ready to pay up... Where is the link???
- 3
-
On 12/30/2022 at 7:13 PM, RXB said:
Who ever said fast as possible? Did anyone suggest a Super Computer worth millions of dollars?
Console only Basic is super slow and inefficient and everyone know this even you.
Any upgrade to it would be an improvement, even XB cart is faster overall, and RXB has faster assembly routines that are backwards compatible.
So now even a cartridge in the cart slot is just a step to far for you?
And you cannot run any other language on the TI without a 32K so that sure is not console alone.
Well LOGO maybe...
Is the Cassette a step to far too?
Or does each program have to be typed in by hand?
LOL - It is funny, you keep painting yourself into a corner with RXB! You have LEARNED to program efficiently a computer... But NOT learned to efficiently communicate with people! (Or understand?) LOL, but the world is as it is and all is good LOL
I was thinking the other day... "What Mr. RXB should do, is to do all the improvements on the NEW "EX Basic - vn 200" and IF he did that... optimizing the hell out of that "cart", then people would treat him like a GOD! Get all the possible speed out of the EX Basic that everyone IS using, THAT would change things. To bad he is so stuck on RXB! But... I guess it is just stupid trying to propose that idea to him. I will let it go! He has learned great programming skill, but forgot to learn to listen to what people want! What program would needed to be installed? (hehehehe)"
So... I guess it will continue as in 2022!
Happy new year to Mr RXB AND everyone else! May this AGAIN, be a great TI 99/4A year!
And I hope it will continue to be as it has been, some "WOW that's great!", some "I don't agree!" and much more fun with respect, agreement and disagreement... BUT always with respect!
PS! Thinking... Maybe even standard Basic could benefit from optimal programming under the hood. "Same" Basic, but with all the best routines to get out all the speed and forgotten options in BASIC 2023!- 1
-
I ave not tested and played that much yet. Only starting Classic99 (in Win10).
So... Are you talking emulator or real iron? -
I cant but wonder... is there other programming lango that can do it faster on the TI!
- 1
-
2 hours ago, Tursi said:
Oh, that's fascinating. Okay, thanks for reporting back!
Same here, one test... worked. Will test more another day.
-
I have only one thing that I struggle with, IF that was lifted I would be so happy... 16kb!!!
-
There are two lines that points to lines NOT in the listing...
1040 and 1050 points to 1430... and I think it is the "explosion" of the submarine. It is looking for if any part of the Submarine is hit. (Char 144 or 145)
Also a counter of hits.
This is "fixed", but some new problems... Will let my brain rest now 😛
Also got a new issue with line 1070, guess it has something to do with for-next loop. But... later...
Spoiler100 REM <--OPERATION SEA WOLF--> 110 REM <--BY MSOFT--> 120 REM <--(C) 1983 MSOFT--> 130 RESTORE 140 CALL CLEAR 150 CALL CHAR(128,"0082FEE0C0C0C000") 160 PRINT TAB(6);"OPERATION SEA WOLF"::TAB(7);"BY MARK HANKINS"::TAB(9);"FOR C & VG":::::::::: 170 FOR A=3 TO 32 STEP 2 180 CALL HCHAR(1,A,128) 190 CALL HCHAR(24,A,128) 200 NEXT A 210 CALL VCHAR(1,3,128,24) 220 CALL VCHAR(1,31,128,24) 230 FOR A=1 TO 6 240 READ NOT,DUR 250 CALL SOUND(DUR,NOT,2) 260 NEXT A 270 V$="PRESS ANY KEY TO BEGIN!" 280 RO=20 290 CO=5 300 GOSUB 1170 310 CALL KEY(0,K,S) 320 CALL KEY(1,K,S1) 330 IF (S=0)*(S1=0) THEN 310 340 CALL CLEAR 350 PRINT "WOULD YOU LIKE INSTRUCTIONS (Y/N)?" 360 CALL KEY(0,K,S) 370 IF K=89 THEN 1230 380 IF K=78 THEN 390 ELSE 360 390 PRINT "PLEASE ENTER YOUR SKILL LEVEL 0(EASY)-9(HARD)" 400 CALL KEY(0,K,S) 410 IF S=0 THEN 400 420 IF (K<48)+(K>57) THEN 400 430 NSHIP=(K-48)*6+16 440 REM DEFINE CHARACTERS 441 CALL CHAR(128,"FFFFFFFFFFFFFFFF") 450 CALL CHAR(136,"00030203FF7F3F1F") 460 CALL CHAR(137,"00B19E9CFEFEFEFE") 470 CALL CHAR(144,"000003031F3F1F00") 480 CALL CHAR(145,"00309090FBFCFB00") 490 CALL CHAR(146,"00007EFFFF7E0000") 491 CALL CHAR(147,"91482559A22A5584") 492 CALL CHAR(148,"0044092628080648") 493 CALL CHAR(149,"0004210028025000") 494 CALL CHAR(150,"0000100220080000") 500 CALL CHAR(152,"00") 510 REM SET UP SCREEN 520 CALL CLEAR 530 CALL SCREEN(5) 540 CALL COLOR(12,16,1) 541 CALL COLOR(13,15,1) 550 CALL COLOR(14,15,6) 560 CALL COLOR(15,12,1) 570 CALL COLOR(16,1,6) 580 CALL HCHAR(1,1,152,32*12) 581 CALL HCHAR(2,15,128) 582 CALL HCHAR(3,13,128,5) 583 CALL HCHAR(4,11,128,8) 584 CALL HCHAR(5,11,128,8) 585 CALL HCHAR(6,13,128,5) 590 CALL HCHAR(12,16,136) 600 CALL HCHAR(12,17,137) 610 V$="SCORE=: 0" 620 RO=1 630 CO=1 640 GOSUB 1170 650 REM SET UP GAME 660 SC=0 670 ROS=INT(8*RND)+13 680 PO=13 690 SH=0 700 Z=0 710 C=16 720 REM SUB MOVEMENT 730 FOR Q=31 TO 3 STEP-2 740 CALL KEY(3,K,S) 750 IF K=13 THEN 990 760 RA=C+(K=83)-(K=68) 770 IF (RA<3)+(RA>30) THEN 890 780 IF RA<>C THEN 840 790 CALL JOYST(1,DX,DY) 800 RA=C+DX/4 810 RA=INT(32*((RA-1)/32-INT((RA-1)/32)))+1 820 CALL KEY(1,K,S) 830 IF K=18 THEN 990 840 CALL HCHAR(12,C,152,2) 850 CALL HCHAR(12,RA,136) 860 CALL HCHAR(12,RA+1,137) 870 C=RA 880 IF Z=1 THEN 1010 890 CALL HCHAR(ROS,5,32,28) 900 CALL HCHAR(ROS,Q,144) 910 CALL HCHAR(ROS,Q+1,145) 920 CALL SOUND(150,-1,0) 930 NEXT Q 940 SH=SH+1 950 IF SH=NSHIP THEN 1330 960 ROS=INT(8*RND)+13 970 GOTO 730 980 REM FIRE 990 Y=C 1000 IF Z=1 THEN 760 1010 FOR A=PO TO PO+3 1020 CALL GCHAR(A,Y,GET) 1030 CALL HCHAR(A,Y,146) 1040 IF GET=144 THEN 1430 1050 IF GET=145 THEN 1430 1060 CALL HCHAR(A,Y,32) 1070 NEXT A 1080 CALL SOUND(150,-3,0) 1090 PO=PO+3 1100 IF PO>=22 THEN 1140 1110 Z=1 1120 IF Q<3 THEN 940 1130 GOTO 890 1140 Z=0 1150 PO=13 1160 GOTO 890 1170 FOR A=1 TO LEN(V$) 1180 CH=ASC(SEG$(V$,A,1)) 1190 CALL HCHAR(RO,CO+A,CH) 1200 NEXT A 1210 RETURN 1220 REM INSTRUCTIONS: 1230 CALL CLEAR 1240 PRINT "YOUR JOB IS TO STOP THE":"ENEMY SUBS FROM REACHING":"THE HARBOUR IN THE LEFT HAND":"CORNER.":: 1250 PRINT :::"NOTE::":" THE FIRE KEY IS THE ENTER":" KEY":"S & D MOVE THE SHIP"::: 1260 PRINT ::"IF USING THE JOYSTICKS USE":"JOYSTICK NO.:" 1270 PRINT "ANY KEY TO BEGIN":: 1280 CALL KEY(0,K,S) 1290 CALL KEY(1,K,S1) 1300 IF (S=0)*(S1=0) THEN 1280 1310 CALL CLEAR 1320 GOTO 390 1330 CALL CLEAR 1340 PRINT "YOU HIT":SC/100:"SHIPS":"OUT OF MAXIMUM OF":NSHIP:"YOU SCORED":SC:"POINTS" 1430 REM BANG 1431 REM NEED TO STOP THE SUBMARINE AFTER HIT! 1432 REM ADD EXPLOTION, AS NOW IT DOS NOT WORK 1433 REM GET A BETTER EXPLOTION SOUND 1434 REM 1440 FOR BANG= 147 to 150 1445 CALL SOUND(1000,110,2,-3,3,440,4) 1450 CALL HCHAR(A,Y,I) 1460 CALL HCHAR(A,Y-1,I) 1470 NEXT BANG 1480 SC=SC+100 1485 REM V$="SCORE=: 0" – ADD SCORE ON SCREEN??? 1490 GOTO 1060 1500 DATA 110,10,120,10,130,10,140,10,150,10,160,10
-
12 minutes ago, ti99iuc said:
The Sea Wolf from Virgin seems to me to be really different for the Operation Sea Wolf.
The game is different, but what I see is some of the same way of programming. But... I am not an expert. But I guess we all borrow smart programming everywhere.
-
I found SEAWOLF from Virgin... To me it looks like this is something of the same thing. I see that this i programmed smarter. BUT... I am not all that good, to me it looks like a copy of what I started with. I found some of the same stuff. But I think that SEAWOLF might be a better version.
What dos the experts say?
Spoiler80 GOSUB 5000 90 DIM TORP(3) 100 RANDOMIZE 105 CALL CLEAR 106 SH=0 107 DIVE=0 110 CALL CHAR(112,"0") 120 CALL SCREEN(2) 125 CALL CHAR(88,"0") 130 CALL CHAR(120,"0000000000003C3C") 140 CALL CHAR(121,"0000003C3C") 150 CALL CHAR(122,"3C3C") 152 CALL CHAR(123,"0000000000001818") 154 CALL CHAR(124,"0000001818") 156 CALL CHAR(125,"1818") 158 CALL CHAR(126,"0") 160 CALL CHAR(128,"0") 170 CALL CHAR(136,"183C183C183C183C") 180 CALL CHAR(137,"0000AAFFFFAA") 190 CALL CHAR(138,"183C99FFFF993C18") 200 CALL CHAR(144,"000032498431CA04") 210 CALL CHAR(152,"00000000FFFEFCF8") 220 CALL CHAR(153,"00000000FFFFFFFF") 230 CALL CHAR(154,"00041C3EFFFF7F7F") 240 CALL CHAR(155,"00000080E0FF5EFC") 250 CALL CHAR(156,"006363FFFFFF55FF") 260 CALL CHAR(157,"000000010FFFF57F") 270 CALL CHAR(158,"20303C3C3C3C3C3C") 280 CALL CHAR(96,"00203CFF7F") 290 CALL CHAR(104,"24995A3C995A3CFF") 300 GOTO 600 350 TORP(1)=20 360 TORP(2)=0 362 TORP(3)=0 365 DIVE=0 370 PR$="TOR" 380 Z=3 385 ZC=26 390 GOSUB 440 400 PR$="SUNK" 410 Z=6 420 GOSUB 440 422 PR$="SCORE" 424 Z=9 426 GOSUB 440 428 GOSUB 500 430 GOTO 710 440 FOR I=1 TO LEN(PR$) 450 CALL HCHAR(Z,ZC+I,ASC(SEG$(PR$,I,1))) 455 CALL SOUND(-100,-5,20) 460 NEXT I 470 RETURN 500 Z=4 505 FOR I=1 TO 3 510 PR$=" "&STR$(TORP(I)) 520 Q=LEN(PR$) 530 FOR J=1 TO Q 540 CALL HCHAR(Z,(28-Q)+J,ASC(SEG$(PR$,J,1))) 550 CALL SOUND(-100,-3,20) 560 NEXT J 570 Z=Z+3 580 NEXT I 590 RETURN 600 FOR I=3 TO 8 610 CALL COLOR(I,11,2) 620 NEXT I 621 CALL COLOR(8,6,6) 622 CALL COLOR(9,5,4) 625 CALL COLOR(10,7,11) 630 CALL COLOR(11,4,4) 640 CALL COLOR(12,6,5) 650 CALL COLOR(13,2,2) 660 CALL COLOR(14,2,4) 670 CALL COLOR(15,13,5) 675 CALL COLOR(16,2,6) 676 CALL COLOR(1,2,2) 680 CALL SCREEN(6) 690 CALL HCHAR(1,1,128,768) 700 GOTO 350 710 FOR I=15 TO 23 720 CALL HCHAR(I,8,112,9) 730 NEXT I 740 CALL HCHAR(19,8,137,9) 750 CALL VCHAR(15,12,136,9) 760 CALL HCHAR(19,12,138) 770 GOTO 4000 1000 REM dive 1010 FOR I=13 TO 4 STEP-1 1020 CALL HCHAR(I,4,128,17) 1030 FOR DELAY=1 TO 100 1040 NEXT DELAY 1050 NEXT I 1060 SH=0 1070 DIVE=0 1080 RETURN 1100 REM surface 1110 FOR I=4 TO 8 1120 CALL HCHAR(I,4,88,17) 1130 FOR DELAY=1 TO 100 1140 NEXT DELAY 1145 NEXT I 1150 FOR I=9 TO 13 1160 CALL HCHAR(I,4,144,17) 1170 FOR DELAY=1 TO 100 1180 NEXT DELAY 1190 NEXT I 1200 MOVE=1 1210 DIVE=1 1220 RETURN 1300 REM ship 1310 IF DIVE=1 THEN 1330 1315 SH=0 1320 RETURN 1330 A=INT(RND*10) 1340 IF A>7 THEN 1370 1350 SH=152 1360 GOTO 1380 1370 SH=155 1380 CALL HCHAR(8,4,SH) 1390 FOR DELAY=1 TO 50 1400 NEXT DELAY 1410 CALL HCHAR(8,5,SH) 1420 CALL HCHAR(8,4,SH+1) 1430 FOR DELAY=1 TO 50 1440 NEXT DELAY 1450 CALL HCHAR(8,6,SH) 1460 CALL HCHAR(8,5,SH+1) 1470 CALL HCHAR(8,4,SH+2) 1480 SC=6 1520 A=INT(RND*2)+1 1530 SC=SC+A 1535 IF SC>20 THEN 1600 1540 CALL HCHAR(8,SC,SH) 1550 CALL HCHAR(8,SC-1,SH+1) 1555 CALL HCHAR(8,SC-2,SH+2) 1560 CALL HCHAR(8,(SC-2)-A,88,A) 1570 RETURN 1600 CALL HCHAR(8,20,SH+1) 1610 CALL HCHAR(8,19,SH+2) 1620 CALL HCHAR(8,12,88,7) 1630 FOR DELAY=1 TO 50 1640 NEXT DELAY 1650 CALL HCHAR(8,20,SH+2) 1660 CALL HCHAR(8,19,88) 1670 FOR DELAY=1 TO 50 1680 NEXT DELAY 1690 CALL HCHAR(8,20,88) 1700 SH=0 1710 RETURN 1800 REM fire torpedo 1810 IF TORP(1)>0 THEN 1815 1812 RETURN 1815 TORP(1)=TORP(1)-1 1820 CALL SOUND(1000,-5,20) 1830 TOR=1 1840 II=13 1850 IF II<11 THEN 1884 1851 IF II=13 THEN 1855 1852 CALL HCHAR(II+1,12,126) 1855 FOR J=1 TO 3 1860 CALL HCHAR(II,12,119+J) 1865 FOR DELAY=1 TO 50 1870 NEXT DELAY 1875 NEXT J 1880 GOTO 1910 1884 CALL HCHAR(II+1,12,126) 1885 FOR J=1 TO 3 1890 CALL HCHAR(II,12,122+J) 1895 FOR DELAY=1 TO 50 1900 NEXT DELAY 1905 NEXT J 1910 II=II-1 1915 IF II=8 THEN 1940 1920 RETURN 1940 CALL GCHAR(8,12,XXX) 1950 IF XXX<89 THEN 1970 1960 GOSUB 2000 1970 GOSUB 500 1975 TOR=0 1980 CALL VCHAR(9,12,144,5) 1990 RETURN 2000 REM hit ship 2010 CALL SOUND(2000,-5,20,110,25) 2020 CALL HCHAR(8,12,104) 2025 GOSUB 2192 2030 CALL COLOR(10,11,7) 2040 CALL COLOR(10,7,11) 2045 GOSUB 2192 2050 CALL SCREEN(7) 2060 CALL SCREEN(12) 2070 CALL SCREEN(10) 2080 CALL SCREEN(6) 2090 CALL HCHAR(8,10,88,5) 2100 CALL HCHAR(8,12,158) 2110 FOR DELAY=1 TO 500 2120 NEXT DELAY 2130 CALL HCHAR(8,12,88) 2140 TORP(2)=TORP(2)+1 2150 SH=0 2160 TORP(3)=TORP(3)+(XXX-151)*10 2190 RETURN 2192 FOR DELAY=1 TO 200 2194 NEXT DELAY 2196 RETURN 2200 REM radar 2210 EMRA=INT(RND*50)+1 2220 RADAR=1 2230 EMR=17 2240 EMC=15 2250 RS=112 2260 EMR1=17 2270 EMC1=15 2280 RS1=112 2290 CALL HCHAR(EMR,EMC,96) 2300 CALL SOUND(1000,110,20) 2310 RETURN 2350 EMRA=EMRA-1 2355 IF EMRA>0 THEN 2360 2356 CALL HCHAR(EMR,EMC,RS) 2357 RADAR=0 2358 RETURN 2360 M=INT(RND*2) 2370 N=INT(RND*2) 2380 Q=INT(RND*3)+1 2390 ON Q GOTO 2410,2440,2470,2500 2400 GOTO 2380 2410 EMR=EMR+M 2420 EMC=EMC+N 2430 GOTO 2520 2440 EMR=EMR+M 2450 EMC=EMC-(N+1) 2460 GOTO 2520 2470 EMR=EMR-M 2480 EMC=EMC+N 2490 GOTO 2520 2500 EMR=EMR-M 2510 EMC=EMC-(N+1) 2520 CALL GCHAR(EMR,EMC,RS) 2525 IF RS=96 THEN 2550 2530 IF RS=138 THEN 3000 2540 IF RS<>128 THEN 2580 2550 EMR=EMR1 2560 EMC=EMC1 2565 RS=RS1 2570 RETURN 2580 CALL HCHAR(EMR,EMC,96) 2590 CALL HCHAR(EMR1,EMC1,RS1) 2600 EMR1=EMR 2610 EMC1=EMC 2620 RS1=RS 2630 RETURN 2700 REM move 2710 FOR I=1 TO 2 2720 CALL KEY(0,K,S) 2730 IF S=0 THEN 2750 2740 GOSUB 2800 2750 NEXT I 2760 RETURN 2800 IF RADAR=0 THEN 2760 2805 IF K<>88 THEN 2830 2810 EMR=EMR-1 2820 GOTO 2910 2830 IF K<>69 THEN 2860 2840 EMR=EMR+1 2850 GOTO 2910 2860 IF K<>83 THEN 2890 2870 EMC=EMC+1 2880 GOTO 2910 2890 IF K<>68 THEN 2920 2900 EMC=EMC-1 2910 GOSUB 2520 2920 RETURN 3000 REM hit by enemy 3005 CALL HCHAR(EMR,EMC,96) 3007 CALL HCHAR(EMR1,EMC1,RS1) 3010 CALL SOUND(2000,-5,20,110,25) 3015 IF DIVE=1 THEN 3210 3020 CALL COLOR(13,12,12) 3030 CALL COLOR(13,11,11) 3040 CALL COLOR(13,9,9) 3050 CALL COLOR(13,7,7) 3055 CALL COLOR(8,11,2) 3060 PR$="HARD LINES YOU VE BEEN HIT BY" 3070 Z=2 3080 ZC=2 3090 GOSUB 440 3100 PR$="A DEPTH CHARGE" 3110 Z=3 3120 GOSUB 440 3130 PR$="PRESS Y TO PLAY AGAIN" 3140 Z=14 3150 GOSUB 440 3160 CALL KEY(0,K,S) 3170 IF S=0 THEN 3160 3180 IF K<>89 THEN 3200 3190 GOTO 100 3200 END 3210 DC=INT(RND*20) 3212 GOTO 3449 3215 DI=13 3220 CALL KEY(0,K,S) 3230 IF S=0 THEN 3260 3240 IF K<>74 THEN 3260 3250 GOTO 3300 3260 DC=DC-1 3270 IF DC>0 THEN 3280 3275 DIVE=0 3277 GOTO 3005 3280 CALL SOUND(-100,110,20) 3290 IF DIVE=1 THEN 3220 3300 CALL HCHAR(DI,4,128,17) 3310 FOR DELAY=1 TO 100 3320 NEXT DELAY 3330 DIVE=0 3335 SH=0 3340 DI=DI-1 3350 IF DI=3 THEN 3400 3360 GOTO 3260 3400 FOR DELAY=1 TO 1000 3410 NEXT DELAY 3420 CALL HCHAR(EMR,EMC,138) 3430 RADAR=0 3445 GOTO 4000 3449 FOR XX=1 TO 3 3450 FOR YY=200 TO 900 STEP 100 3460 CALL SOUND(-100,YY,5) 3470 NEXT YY 3475 NEXT XX 3480 GOTO 3215 4000 REM main program 4003 CALL SOUND(-100,1000,15,2000,20) 4005 CALL SOUND(-100,3000,10) 4010 CALL KEY(0,K,S) 4020 IF S=0 THEN 4090 4030 IF K<>85 THEN 4060 4040 IF DIVE=1 THEN 4090 4050 GOSUB 1100 4060 IF K<>74 THEN 4090 4070 IF DIVE=0 THEN 4090 4080 GOSUB 1000 4090 IF SH>0 THEN 4140 4100 QQ=INT(RND*50) 4110 IF QQ>5 THEN 4130 4120 GOSUB 1300 4130 GOTO 4150 4140 GOSUB 1520 4150 IF DIVE=1 THEN 4160 4155 TOR=0 4156 GOTO 4200 4160 IF TOR=1 THEN 4210 4170 CALL KEY(0,K,S) 4175 IF S=0 THEN 4200 4180 IF K<>32 THEN 4200 4190 GOSUB 1800 4200 GOTO 4220 4210 GOSUB 1850 4220 IF RADAR=1 THEN 4270 4230 QQ=INT(RND*100) 4240 IF QQ>5 THEN 4275 4250 GOSUB 2200 4260 GOTO 4275 4270 GOSUB 2350 4275 IF DIVE=1 THEN 4290 4280 GOSUB 2700 4290 IF TOR=1 THEN 4000 4300 IF TORP(1)<1 THEN 4315 4310 GOTO 4000 4315 CALL COLOR(8,11,2) 4320 PR$="YOU VE NO MORE TORPEDOES" 4330 Z=3 4340 ZC=2 4350 GOSUB 440 4360 GOTO 3130 5000 CALL CLEAR 5005 PRINT TAB(8);"COPYRIGHT 1984" 5006 PRINT " VIRGIN GAMES LIMITED": : : : 5010 PRINT TAB(8);"**************" 5020 PRINT TAB(8);"* *" 5030 PRINT TAB(8);"* SEA WOLF *" 5040 PRINT TAB(8);"* *" 5060 PRINT TAB(8);"* by *" 5070 PRINT TAB(8);"* *" 5080 PRINT TAB(8);"*P J FINKILL *" 5090 PRINT TAB(8);"* *" 5100 PRINT TAB(8);"**************": : : : : : : : : 5110 PRINT "hit any key to continue." 5120 CALL KEY(3,K,S) 5130 IF S=0 THEN 5120 5140 CALL CLEAR 5150 PRINT " INSTRUCTIONS" 5160 PRINT " ************": : : 5170 PRINT "you are the commander of a submarine and your task is to sink as many of the enemy" 5180 PRINT "ships as possible with your supply of twenty torpedoes.": : 5190 PRINT "there are two different types of ships to sink :-" 5200 PRINT " 1.tankers " 5210 PRINT " 2.supply ships": : 5220 PRINT "of the two the supply ships score the most points." 5230 PRINT "the number of points scored depends on where you hit theship.": : 5232 PRINT: 5234 PRINT "hit any key to continue." 5236 CALL KEY(3,K,S) 5237 IF S=0 THEN 5236 5238 CALL CLEAR 5240 PRINT "watch your radar as there are submarine destroyers searching for you." 5250 PRINT "they have found you when they are in the centre of your radar.": : 5255 PRINT "if you have the periscope upwhen the warship finds you then you will hear an alarm " 5256 PRINT "if you are quick to dive then you may escape !": : : : : 5260 PRINT "HIT ANY KEY TO CONTINUE." 5270 CALL KEY(3,K,S) 5280 IF S=0 THEN 5270 5290 CALL CLEAR 5300 PRINT " directions" 5310 PRINT " ----------" 5320 PRINT: : : 5330 PRINT " U = up periscope." 5340 PRINT " J = down periscope.": : 5350 PRINT " SPACE BAR = fire torpedo.": : 5360 PRINT " E = up" 5370 PRINT " X = down" 5380 PRINT " S = left" 5390 PRINT " D = right": : : : 5400 PRINT "hit any key to continue." 5410 CALL KEY(3,K,S) 5420 IF S=0 THEN 5410 5430 RETURN
-
10 hours ago, TheBF said:
Speed:
Look at what you added to the main loop.
- Reading the data statements takes a lot of extra time.
- Changing a character pattern takes a lot of extra time.
This is why the original was done the way it was done.
BASIC has no forgiveness.
So a "rule of thumb" as we say in English is: Do all the setup code outside of the loop. Keep the inside of the loop to a minimum for maximum speed.
Why it stops:
Also, after you have read the data once, you need to use RESTORE to start reading it again at the beginning.
add line 1450 and it runs forever
1450 RESTORE
Better solution:
READ the DATA and do CALL CHAR() statements for all the characters as the setup code.
Inside the loop, just put characters on the screen with HCHAR. This is faster.
Have fun.
OK... learned how to reset data...
Made a loop outside to read and assign value to different CALL CHAR. So far so good. (Intention is to make as few lines as possible.)
But I am stomped by how to add the placement of the CHAR on the screen as it is 4 different locations. 2 CHAR is in the same box at different location within that box.
- Can I make it a mathematical logical thing - NO, it has a pattern, but hard to make it "add" up.
- I could probeable read it all and make a DIM and then store every value in its own place and then a loop could call it up "logically". Here I need to read up.
- I could add all the 16 lines to make it all work. But that is adding a lot of lines
- Are there other options?
Also I got an Idea for a game... Have some circles that is moving and then you have to move your "X" into the circle between all the moving "protection" of the middle. Make some circles that are moving in opposite way to the one beside itself.
"Lucky Spacewalker in his TI fighter is trying to blow up the mega killer star that is getting ready to blow up his planet!" (I am so creative, I don't know where I get my ideas from hehehehe)- 1
-
I am trying to make it go as fare as it can with the lines there is in this program and to also maybe understand what is missing.
So I added data for the sound, so it dos not stop on that. I adjusted the text a little and I am now stuck at "Would you like instructions(Y/N)?" Everything looks OK, but it dos not respond to Y or N. Also around 300 and in the looking for a "key push" it jumps past asking for what lvl you want... I think. Also I tried trace and it helped me understand some more of the program, but not why it dos not respond to CALL KEY. Anyone?
Spoiler100 REM <--OPERATION SEA WOLF--> 110 REM <--BY MSOFT--> 120 REM <--(C) 1983 MSOFT--> 130 RESTORE 140 CALL CLEAR 150 CALL CHAR(128,"0082FEE0C0C0C000") 160 PRINT TAB(6):" OPERATION SEA WOLF"::TAB(7):" BY MARK HANKINS"::TAB(9):" FOR C & VG":::::::::: 170 FOR A=3 TO 32 STEP 2 180 CALL HCHAR(1,A,128) 190 CALL HCHAR(24,A,128) 200 NEXT A 210 CALL VCHAR(1,3,128,24) 220 CALL VCHAR(1,31,128,24) 230 FOR A=1 TO 6 240 READ NOT,DUR 250 CALL SOUND(DUR,NOT,2) 260 NEXT A 270 V$="PRESS ANY KEY TO BEGIN!" 280 RO=20 290 CO=5 300 GOSUB 1170 310 CALL KEY(0,K,S) 320 CALL KEY(1,K,S1) 330 IF (S=0)*(S1=0) THEN 310 340 CALL CLEAR 350 PRINT "WOULD YOU LIKE INSTRUCTIONS (Y/N)?" 360 CALL KEY(0,K,S) 370 IF K=89 THEN 1230 380 IF K=78 THEN 390 ELSE 400 390 PRINT "PLEASE ENDER YOUR SKILL LEVEL - 0=EASY - 9=HARD" 400 CALL KEY(0,K,S) 410 IF S=0 THEN 400 420 IF (K<48)+(K>57) THEN 400 430 NSHIP=(K-48)*6+16 440 REM DEFINE CHARACTERS 441 CALL CHAR(128,"FFFFFFFFFFFFFFFF" 450 CALL CHAR(136,"00030203FF7F3F1F" 460 CALL CHAR(137,"00B19E9CFEFEFEFE" 470 CALL CHAR(144,"000003031F3F1F00" 480 CALL CHAR(145,"00309090FBFCFB00" 490 CALL CHAR(146,"00007EFFFF7E0000" 500 CALL CHAR(152,"00" 510 REM SET UP SCREEN 520 CALL CLEAR 530 CALL SCREEN(5) 540 CALL COLOR(12,16,1) 541 CALL COLOR(13,15,1) 550 CALL COLOR(14,15,6) 560 CALL COLOR(15,12,1) 570 CALL COLOR(16,1,6) 580 CALL HCHAR(1,1,152,32*12) 581 CALL HCHAR(2,15,128) 582 CALL HCHAR(3,13,128,5) 583 CALL HCHAR(4,11,128,8) 584 CALL HCHAR(5,11,128,8) 585 CALL HCHAR(6,13,128,5) 590 CALL HCHAR(12,16,136) 600 CALL HCHAR(12,17,137) 610 V$="SCORE=: 0" 620 RO=1 630 CO=1 640 GOSUB 1170 650 REM SET UP GAME 660 SC=0 670 ROS=INT(8*RND)+13 680 PO=13 690 SH=0 700 Z=0 710 C=16 720 REM 730 FOR Q=31 TO 3 STEP -2 740 CALL KEY() 750 IF K=13 THEN 990 760 RA=C+(K=83)-(K=68) 770 IF (RA<3)+(RA>30) THEN 890 780 IF RA<>C THEN 840 790 CALL JOYST(1,DX,DY) 800 RA=C+DX/4 810 RA=INT(32*((RA-1)/32-INT((RA-1)/32)))+1 820 CALL KEY(1,K,S) 830 IF K=18 THEN 990 840 CALL HCHAR(12,C,152,2) 850 CALL HCHAR(12,RA,136) 860 CALL HCHAR(12,RA+1,137) 870 C=RA 880 IF Z=1 THEN 1010 890 CALL HCHAR(ROS,5,32,28) 900 CALL HCHAR(ROS,Q,144) 910 CALL HCHAR(ROS,Q+1,145) 920 CALL SOUND(150,-1,0) 930 NEXT Q 940 SH=SH+1 950 IF SH=NSHIP THEN 1330 960 ROS=INT(8*RND) 970 GOTO 730 980 REM FIRE 990 Y=C 1000 IF Z=1 THEN 760 1010 FOR A=PO TO PO+3 1020 CALL GCHAR(A,Y,GET) 1030 CALL HCHAR(A,Y,146) 1040 IF GET=144 THEN 1430 1050 IF GET=145 THEN 1430 1060 CALL HCHAR(A,Y,32) 1070 NEXT A 1080 CALL SOUND(150,-3,0) 1090 PO=PO+3 1100 IF PO>=22 THEN 1140 1110 Z=1 1120 IF Q<3 THEN 940 1130 GOTO 890 1140 Z=0 1150 PO=13 1160 GOTO 890 1170 FOR A=1 TO LEN(V$) 1180 CH=ASC(SEG$(V$,A,1)) 1190 CALL HCHAR(RO,CO+A,CH) 1200 NEXT A 1210 RETURN 1220 REM INSTRUCTIONS: 1230 CALL CLEAR 1240 PRINT "YOUR JOB IS TO STOP THE":"ENEMY SUBS FROM REACHING":"THE HARBOUR IN THE LEFT HAND":"CORNER.":: 1250 PRINT :::"NOTE::":" THE FIRE KEY IS THE ENTER":" KEY":"S & D MOVE THE SHIP"::: 1260 PRINT ::"IF USING THE JOYSTICKS USE":"JOYSTICK NO.:" 1270 PRINT "ANY KEY TO BEGIN":: 1280 CALL KEY( 1290 CALL KEY( 1300 IF (S=0)*(S1=0) THEN 1280 1310 CALL CLEAR 1320 GOTO 390 1330 CALL CLEAR 1340 PRINT "YOU HIT":SC/100:"SHIPS":"OUT OF MAXIMUM OF":NSHIP:"YOU SCORED":SC:"POINTS" 1500 DATA 110,10,120,10,130,10,140,10,150,10,160,10
-
What I know so fare... In issue "Computer & Video Games - Issue 040 (1985-02)" in the bug section... "we have some photocopies of the missing portion..."
So... Have anyone here ever gotten a photocopy?
https://archive.org/details/Computer_Video_Games_Issue_040_1985-02_EMAP_Publishing_GB/page/n125/mode/2up- 1
Cosmic Hero revision 2 ... final release ... RXB
in TI-99/4A Development
Posted
I think that showing off RXB in this way is the best way, to "sell" it.
And also by more games popping up, more stuff will show up. So I think now in the beginning it is a valid question to ask... "What makes it better!" But as I say, over time and more practical use of RXB will show what is better. A show and tell of a feature in RXB is not the same as the practical application of RXB in a game.
Looks very nice! Great job @Retrospect Looks very smooth!
Looking forward to more practical examples of RXB in a game!