Jump to content

orion1052003

Members
  • Content Count

    348
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by orion1052003

  1. K=18 for the red button on the "wired remote controllers" CALL JOYST and CALL KEY together to move a char around and do something with the button.
  2. All those posts were good for me. How about line 460? I think it is the S and D keys input for left and right motion, but how does the relational expression actually break down? GC=GC-(K=68)+(K=83) Say the Gun Column is 5, and you press D for right. 5-(-1) + (0) = 6 OR does it equal 4? Does it mean 5 +1 when there are 2 negatives or one of them disappears to make 5-4?
  3. I was wondering if anyone could write a breakdown of the program or the confusing bits. This is the first program from (TI home computer) GAME WRITER'S PACK 1, by Collins Microsoftware. The .pdf is at ernie's site, The TI-99/4A computer book archive. Great Site! The program is on page 83 of the book, page 84 of the document. This is a beginning game learning program, so I thought I would post it and perhaps start a discussion about the program and perhaps the book. Mainly to learn how to program. What is happening in lines 520, 720, 560-570, and how can the main game loop from 350 - 670 still work when things are bouncing from one line to another? Like the print bullet, shooting, and plane drawing routines... Most of the lines I know how it works by the routine or line itself, but not how it comes together as a whole. That seems confusing. 20 REM MACBRIDE 1983 30 CALL SCREEN( 40 CALL CLEAR 50 PRINT TAB(10);"TARGET": : 60 PRINT " THIS SHOWS HOW A BULLET ": : 70 PRINT " FIRING ROUTINE WORKS.": : 80 PRINT " MOVE THE "GUN" USING ": : 90 PRINT " >>S<< TO GO LEFT": : 100 PRINT " >>D<< TO GO RIGHT.": : 110 PRINT " PRESS >>F<< TO FIRE.": : : 120 PRINT " THERE IS A PROGRAM INDEX ": : 130 PRINT " AT THE END.": : : 140 PRINT " PRESS ANY KEY TO BEGIN " 150 CALL SOUND(500,250,1) 160 CALL KEY(3,K,S) 170 IF S=0 THEN 160 180 CALL CLEAR 190 REM graphics 200 CALL CHAR(128,"00003098FEFF1830") 210 REM 128 = flying plane 220 CALL CHAR(129,"1038383838002844") 230 REM 129 = bullet 240 CALL CHAR(130,"20646C38F80C0600") 250 REM 130 = falling plane 260 CALL CHAR(131,"10101010387C7C7C") 270 REM 131 = gun 280 GC=15 290 REM Gun Column at start 300 F=0 310 REM gun not firing f=0 320 BR=20 330 REM Bullet Row at start 340 PRINT " PRESS >>Q<< TO QUIT" 350 FOR TC=1 TO 32 360 CALL HCHAR(5,TC,128) 370 IF F=1 THEN 540 380 REM key check 390 CALL KEY(3,K,S) 400 REM quit ? asc(q)=81 410 IF K=81 THEN 800 420 REM move gun ? asc(d)=68 asc(s)+83 430 IF(K=68)+(K=83)=0 THEN 480 440 CALL HCHAR(20,GC,32) 450 REM "value of truth" for gun movement 460 GC=GC-(K=68)+(K=83) 470 REM fire button asc(f)=70 480 IF K<>70 THEN 650 490 REM fire !! 500 F=1 510 CALL SOUND(50,200,1,-8,1) 520 BC=GC 530 REM check for hit 540 CALL GCHAR(BR,BC,Z) 550 REM print bullet 560 CALL HCHAR(BR,BC,129) 570 CALL HCHAR(BR,BC,32) 580 IF Z=128 THEN 710 590 REM change Bullet Row 600 BR=BR-3 610 IF BR>3 THEN 650 620 REM reset bullet after miss 630 BR=20 640 F=0 650 CALL HCHAR(5,TC,32) 660 CALL HCHAR(20,GC,131) 670 NEXT TC 680 GOTO 350 690 REM crash routine 700 CALL HCHAR(5,TC,32) 710 FOR N=5 TO 20 720 X=(N-4)/2+(X>30) 730 CALL HCHAR(N,TC+X,130) 740 CALL SOUND(50,-6,1) 750 CALL HCHAR(N,TC+X,32) 760 NEXT N 770 INPUT " ANOTHER GO CRACKSHOT ?(Y/N)":A$ 780 IF A$="Y" THEN 140 790 IF A$<>"N" THEN 770 800 CALL SCREEN(16) 810 CALL CLEAR 820 PRINT " PROGRAM INDEX": : 830 PRINT " INSTRUCTIONS...........40": : 840 PRINT " GRAPHICS DEFINITION...190": : 850 PRINT " VARIABLES SET ........280": : 860 PRINT " MAIN LOOP.........350-680": : 870 PRINT " KEY CHECKS............380": : 880 PRINT " GUN MOVEMENT..........440": : 890 PRINT " BULLET ROUTINES.......490": : 900 PRINT " CRASH!!...............690": : :
  4. DISPLAY AT question. (knight moves title screen) How do I make DISPLAY AT do what I want? I notice it blanks out everything behind the text. If I CALL COLOR the background of the characters displayed to transparent(color code 1) the foreground or letters will be there but the background drawn behind is blanked out rather than transparently on top another "layer". If you do a CALL SCREEN(2) for example, and have a black background screen…and then draw something on the bottom with CALL CHAR…the the CALL CHAR stuff will be erased but the black background will still be there. So you have a black background. If you try to put some standard black printed text over a blue lake, for example, you will have the lake, and the text with this big black line around it rather than the blue in the background. And the text will also be invisible since it's black. I guess you could set CALL SCREEN around your text, but that could make the other parts of the screen be more tedious to create. You could also change all the color sets for the letters A-Z to make the letters white on black, but why would you want to do that? To just change the background relative to the foreground would be much simpler if it is possible. It looks like Display At automatically "blanks out" 24 characters in a line. Meaning if you type in "By James Peyton" you have a bunch of extra empty space on the right. As you can see, the background for letters is green, but character 32 ends up black. Not sure why.
  5. I bought one from a guy who sells them. If I can find the old order form I can look and see if he is still around and selling them. Ask around at Tex in Treasures too, if the site comes back up.
  6. K$="3A7C6EFFFFCF0F1F3736363636367F7F" is the character definition of the Joystick controlled Knight, but only the top half is shown in the game. Any thoughts as to why? 3A7C6EFFFFCF0F1F3736363636367F7F
  7. Trying to understand your shortening.....Does it boil down to some of this? R=0 TO 7 C=(R AND 1) TO 7 STEP 2 I=1 TO 3 CALL HCHAR(R * 3+ I, C * 3 + I, 96, 3) NEXT I NEXT C NEXT R R C C C C C 0 AND 1= 0 TO 7 STEP 2 0 2 4 6 1 AND 1= 1 TO 7 STEP 2 1 3 5 7 2 AND 1= 0 TO 7 STEP 2 0 2 4 6 3 AND 1= 1 TO 7 STEP 2 1 3 5 7 4 AND 1= 0 TO 7 STEP 2 0 2 4 6 5 AND 1= 1 TO 7 STEP 2 1 3 5 7 6 AND 1= 0 TO 7 STEP 2 0 2 4 6 7 AND 1= 0 TO 7 STEP 2 1 3 5 7 90 !DRAW SQUARES 100 FOR R=0 TO 7::FOR C=(R AND 1) TO 7 STEP 2::FOR I=1 TO 3::CALL HCHAR(R*3+I,C*3+1,96,3)::NEXT I::NEXT C::NEXT R
  8. A question about loops. On Knight Moves, I made a title screen. How would you keep the flashing eyes in line 960 and still allow the player to INPUT a value to pass to the next screen? 100 !KNIGHTS 110 !KNIGHT MOVES 120 !BY JAMES PEYTON 2012 130 CALL TITLE 140 CALL CLEAR :: CALL CHARSET 150 CALL COLOR(9,13,1,10,3,1,11,16,3) :: CALL SCREEN(6) 160 CHESS$="A8B8C8D8E8F8G8H8A7B7C7D7E7F7G7H7A6B6C6D6E6F6G6H6A5B5C5D5E5F5G5H5A4B4C4D4E4F4G4H4A3B3C3D3E3F3G3H3A2B2C2D2E2F2G2H2A1B1C1D1E1F1G1H1" 170 S$="FFFFFFFFFFFFFFFF" :: K$="3A7C6EFFFFCF0F1F3736363636367F7F" 180 D$="FFFFFFFFFFFFFFFF" 190 CALL CHAR(96,S$,104,S$,112,K$,115,D$) 200 CALL CHAR(116,"80C0E0F0F8FCFEF") :: CALL CHAR(117,"0103070F1F3F7FFF")!KNIGHTSYMBOL 210 CALL CHAR(118,"FFFFFFFFFF1F1F1F") :: CALL CHAR(119,"FFFFFFFFFF000000")!KNIGHT SYMBOL 220 !DRAW SQUARES 230 FOR R=0 TO 7 :: FOR C=(R AND 1)TO 7 STEP 2 :: FOR I=1 TO 3 :: CALL HCHAR(R*3+I,C*3+1,96,3) :: NEXT I :: NEXT C :: NEXT R 240 !KNIGHT SYMBOL 250 CALL HCHAR(11,27,115,4) :: CALL HCHAR(12,27,115,2) :: CALL HCHAR(13,28,115,2) :: CALL HCHAR(14,28,115,2) 260 CALL HCHAR(15,27,115,4) :: CALL HCHAR(10,28,115) 270 CALL HCHAR(9,28,116) :: CALL HCHAR(10,27,117) :: CALL HCHAR(10,29,118) :: CALL HCHAR(12,30,119) 280 !STATS DISPLAY 290 DISPLAY AT(20,23):"KNIGHT" 300 DISPLAY AT(22,23):"MOVES"!:: DISPLAY AT(2,28):SQUARE$:: DISPLAY AT(4,28):"OLD" 310 !ISPLAY AT(6,27):"LAST" 320 HR=105 :: HC=105 330 CALL SPRITE(#1,112,16,HR,HC)!KNIGHT-SPRITE 340 !MAIN LOOP 350 CALL JOYST(1,X,Y) :: CALL KEY(1,K,S) :: DR,DC=0 360 CALL POSITION(#1,HR,HC) 370 IF X=0 AND Y=4 THEN DR=HR-48 :: DC=HC-24 :: GOTO 450 380 IF X=4 AND Y=4 THEN DR=HR-48 :: DC=HC+24 :: GOTO 450 390 IF X=4 AND Y=0 THEN DR=HR-24 :: DC=HC+48 :: GOTO 450 400 IF X=4 AND Y=-4 THEN DR=HR+24 :: DC=HC+48 :: GOTO 450 410 IF X=0 AND Y=-4 THEN DR=HR+48 :: DC=HC+24 :: GOTO 450 420 IF X=-4 AND Y=-4 THEN DR=HR+48 :: DC=HC-24 :: GOTO 450 430 IF X=-4 AND Y=0 THEN DR=HR+24 :: DC=HC-48 :: GOTO 450 440 IF X=-4 AND Y=4 THEN DR=HR-24 :: DC=HC-48 :: GOTO 450 450 IF(DR<1 OR DR>192)OR(DC<1 OR DC>192)THEN GOTO 350 460 CALL LOCATE(#1,DR,DC) :: CALL SQUARE(DR,DC,CHESS$)!: DR,DC=0 :: FOR D=1 TO 100 :: NEXT D :: GOTO 500 470 DR,DC=0 :: FOR D=1 TO 100 :: NEXT D :: GOTO 350 480 SUB SQUARE(DR,DC,CHESS$) 490 R=INT((DR+7)/8) :: C=INT((DC+7)/8) :: QR=(R+1)/3 :: QC=(C+1)/3 :: SQ=(QR-1)*8+QC 500 SQUARE$=SEG$(CHESS$,SQ*2-1,2) 510 DISPLAY AT(2,26):SQUARE$ 520 DISPLAY AT(3,26):SQ 530 SUBEND 540 SUB TITLE 550 CALL CLEAR :: CALL COLOR(9,16,2,10,15,2,11,2,15,12,8,8,13,5,5) 555 CALL COLOR(2,2,2) 560 L1$="C0C0C0C0C0C0C0C0" :: L2$="C3C3C3C3C3C3C3C3" :: L3$="0303030303030303" 570 D1$="80C0E0F0F8FCFEFF" :: D2$="0103070F1F3F7FFF" :: D3$="FFFEFCF8F0E0C080" :: D4$="FF7F3F1F0F070301" 580 D5$="FFFEFCF8F8FCFEFF" :: SQ$="FFFFFFFFFFFFFFFF" :: SQG$="FFFFFFFFFFFFFFFF" :: R$="FFFFFFFFFFFFFFFF" 590 CALL COLOR(5,2,3,6,2,3,7,2,3,8,2,3) 600 !D$=DIAGONAL LINES-L$=KNIGHTHEADGRILL 610 CALL CHAR(96,D1$,97,D2$,98,D3$,99,D4$,100,D5$,101,SQ$,112,L1$,113,L2$,114,L3$,104,SQG$) 620 CALL SCREEN(2) :: CALL HCHAR(1,1,120,224) :: CALL HCHAR(22,1,128,96) 621 CALL HCHAR(4,2,101,2)!2 HORSES BACKGROUND 622 CALL HCHAR(2,3,101) :: CALL HCHAR(3,2,101,4) :: CALL HCHAR(5,3,101,2) :: CALL HCHAR(6,3,101,2) 623 CALL HCHAR(7,2,101,4) :: CALL HCHAR(2,29,32) :: CALL HCHAR(3,27,32,4) :: CALL HCHAR(4,29,32,2) 624 CALL HCHAR(5,28,32,2) :: CALL HCHAR(6,28,32,2) :: CALL HCHAR(7,27,32,4) 630 !KNIGHTHEAD SQUARE 640 CALL HCHAR(2,15,104,5) :: CALL HCHAR(3,15,104,5) :: CALL HCHAR(4,15,104,5) :: CALL HCHAR(5,15,104,5) 650 CALL HCHAR(6,15,104,5) :: CALL HCHAR(5,16,112) :: CALL HCHAR(5,17,113) :: CALL HCHAR(5,18,114) 660 CALL HCHAR(3,16,40) :: CALL HCHAR(3,18,40)!EYES 670 !770-800 BOTTOM SQUARES 680 FOR I=22 TO 24 :: FOR J=1 TO 3 690 CALL HCHAR(I,J,101) :: CALL HCHAR(I,J+6,101) :: CALL HCHAR(I,J+12,101) :: CALL HCHAR(I,J+18,101) 700 CALL HCHAR(I,J+24,101) :: NEXT J :: NEXT I 710 FOR I=22 TO 24 :: FOR J=31 TO 32 :: CALL HCHAR(I,J,101) :: NEXT J :: NEXT I 720 DISPLAY AT(23,5):"BY JAMES PEYTON" 730 !KNIGHT 840 - 860 MOVES 870 - 740 CALL VCHAR(9,4,101,5) :: CALL VCHAR(9,9,101,5) :: CALL VCHAR(9,13,101,5) :: CALL VCHAR(9,16,101,5) 750 CALL VCHAR(9,19,101,5) :: CALL VCHAR(9,24,101,5) :: CALL VCHAR(9,26,101,5) 760 CALL VCHAR(9,29,101,5) :: CALL HCHAR(9,15,101,3) :: CALL HCHAR(9,19,101,4) :: CALL HCHAR(9,28,101,3) 770 CALL VCHAR(16,5,101,5) :: CALL VCHAR(16,10,101,5) :: CALL VCHAR(16,12,101,5) :: CALL VCHAR(16,14,101,5) 780 CALL VCHAR(16,25,101,5) :: CALL VCHAR(16,29,101,3) :: CALL VCHAR(18,31,101,3) 790 CALL HCHAR(13,15,101,3) :: CALL HCHAR(13,19,101,4) :: CALL HCHAR(11,21,101) :: CALL HCHAR(11,25,101) 800 CALL VCHAR(11,22,101,2) 810 CALL HCHAR(16,13,101) :: CALL HCHAR(16,26,101,2) :: CALL HCHAR(20,13,101) 820 CALL HCHAR(18,26,101) :: CALL HCHAR(20,26,101,2) :: CALL HCHAR(16,30,101,2) :: CALL HCHAR(18,29,101,2) 830 CALL HCHAR(20,29,101,2) 840 !DIAGONAL LINES 850 CALL HCHAR(9,6,97) :: CALL HCHAR(9,7,98) :: CALL HCHAR(10,5,97) :: CALL HCHAR(10,6,98) 860 CALL HCHAR(11,5,100) :: CALL HCHAR(12,5,99) :: CALL HCHAR(13,6,99) :: CALL HCHAR(13,7,96) 870 CALL HCHAR(16,6,96) :: CALL HCHAR(17,6,101) :: CALL HCHAR(18,6,99) :: CALL HCHAR(17,7,96) 880 CALL HCHAR(18,7,101) :: CALL HCHAR(19,7,99) :: CALL HCHAR(17,8,97) :: CALL HCHAR(18,8,101) 890 CALL HCHAR(19,8,98) :: CALL HCHAR(16,9,97) :: CALL HCHAR(17,9,101) :: CALL HCHAR(18,9,98) 900 CALL HCHAR(10,10,96) :: CALL HCHAR(11,10,99) :: CALL HCHAR(11,11,96) :: CALL HCHAR(12,11,99) 910 CALL HCHAR(12,12,96) :: CALL HCHAR(13,12,99) :: CALL HCHAR(16,16,96) :: CALL HCHAR(17,16,99) 920 CALL HCHAR(17,17,96) :: CALL HCHAR(18,17,99) :: CALL HCHAR(18,18,96) :: CALL HCHAR(19,18,99) 930 CALL HCHAR(19,19,96) :: CALL HCHAR(20,19,99) :: CALL HCHAR(20,20,98) 940 CALL HCHAR(19,20,97) :: CALL HCHAR(19,21,98) :: CALL HCHAR(18,21,97) :: CALL HCHAR(18,22,98) 950 CALL HCHAR(17,22,97) :: CALL HCHAR(17,23,98) :: CALL HCHAR(16,23,97) :: CALL HCHAR(12,6,96) 960 CALL COLOR(2,10,10) :: CALL COLOR(2,2,2) 965 GOTO 960 970 SUBEND
  9. RECTANGLES Since you're teaching me how to make things with less code, how would one shorten this up? Something like Q=34 :: FOR I=1 to 12 :: CALL HCHAR(I,I,?,Q-2) :: NEXT I Q=8 :: FOR I=13 to 24 :: FOR J=12 TO 1 STEP -1 :: CALL HCHAR(I,J,?,Q+2) :: NEXT J :: NEXT I I goes from 1-24 and J goes 1 up to 12 and 12 down to 1 again. There are 2 chars alternating in most of the lines. This is concerning only the horizontal (HCHAR) portion, but something similar to the above would be an example for the vertical (VCHAR) part. Even if this works, I have a feeling there is something even shorter. 19 !RECTANGLES-2012 JAMES P 20 CALL COLOR(9,4,4,10,14,14)!GREEN,MAGENTA 30 CALL CHAR(96,"FFFFFFFFFFFFFFFF") :: CALL CHAR(104,"FFFFFFFFFFFFFFFF") 35 !HORIZONTALS 40 CALL HCHAR(1,1,96,32) 50 CALL HCHAR(2,2,104,30) 60 CALL HCHAR(3,3,96,28) 70 CALL HCHAR(4,4,104,26) 80 CALL HCHAR(5,5,96,24) 90 CALL HCHAR(6,6,104,22) 100 CALL HCHAR(7,7,96,20) 110 CALL HCHAR(8,8,104,18) 120 CALL HCHAR(9,9,96,16) 130 CALL HCHAR(10,10,104,14) 140 CALL HCHAR(11,11,96,12) 150 CALL HCHAR(12,12,104,10) 160 CALL HCHAR(13,12,104,10) 170 CALL HCHAR(14,11,96,12) 180 CALL HCHAR(15,10,104,14) 190 CALL HCHAR(16,9,96,16) 200 CALL HCHAR(17,8,104,18) 210 CALL HCHAR(18,7,96,20) 220 CALL HCHAR(19,6,104,22) 230 CALL HCHAR(20,5,96,24) 240 CALL HCHAR(21,4,104,26) 250 CALL HCHAR(22,3,96,28) 260 CALL HCHAR(23,2,104,30) 270 CALL HCHAR(24,1,96,32) 275 !VERTICALS 280 CALL VCHAR(2,1,96,22) 290 CALL VCHAR(3,2,104,20) 300 CALL VCHAR(4,3,96,18) 310 CALL VCHAR(5,4,104,16) 320 CALL VCHAR(6,5,96,14) 330 CALL VCHAR(7,6,104,12) 340 CALL VCHAR(8,7,96,10) 350 CALL VCHAR(9,8,104, 360 CALL VCHAR(10,9,96,6) 370 CALL VCHAR(11,10,104,4) 380 CALL VCHAR(12,11,96,2) 390 CALL VCHAR(12,22,96,2) 400 CALL VCHAR(11,23,104,4) 410 CALL VCHAR(10,24,96,6) 420 CALL VCHAR(9,25,104, 430 CALL VCHAR(8,26,96,10) 440 CALL VCHAR(7,27,104,12) 450 CALL VCHAR(6,28,96,14) 460 CALL VCHAR(5,29,104,16) 470 CALL VCHAR(4,30,96,18) 480 CALL VCHAR(3,31,104,20) 490 CALL VCHAR(2,32,96,22) 500 GOTO 500
  10. Thanks, I'll try it. Any idea why the Knight horse is missing the bottom half? The char was a 2 char horizontal, but only the top half shows, same thing in another program. Knight Moves is the horse, of course.
  11. Well, now I have a dunce cap to keep my head warm. It works much better, I just have to figure out how to get the buildings back in. I have one question though. On the leftmost and rightmost portions of the screen are a segment of static buildings and the rest of the "line" of buildings move. This is because of DISPLAY AT. It doesn't actually start at the first char of say, line 24,1. But say, 24,3 or something close to that. Is there a way around this without assembly?
  12. Seems about the same speed wise, compared to the second way, but SO much shorter! Especially than the first one, the one I wrote. Gotta love those relational expressions. Now I just got to break it down. Thanks you guys! The drawing looks much more professional without that LONG wait it used to have in the first program.
  13. The building section "flips" now, but it does so constantly, rather than every time the plane reaches the right edge of the screen, as I thought line 783 would do. 783 CALL POSITION(#2,DR,DC) :: IF DC<233 THEN 785 ELSE 1000 785 FLIP=(FLIP+1)AND 3 :: DISPLAY AT(24,1):SEG$(BD$,FLIP*28+1,28) 787 IF D=45 THEN GOTO 1010 I used the alphabet instead of the buildings because I didn't know how to type in the higher ascii characters into the string on line 450, like the lowercase set. Running Mac OSX, running Parallels Windows emulator, running Win99/4A simulator. I tried to find where I made the string for BD$ that you pointed out didn't connect to anything or could be misnamed. Couldn't find it, I think I had it on some scrap of paper, couldn't remember what I did, so I tried this alphabet thing instead. 10 !CITYBOMBER-CITY5 50 !*************** 60 !* CITY BOMBER * 70 !*************** 80 !11-01-11 90 !NOVEMBER 1, 2011. 95 CALL TITLE 100 CALL CLEAR :: CALL SCREEN( 110 CALL COLOR(9,5,1,8,8,1,12,7,1) :: DR=89 120 N0$="3C2424242424243C" 130 N1$="1818181818181818" 140 N2$="3C04043C3C20203C" 150 N3$="3C04043C3C04043C" 160 N4$="2424243C04040404" 170 N5$="3C20203C3C04043C" 180 N6$="202020203C34343C" 190 N7$="3C04040404040404" 192 N8$="3C24243C3C24243C" 194 N9$="3C24343C04040404" 200 B1$="00007C7CFEFEFFFF" 210 B2$="00E0E0E0E0FFFFFF" 220 B3$="003C3C3C3CFFFFFF" 230 B4$="00F8F8FBFBFFFFFF" 240 B5$="007777777777FFFF" 250 B6$="78787E7E7FFFFFFF" 260 B7$="10387C7C7C7CFFFF" 270 B8$="10545456DFFFFFFF" 280 BR$="88C4FF1F0408000000000000000000000000C0F0000000000000000000000000" 290 BL$="01023FFF0201000000000000000000001030F080000000000000000000000000" 291 BO$="3838FE3838383810"!BOMB 292 C1$="024827B41E532F5FFFFF7F3F1B0F030080A0F8F0F4FCECF0FEFAFEFDEAC28010" 293 C2$="153F7FFFFFFFFF7F7F7C7EFF3E7C1A084862FCBCFAE492400000000000000000" 294 S$="0000001818000000"!STAR 295 D$="0000000000000F0F0F0F000000000000000000000000F0F0F0F0000000000000" 300 CALL CHAR(96,B1$,97,B2$,98,B3$,99,B4$,100,B5$,101,B6$,102,B7$,103,B8$)!BUILDINGS 310 CALL CHAR(88,S$,112,BR$,104,C1$,108,C2$,136,BO$,48,N0$,49,N1$,50,N2$,51,N3$,52,N4$,53,N5$,54,N6$,55,N7$,56,N8$,57,N9$,120,D$) 320 !RINT 0;1;2;3;4;5;6;7;8;9 330 !OTO 330 340 FOR I=1 TO 30 :: R=INT(RND*24)+1 :: C=INT(RND*32)+1 :: CALL HCHAR(R,C,88) :: NEXT I!SCATTERSTARS 385 !DRAW BUILDINGS 390 CALL HCHAR(24,1,97,2) :: CALL HCHAR(24,31,103,2) 400 BL1$=CHR$(96)&CHR$(97)&CHR$(98)&CHR$(99)&CHR$(100)&CHR$(101)&CHR$(102)&CHR$(103) 410 BL2$=CHR$(102)&CHR$(99)&CHR$(96)&CHR$(103)&CHR$(101)&CHR$(98)&CHR$(100)&CHR$(97) 420 BL3$=CHR$(97)&CHR$(101)&CHR$(98)&CHR$(102)&CHR$(96)&CHR$(100)&CHR$(99)&CHR$(103) 430 BL4$=CHR$(99)&CHR$(96)&CHR$(98)&CHR$(97)&CHR$(102)&CHR$(100) 440 DISPLAY AT(24,1):BL1$ :: DISPLAY AT(24,9):BL2$ :: DISPLAY AT(24,17):BL3$ :: DISPLAY AT(24,23):BL4$ 450 BD$="ABCDEFGHIJKLMNOPQRSTUVWXYZASHLADHFGDHGKDHKHKHDKSJDJDJJGKSGSKFKGSFGSGHGHGFHGDEFGBTYHNJUIKAWRVTYHVXWERTYJHGXCVBNJU" 490 CALL MAGNIFY(4) 495 CALL SPRITE(#1,104,16,1,1,0,1)!CLOUD1 500 CALL SPRITE(#2,112,5,DR,1,0,10)!BOMBER RIGHT 510 CALL SPRITE(#3,136,2,193,1)!BOMB 515 CALL SPRITE(#4,120,7,185,1)!DOT 520 CALL SPRITE(#8,108,16,17,121,0,1)!CLOUD2 700 !MAIN LOOP 710 CALL JOYST(1,X,Y) :: X=-4 :: CALL MOTION(#2,-Y*2.5,-X*2.5)!: CALL SOUND(100,-5,7) 720 CALL KEY(1,K,S) :: IF K=18 THEN CALL BOMB(DR) 730 CALL KEY(1,K,S) :: IF K=3 THEN CALL NIGHT 760 CALL POSITION(#3,DR,DC) :: DISPLAY AT(20,10):"DR= ";DR;"DC= ";DC 765 !F DR>165 THEN CALL LOCATE(#3,193,1):: CALL MOTION(#3,0,0) 770 CALL DOT(D) 780 DISPLAY AT(1,25):"HITS=";D 783 CALL POSITION(#2,DR,DC) :: IF DC<233 THEN 785 ELSE 1000 785 FLIP=(FLIP+1)AND 3 :: DISPLAY AT(24,1):SEG$(BD$,FLIP*28+1,28) 787 IF D=45 THEN GOTO 1010 1000 GOTO 710 1010 CALL CLEAR :: CALL CHARPAT :: CALL HCHAR(1,1,?,288) :: CALL HCHAR(10,1,?,320) 1015 !PYRAMID LINES LEFT SAND RIGHT 1030 CALL VCHAR(3,1,?,7) :: CALL VCHAR(4,2,?,6) :: CALL VCHAR(6,3,?,4)!BUILDINGS 1033 CALL VCHAR(5,5,?,5) :: CALL VCHAR(3,6,?,7) :: CALL VCHAR(4,7,?,6) :: CALL VCHAR(5,8,?,5) 1036 CALL VCHAR(6,10,?,4) :: CALL VCHAR(3,11,?,6) :: CALL VCHAR(3,12,?,6) :: CALL VCHAR(4,13,?,5) 1038 CALL VCHAR(5,15,?,5) :: CALL VCHAR(4,16,?,6) :: CALL VCHAR(3,17,?,7) 1040 !LEFT SIDE SMALL BUILDINGS 1041 CALL VCHAR(17,1,?,5) :: CALL VCHAR(17,2,?,5) :: CALL VCHAR(17,3,?,5) 1043 CALL VCHAR(12,7,?,4) :: CALL VCHAR(12,8,?,4) :: CALL VCHAR(12,9,?,4) 1045 CALL VCHAR(9,11,?,3) :: CALL VCHAR(9,12,?,3) :: CALL VCHAR(9,13,?,3) 1047 CALL VCHAR(2,19,?, :: CALL VCHAR(2,20,?,7) 1049 CALL VCHAR(2,22,?,7) :: CALL VCHAR(2,23,?, :: CALL VCHAR(2,24, 1051 CALL VCHAR(3,26,?,7) :: CALL VCHAR(4,27,?,6) :: CALL VCHAR(5,28,?,5) 1053 CALL VCHAR(4,30,?,6) :: CALL VCHAR(3,31,?,7) :: CALL VCHAR(3,32,7) 1060 !RIGHT SIDE SMALL BUILDINGS 1061 CALL VCHAR(9,20,?,3) :: CALL VCHAR(9,21,?,3) :: CALL VCHAR(9,22,?,3) 1063 CALL VCHAR(12,24,?,4) :: CALL VCHAR(12,25,?,4) :: CALL VCHAR(12,26,?,4) 1065 CALL VCHAR(17,30,?,5) :: CALL VCHAR(17,31,?,5) :: CALL VCHAR(17,32,?,5) 1070 !ROAD RUNWAY 1071 CALL HCHAR(10,16,?,2) :: CALL HCHAR(15,11,?,12) :: CALL HCHAR(20,6,?,22) 1073 CALL HCHAR(11,15,?,4) :: CALL HCHAR(16,10,?,14) :: CALL HCHAR(21,5,?,24) 1075 CALL HCHAR(12,14,?,6) :: CALL HCHAR(17,9,?,16) :: CALL HCHAR(22,4,?,26) 1077 CALL HCHAR(13,13,?, :: CALL HCHAR(18,8,?,18) :: CALL HCHAR(23,3,?,28) 1079 CALL HCHAR(14,12,?,10) :: CALL HCHAR(19,7,?,20) :: CALL HCHAR(24,2,?,30) 1100 SUB BOMB(DR) 1105 CALL POSITION(#2,DR,DC) 1110 CALL LOCATE(#3,DR+5,DC) :: CALL MOTION(#3,20,0) :: CALL POSITION(#3,DR,DC) :: IF DR>165 THEN CALL LOCATE(#3,193,1) :: CALL MOTION(#3,0,0) 1120 SUBEND 1130 SUB NIGHT 1135 CALL SCREEN(2) :: CALL LOCATE(#1,193,1) :: CALL LOCATE(#8,193,1)!MOVECLOUDSOFFSCREEN 1140 CALL COLOR(8,16,1)!STARSCOMEOUT 1150 SUBEND 1151 SUB DAY 1152 CALL SCREEN( :: CALL COLOR(8,8,1) :: CALL LOCATE(#1,1,1,#8,17,121) 1154 SUBEND 1155 SUB DOT(D) 1157 CALL COINC(#3,#4,10,C) :: IF C THEN 1160 ELSE 1190 1160 D=D+1 :: RANDOMIZE :: A=175 :: B=INT(RND*255) :: CALL LOCATE(#4,A+1,B+1) 1170 CALL POSITION(#3,DR,DC) :: IF DR>165 THEN CALL LOCATE(#3,193,1) :: CALL MOTION(#3,0,0) 1175 !ALL COINC(#3,#4,10,C):: IF C THEN CALL SOUND(400,-2,5):: CALL LOCATE(#4,193,1) 1180 IF D=10 THEN CALL NIGHT 1181 IF D=20 THEN CALL DAY 1182 IF D=30 THEN CALL NIGHT 1183 IF D=40 THEN CALL DAY 1190 SUBEND 1200 SUB TITLE 1205 CALL CHARSET :: CALL CLEAR :: CALL SCREEN(2) :: CALL COLOR(9,5,2,10,5,2,11,14,2) 1210 CALL CHAR(96,RPT$("F",16)) :: CALL CHAR(97,"81C3E7E7E7E7E7FF") :: CALL CHAR(98,"FF7F3F1F0F070301") :: CALL CHAR(112,RPT$("F",16)) 1211 CALL CHAR(99,"FFFEFCF8F0E0C080") :: CALL CHAR(100,"FFFFC3C3C3C3FFFF") :: CALL CHAR(101,"7E3C181818181800") 1212 CALL CHAR(102,"FFFEC08080C0FEFF") :: CALL CHAR(103,"000000FFFF000000") :: CALL CHAR(104,"000000F0F0000000") 1214 CALL CHAR(105,"80C0E0F0F0F8F8F8") 1220 CALL HCHAR(2,2,96,30) 1230 CALL HCHAR(23,2,96,30) 1240 CALL VCHAR(2,2,96,24) 1250 CALL VCHAR(2,31,96,23) 1260 CALL HCHAR(5,7,96,3) :: CALL HCHAR(7,7,96,3) :: CALL HCHAR(5,11,96,3) :: CALL HCHAR(7,11,96,3) 1264 CALL VCHAR(6,20,96,2) 1265 CALL HCHAR(6,7,96) :: CALL HCHAR(6,12,96) :: CALL VCHAR(5,16,96,3) 1270 CALL HCHAR(5,15,96,3) :: CALL HCHAR(5,19,96) :: CALL HCHAR(5,21,96) 1275 CALL VCHAR(10,7,96,3) :: CALL HCHAR(10,12,96) :: CALL HCHAR(12,12,96) 1277 CALL HCHAR(10,9,96) :: CALL HCHAR(11,9,102) :: CALL HCHAR(12,9,96) 1280 CALL VCHAR(10,11,96,3) :: CALL VCHAR(10,13,96,3) :: CALL VCHAR(10,15,96,3) :: CALL VCHAR(10,17,96,3) 1290 CALL VCHAR(10,19,96,3) :: CALL VCHAR(10,21,96,3) :: CALL VCHAR(10,23,96,3) :: CALL HCHAR(10,24,96,2) 1295 CALL HCHAR(12,24,96,2) :: CALL VCHAR(10,27,96,3) 1300 CALL VCHAR(16,4,112,7) :: CALL VCHAR(16,5,112,7) :: CALL VCHAR(16,6,112,7) :: CALL VCHAR(19,7,112,4) 1310 CALL HCHAR(17,11,112,4) :: CALL HCHAR(18,10,112,6) :: CALL HCHAR(19,10,112,6) :: CALL HCHAR(20,10,112,6) 1320 CALL HCHAR(21,10,112,6) :: CALL HCHAR(22,10,112,6) :: CALL VCHAR(19,19,112,4) :: CALL VCHAR(15,20,112, 1330 CALL VCHAR(15,21,112, :: CALL VCHAR(15,22,112, :: CALL VCHAR(15,24,112, :: CALL VCHAR(21,25,112,2) :: CALL VCHAR(18,28,112,5) 1340 CALL VCHAR(16,29,112,7) :: CALL VCHAR(15,30,112, 1350 CALL HCHAR(11,8,96) :: CALL HCHAR(11,16,96) :: CALL HCHAR(10,21,96) :: CALL HCHAR(11,20,96) :: CALL HCHAR(12,21,96) 1360 CALL HCHAR(10,29,96) :: CALL HCHAR(11,28,96) :: CALL HCHAR(5,20,97) :: CALL HCHAR(6,19,98) :: CALL HCHAR(6,21,99) 1370 CALL HCHAR(10,8,100) :: CALL HCHAR(12,8,100) :: CALL HCHAR(10,16,97) :: CALL HCHAR(12,16,101) :: CALL HCHAR(10,20,100) 1380 CALL HCHAR(12,20,100) :: CALL HCHAR(11,21,102) :: CALL HCHAR(11,24,103) :: CALL HCHAR(11,25,104) 1390 CALL HCHAR(10,28,100) :: CALL HCHAR(11,29,102) :: CALL HCHAR(12,29,98) 1400 CALL HCHAR(12,30,105) 1600 INPUT Z$ 1610 SUBEND
  14. Thanks! it draws the board MUCH faster. Working on a title screen and 2nd knight with 2 joysticks.
  15. So that Buck Rogers demo would be essentially impossible on the TI99? The ship part?
  16. Any idea why the building "flipping" won't work?
  17. The question marks are just blank spaces to put in the ascii character numbers after figuring out which ones to use. I still can't get that screen scroll you showed me to work. The one where the buildings would "flip" to another string of buildings when the plane reached the right side of the screen. Lines 783 and 785.
  18. 10 !KNIGHTMOVES-KNIGHTER 40 !KNIGHT MOVES 50 !BY JAMES PEYTON 2012 55 CALL CLEAR :: CALL CHARSET 60 CALL COLOR(9,13,1,10,3,1,11,16,3) :: CALL SCREEN(6) 64 CHESS$="A8B8C8D8E8F8G8H8A7B7C7D7E7F7G7H7A6B6C6D6E6F6G6H6A5B5C5D5E5F5G5H5A4B4C4D4E4F4G4H4A3B3C3D3E3F3G3H3A2B2C2D2E2F2G2H2A1B1C1D1E1F1G1H1" 70 S$="FFFFFFFFFFFFFFFF" :: K$="3A7C6EFFFFCF0F1F3736363636367F7F" 75 D$="FFFFFFFFFFFFFFFF" 80 CALL CHAR(96,S$,104,S$,112,K$,115,D$) 83 CALL CHAR(116,"80C0E0F0F8FCFEF") :: CALL CHAR(117,"0103070F1F3F7FFF")!KNIGHTSYMBOL 85 CALL CHAR(118,"FFFFFFFFFF1F1F1F") :: CALL CHAR(119,"FFFFFFFFFF000000")!KNIGHTSYMBOL 90 !DRAW SQUARES 100 FOR I=1 TO 3 :: FOR J=1 TO 3 120 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 130 NEXT J :: NEXT I 140 FOR I=4 TO 6 :: FOR J=4 TO 6 150 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 160 NEXT J :: NEXT I 170 FOR I=7 TO 9 :: FOR J=1 TO 3 180 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 190 NEXT J :: NEXT I 200 FOR I=10 TO 12 :: FOR J=4 TO 6 210 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 220 NEXT J :: NEXT I 230 FOR I=13 TO 15 :: FOR J=1 TO 3 240 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 250 NEXT J :: NEXT I 260 FOR I=16 TO 18 :: FOR J=4 TO 6 270 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 280 NEXT J :: NEXT I 290 FOR I=19 TO 21 :: FOR J=1 TO 3 300 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 310 NEXT J :: NEXT I 320 FOR I=22 TO 24 :: FOR J=4 TO 6 330 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 340 NEXT J :: NEXT I 350 !BOTTOMRIGHTCORNER 360 FOR I=19 TO 24 :: FOR J=25 TO 32 370 CALL HCHAR(I,J,96) 380 NEXT J :: NEXT I 390 !MIDDLERIGHTSIDE 400 FOR I=7 TO 18 :: FOR J=25 TO 32 410 CALL HCHAR(I,J,104) 420 NEXT J :: NEXT I 421 !KNIGHT SYMBOL 422 CALL HCHAR(11,27,115,4) :: CALL HCHAR(12,27,115,2) :: CALL HCHAR(13,28,115,2) :: CALL HCHAR(14,28,115,2) 423 CALL HCHAR(15,27,115,4) :: CALL HCHAR(10,28,115) 424 CALL HCHAR(9,28,116) :: CALL HCHAR(10,27,117) :: CALL HCHAR(10,29,118) :: CALL HCHAR(12,30,119) 429 !STATS DISPLAY 430 DISPLAY AT(20,23):"KNIGHT" 440 DISPLAY AT(22,23):"MOVES"!:: DISPLAY AT(2,28):SQUARE$:: DISPLAY AT(4,28):"OLD" 450 !ISPLAY AT(6,27):"LAST" 480 HR=105 :: HC=105 490 CALL SPRITE(#1,112,16,HR,HC)!KNIGHT-SPRITE 495 !MAIN LOOP 500 CALL JOYST(1,X,Y) :: CALL KEY(1,K,S) :: DR,DC=0 510 CALL POSITION(#1,HR,HC) 520 IF X=0 AND Y=4 THEN DR=HR-48 :: DC=HC-24 :: GOTO 600 530 IF X=4 AND Y=4 THEN DR=HR-48 :: DC=HC+24 :: GOTO 600 540 IF X=4 AND Y=0 THEN DR=HR-24 :: DC=HC+48 :: GOTO 600 550 IF X=4 AND Y=-4 THEN DR=HR+24 :: DC=HC+48 :: GOTO 600 560 IF X=0 AND Y=-4 THEN DR=HR+48 :: DC=HC+24 :: GOTO 600 570 IF X=-4 AND Y=-4 THEN DR=HR+48 :: DC=HC-24 :: GOTO 600 580 IF X=-4 AND Y=0 THEN DR=HR+24 :: DC=HC-48 :: GOTO 600 590 IF X=-4 AND Y=4 THEN DR=HR-24 :: DC=HC-48 :: GOTO 600 600 IF(DR<1 OR DR>192)OR(DC<1 OR DC>192)THEN GOTO 500 610 CALL LOCATE(#1,DR,DC) :: CALL SQUARE(DR,DC,CHESS$)!: DR,DC=0 :: FOR D=1 TO 100 :: NEXT D :: GOTO 500 620 DR,DC=0 :: FOR D=1 TO 100 :: NEXT D :: GOTO 500 700 SUB SQUARE(DR,DC,CHESS$) 710 R=INT((DR+7)/8) :: C=INT((DC+7)/8) :: QR=(R+1)/3 :: QC=(C+1)/3 :: SQ=(QR-1)*8+QC 720 SQUARE$=SEG$(CHESS$,SQ*2-1,2) 725 DISPLAY AT(2,26):SQUARE$ 726 DISPLAY AT(3,26):SQ 730 SUBEND
  19. The latest code to Citybomber... 50 !*************** 60 !* CITY BOMBER * 70 !*************** 80 !11-01-11 90 !NOVEMBER 1, 2011. 95 CALL TITLE 100 CALL CLEAR :: CALL SCREEN( 110 CALL COLOR(9,5,1,8,8,1,12,7,1) :: DR=89 120 N0$="3C2424242424243C" 130 N1$="1818181818181818" 140 N2$="3C04043C3C20203C" 150 N3$="3C04043C3C04043C" 160 N4$="2424243C04040404" 170 N5$="3C20203C3C04043C" 180 N6$="202020203C34343C" 190 N7$="3C04040404040404" 192 N8$="3C24243C3C24243C" 194 N9$="3C24343C04040404" 200 B1$="00007C7CFEFEFFFF" 210 B2$="00E0E0E0E0FFFFFF" 220 B3$="003C3C3C3CFFFFFF" 230 B4$="00F8F8FBFBFFFFFF" 240 B5$="007777777777FFFF" 250 B6$="78787E7E7FFFFFFF" 260 B7$="10387C7C7C7CFFFF" 270 B8$="10545456DFFFFFFF" 280 BR$="88C4FF1F0408000000000000000000000000C0F0000000000000000000000000" 290 BL$="01023FFF0201000000000000000000001030F080000000000000000000000000" 291 BO$="3838FE3838383810"!BOMB 292 C1$="024827B41E532F5FFFFF7F3F1B0F030080A0F8F0F4FCECF0FEFAFEFDEAC28010" 293 C2$="153F7FFFFFFFFF7F7F7C7EFF3E7C1A084862FCBCFAE492400000000000000000" 294 S$="0000001818000000"!STAR 295 D$="0000000000000F0F0F0F000000000000000000000000F0F0F0F0000000000000" 300 CALL CHAR(96,B1$,97,B2$,98,B3$,99,B4$,100,B5$,101,B6$,102,B7$,103,B8$)!BUILDINGS 310 CALL CHAR(88,S$,112,BR$,104,C1$,108,C2$,136,BO$,48,N0$,49,N1$,50,N2$,51,N3$,52,N4$,53,N5$,54,N6$,55,N7$,56,N8$,57,N9$,120,D$) 320 !RINT 0;1;2;3;4;5;6;7;8;9 330 !OTO 330 340 FOR I=1 TO 30 :: R=INT(RND*24)+1 :: C=INT(RND*32)+1 :: CALL HCHAR(R,C,88) :: NEXT I!SCATTERSTARS 385 !DRAW BUILDINGS 390 CALL HCHAR(24,1,97,2) :: CALL HCHAR(24,31,103,2) 400 BL1$=CHR$(96)&CHR$(97)&CHR$(98)&CHR$(99)&CHR$(100)&CHR$(101)&CHR$(102)&CHR$(103) 410 BL2$=CHR$(102)&CHR$(99)&CHR$(96)&CHR$(103)&CHR$(101)&CHR$(98)&CHR$(100)&CHR$(97) 420 BL3$=CHR$(97)&CHR$(101)&CHR$(98)&CHR$(102)&CHR$(96)&CHR$(100)&CHR$(99)&CHR$(103) 430 BL4$=CHR$(99)&CHR$(96)&CHR$(98)&CHR$(97)&CHR$(102)&CHR$(100) 440 DISPLAY AT(24,1):BL1$ :: DISPLAY AT(24,9):BL2$ :: DISPLAY AT(24,17):BL3$ :: DISPLAY AT(24,23):BL4$ 490 CALL MAGNIFY(4) 495 CALL SPRITE(#1,104,16,1,1,0,1)!CLOUD1 500 CALL SPRITE(#2,112,5,DR,1,0,10)!BOMBER RIGHT 510 CALL SPRITE(#3,136,2,193,1)!BOMB 515 CALL SPRITE(#4,120,7,185,1)!DOT 520 CALL SPRITE(#8,108,16,17,121,0,1)!CLOUD2 700 !MAIN LOOP 710 CALL JOYST(1,X,Y) :: X=-4 :: CALL MOTION(#2,-Y*2.5,-X*2.5)!: CALL SOUND(100,-5,7) 720 CALL KEY(1,K,S) :: IF K=18 THEN CALL BOMB(DR) 730 CALL KEY(1,K,S) :: IF K=3 THEN CALL NIGHT 760 CALL POSITION(#3,DR,DC) :: DISPLAY AT(20,10):"DR= ";DR;"DC= ";DC 765 !F DR>165 THEN CALL LOCATE(#3,193,1):: CALL MOTION(#3,0,0) 770 CALL DOT(D) 780 DISPLAY AT(1,25):"HITS=";D 783 CALL POSITION(#2,DR,DC) :: IF DC<233 THEN 785 ELSE 1000 785 FLIP=(FLIP+1)AND 3 :: DISPLAY AT(24,1):SEG$(BD$,FLIP*28+1,28) 787 IF D=45 THEN GOTO 1010 1000 GOTO 710 1010 CALL CLEAR :: CALL CHARPAT :: CALL HCHAR(1,1, ? ,288) :: CALL HCHAR(10,1, ? ,320) 1015 !PYRAMID LINES LEFT SAND RIGHT 1030 CALL VCHAR(3,1,?,7)::CALL VCHAR(4,2,?,6)::CALL VCHAR(6,3,?,4)!BUILDINGS 1033 CALL VCHAR(5,5,?,5) :: CALL VCHAR(3,6,?,7) :: CALL VCHAR(4,7,?,6) :: CALL VCHAR(5,8,?,5) 1036 CALL VCHAR(6,10,?,4) :: CALL VCHAR(3,11,?,6) :: CALL VCHAR(3,12,?,6) :: CALL VCHAR(4,13,?,5) 1038 CALL VCHAR(5,15,?,5) :: CALL VCHAR(4,16,?,6) :: CALL VCHAR(3,17,?,7) 1040 !LEFT SIDE SMALL BUILDINGS 1041 CALL VCHAR(17,1,?,5) :: CALL VCHAR(17,2,?,5) :: CALL VCHAR(17,3,?,5) 1043 CALL VCHAR(12,7,?,4) :: CALL VCHAR(12,8,?,4) :: CALL VCHAR(12,9,?,4) 1045 CALL VCHAR(9,11,?,3) :: CALL VCHAR(9,12,?,3) :: CALL VCHAR(9,13,?,3) 1047 CALL VCHAR(2,19,?, :: CALL VCHAR(2,20,?,7) 1049 CALL VCHAR(2,22,?,7) :: CALL VCHAR(2,23,?, :: CALL VCHAR(2,24, 1051 CALL VCHAR(3,26,?,7) :: CALL VCHAR(4,27,?,6) :: CALL VCHAR(5,28,?,5) 1053 CALL VCHAR(4,30,?,6) :: CALL VCHAR(3,31,?,7) :: CALL VCHAR(3,32,7) 1060 !RIGHT SIDE SMALL BUILDINGS 1061 CALL VCHAR(9,20,?,3) :: CALL VCHAR(9,21,?,3) :: CALL VCHAR(9,22,?,3) 1063 CALL VCHAR(12,24,?,4) :: CALL VCHAR(12,25,?,4) :: CALL VCHAR(12,26,?,4) 1065 CALL VCHAR(17,30,?,5) :: CALL VCHAR(17,31,?,5) :: CALL VCHAR(17,32,?,5) 1070 !ROAD RUNWAY 1071 CALL HCHAR(10,16,?,2) :: CALL HCHAR(15,11,?,12) :: CALL HCHAR(20,6,?,22) 1073 CALL HCHAR(11,15,?,4) :: CALL HCHAR(16,10,?,14) :: CALL HCHAR(21,5,?,24) 1075 CALL HCHAR(12,14,?,6) :: CALL HCHAR(17,9,?,16) :: CALL HCHAR(22,4,?,26) 1077 CALL HCHAR(13,13,?, :: CALL HCHAR(18,8,?,18) :: CALL HCHAR(23,3,?,28) 1079 CALL HCHAR(14,12,?,10) :: CALL HCHAR(19,7,?,20) :: CALL HCHAR(24,2,?,30) 1100 SUB BOMB(DR) 1105 CALL POSITION(#2,DR,DC) 1110 CALL LOCATE(#3,DR+5,DC) :: CALL MOTION(#3,20,0) :: CALL POSITION(#3,DR,DC) :: IF DR>165 THEN CALL LOCATE(#3,193,1) :: CALL MOTION(#3,0,0) 1120 SUBEND 1130 SUB NIGHT 1135 CALL SCREEN(2) :: CALL LOCATE(#1,193,1) :: CALL LOCATE(#8,193,1)!MOVECLOUDSOFFSCREEN 1140 CALL COLOR(8,16,1)!STARSCOMEOUT 1150 SUBEND 1151 SUB DAY 1152 CALL SCREEN( :: CALL COLOR(8,8,1) :: CALL LOCATE(#1,1,1,#8,17,121) 1154 SUBEND 1155 SUB DOT(D) 1157 CALL COINC(#3,#4,10,C) :: IF C THEN 1160 ELSE 1190 1160 D=D+1 :: RANDOMIZE :: A=175 :: B=INT(RND*255) :: CALL LOCATE(#4,A+1,B+1) 1170 CALL POSITION(#3,DR,DC) :: IF DR>165 THEN CALL LOCATE(#3,193,1) :: CALL MOTION(#3,0,0) 1175 !ALL COINC(#3,#4,10,C):: IF C THEN CALL SOUND(400,-2,5):: CALL LOCATE(#4,193,1) 1180 IF D=10 THEN CALL NIGHT 1181 IF D=20 THEN CALL DAY 1182 IF D=30 THEN CALL NIGHT 1183 IF D=40 THEN CALL DAY 1190 SUBEND 1200 SUB TITLE 1205 CALL CHARSET :: CALL CLEAR :: CALL SCREEN(2) :: CALL COLOR(9,5,2,10,5,2,11,14,2) 1210 CALL CHAR(96,RPT$("F",16)) :: CALL CHAR(97,"81C3E7E7E7E7E7FF") :: CALL CHAR(98,"FF7F3F1F0F070301") :: CALL CHAR(112,RPT$("F",16)) 1211 CALL CHAR(99,"FFFEFCF8F0E0C080") :: CALL CHAR(100,"FFFFC3C3C3C3FFFF") :: CALL CHAR(101,"7E3C181818181800") 1212 CALL CHAR(102,"FFFEC08080C0FEFF") :: CALL CHAR(103,"000000FFFF000000") :: CALL CHAR(104,"000000F0F0000000") 1214 CALL CHAR(105,"80C0E0F0F0F8F8F8") 1220 CALL HCHAR(2,2,96,30) 1230 CALL HCHAR(23,2,96,30) 1240 CALL VCHAR(2,2,96,24) 1250 CALL VCHAR(2,31,96,23) 1260 CALL HCHAR(5,7,96,3) :: CALL HCHAR(7,7,96,3) :: CALL HCHAR(5,11,96,3) :: CALL HCHAR(7,11,96,3) 1264 CALL VCHAR(6,20,96,2) 1265 CALL HCHAR(6,7,96) :: CALL HCHAR(6,12,96) :: CALL VCHAR(5,16,96,3) 1270 CALL HCHAR(5,15,96,3) :: CALL HCHAR(5,19,96) :: CALL HCHAR(5,21,96) 1275 CALL VCHAR(10,7,96,3) :: CALL HCHAR(10,12,96) :: CALL HCHAR(12,12,96) 1277 CALL HCHAR(10,9,96) :: CALL HCHAR(11,9,102) :: CALL HCHAR(12,9,96) 1280 CALL VCHAR(10,11,96,3) :: CALL VCHAR(10,13,96,3) :: CALL VCHAR(10,15,96,3) :: CALL VCHAR(10,17,96,3) 1290 CALL VCHAR(10,19,96,3) :: CALL VCHAR(10,21,96,3) :: CALL VCHAR(10,23,96,3) :: CALL HCHAR(10,24,96,2) 1295 CALL HCHAR(12,24,96,2) :: CALL VCHAR(10,27,96,3) 1300 CALL VCHAR(16,4,112,7) :: CALL VCHAR(16,5,112,7) :: CALL VCHAR(16,6,112,7) :: CALL VCHAR(19,7,112,4) 1310 CALL HCHAR(17,11,112,4) :: CALL HCHAR(18,10,112,6) :: CALL HCHAR(19,10,112,6) :: CALL HCHAR(20,10,112,6) 1320 CALL HCHAR(21,10,112,6) :: CALL HCHAR(22,10,112,6) :: CALL VCHAR(19,19,112,4) :: CALL VCHAR(15,20,112, 1330 CALL VCHAR(15,21,112, :: CALL VCHAR(15,22,112, :: CALL VCHAR(15,24,112, :: CALL VCHAR(21,25,112,2) :: CALL VCHAR(18,28,112,5) 1340 CALL VCHAR(16,29,112,7) :: CALL VCHAR(15,30,112, 1350 CALL HCHAR(11,8,96) :: CALL HCHAR(11,16,96) :: CALL HCHAR(10,21,96) :: CALL HCHAR(11,20,96) :: CALL HCHAR(12,21,96) 1360 CALL HCHAR(10,29,96) :: CALL HCHAR(11,28,96) :: CALL HCHAR(5,20,97) :: CALL HCHAR(6,19,98) :: CALL HCHAR(6,21,99) 1370 CALL HCHAR(10,8,100) :: CALL HCHAR(12,8,100) :: CALL HCHAR(10,16,97) :: CALL HCHAR(12,16,101) :: CALL HCHAR(10,20,100) 1380 CALL HCHAR(12,20,100) :: CALL HCHAR(11,21,102) :: CALL HCHAR(11,24,103) :: CALL HCHAR(11,25,104) 1390 CALL HCHAR(10,28,100) :: CALL HCHAR(11,29,102) :: CALL HCHAR(12,29,98) 1400 CALL HCHAR(12,30,105) 1600 INPUT Z$ 1610 SUBEND
  20. This one is a programming exercise to make a Knight move around on a chessboard. Thanks to some help it works. Any suggestions on what to add to it or change about it? 10 !KNIGHTMOVES-K1 40 !KNIGHT MOVES 50 !BY JAMES PEYTON 2012 55 CALL CLEAR :: CALL CHARSET 60 CALL COLOR(9,13,1,10,3,1,11,16,3) :: CALL SCREEN(6) 70 S$="FFFFFFFFFFFFFFFF" :: K$="3A7C6EFFFFCF0F1F3736363636367F7F" 75 D$="FFFFFFFFFFFFFFFF" 80 CALL CHAR(96,S$,104,S$,112,K$,115,D$) 83 CALL CHAR(116,"80C0E0F0F8FCFEF") :: CALL CHAR(117,"0103070F1F3F7FFF")!KNIGHTSYMBOL 85 CALL CHAR(118,"FFFFFFFFFF1F1F1F") :: CALL CHAR(119,"FFFFFFFFFF000000")!KNIGHTSYMBOL 90 !DRAW SQUARES 100 FOR I=1 TO 3 :: FOR J=1 TO 3 120 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 130 NEXT J :: NEXT I 140 FOR I=4 TO 6 :: FOR J=4 TO 6 150 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 160 NEXT J :: NEXT I 170 FOR I=7 TO 9 :: FOR J=1 TO 3 180 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 190 NEXT J :: NEXT I 200 FOR I=10 TO 12 :: FOR J=4 TO 6 210 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 220 NEXT J :: NEXT I 230 FOR I=13 TO 15 :: FOR J=1 TO 3 240 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 250 NEXT J :: NEXT I 260 FOR I=16 TO 18 :: FOR J=4 TO 6 270 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 280 NEXT J :: NEXT I 290 FOR I=19 TO 21 :: FOR J=1 TO 3 300 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 310 NEXT J :: NEXT I 320 FOR I=22 TO 24 :: FOR J=4 TO 6 330 CALL HCHAR(I,J,96) :: CALL HCHAR(I,J+6,96) :: CALL HCHAR(I,J+12,96) :: CALL HCHAR(I,J+18,96) 340 NEXT J :: NEXT I 350 !BOTTOMRIGHTCORNER 360 FOR I=19 TO 24 :: FOR J=25 TO 32 370 CALL HCHAR(I,J,96) 380 NEXT J :: NEXT I 390 !MIDDLERIGHTSIDE 400 FOR I=7 TO 18 :: FOR J=25 TO 32 410 CALL HCHAR(I,J,104) 420 NEXT J :: NEXT I 421 !KNIGHT SYMBOL 422 CALL HCHAR(11,27,115,4) :: CALL HCHAR(12,27,115,2) :: CALL HCHAR(13,28,115,2) :: CALL HCHAR(14,28,115,2) 423 CALL HCHAR(15,27,115,4) :: CALL HCHAR(10,28,115) 424 CALL HCHAR(9,28,116) :: CALL HCHAR(10,27,117) :: CALL HCHAR(10,29,118) :: CALL HCHAR(12,30,119) 429 !STATS DISPLAY 430 DISPLAY AT(20,23):"KNIGHT" 440 DISPLAY AT(22,23):"MOVES"!:: DISPLAY AT(2,28):"NEW" :: DISPLAY AT(4,28):"OLD" 450 !ISPLAY AT(6,27):"LAST" 480 HR=105 :: HC=105 490 CALL SPRITE(#1,112,16,HR,HC)!KNIGHT-SPRITE 495 !MAIN LOOP 500 CALL JOYST(1,X,Y) :: CALL KEY(1,K,S) :: DR,DC=0 510 CALL POSITION(#1,HR,HC) 520 IF X=0 AND Y=4 THEN DR=HR-48 :: DC=HC-24 :: GOTO 600 530 IF X=4 AND Y=4 THEN DR=HR-48 :: DC=HC+24 :: GOTO 600 540 IF X=4 AND Y=0 THEN DR=HR-24 :: DC=HC+48 :: GOTO 600 550 IF X=4 AND Y=-4 THEN DR=HR+24 :: DC=HC+48 :: GOTO 600 560 IF X=0 AND Y=-4 THEN DR=HR+48 :: DC=HC+24 :: GOTO 600 570 IF X=-4 AND Y=-4 THEN DR=HR+48 :: DC=HC-24 :: GOTO 600 580 IF X=-4 AND Y=0 THEN DR=HR+24 :: DC=HC-48 :: GOTO 600 590 IF X=-4 AND Y=4 THEN DR=HR-24 :: DC=HC-48 :: GOTO 600 600 IF(DR<1 OR DR>192)OR(DC<1 OR DC>192)THEN GOTO 500 610 CALL LOCATE(#1,DR,DC) :: DR,DC=0 :: FOR D=1 TO 100 :: NEXT D :: GOTO 500
  21. The next one is an attempt to make a character move with a joystick using background graphics. It moves, but does not erase properly. The process is draw, erase, draw erase to make it move. 10 !BGTEST 15 CALL CLEAR 200 X1=7 :: X2=9 :: X3=10 :: X4=11 :: X5=12 :: X6=13 :: X7=14 :: X8=15 :: X9=21 205 Y1=17 :: Y2=16 :: Y3=11 :: Y4=18 :: Y5=14 :: Y6=19 :: E=32 :: C=96 210 CALL COLOR(9,9,9) :: CALL SCREEN(6) :: CALL CHAR(96,RPT$("F",16)) 290 !DRAW INITIAL FIGURE IN BACKGROUND 300 CALL VCHAR(X1,Y1,C,2) 310 CALL HCHAR(X2,Y2,C,3) 320 CALL HCHAR(X3,Y3,C,13) 330 CALL HCHAR(X4,Y2,C,3) 340 CALL HCHAR(X5,Y2,C,3) 350 CALL HCHAR(X6,Y2,C,3) 360 CALL HCHAR(X7,Y2,C,3) 370 CALL VCHAR(X8,Y2,C,7) 380 CALL VCHAR(X8,Y4,C,7) 390 CALL HCHAR(X9,Y5,C,2) 395 CALL HCHAR(X9,Y6,C,2) 400 CALL JOYST(1,X,Y) 410 IF Y=4 THEN CALL UP(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 420 IF Y=-4 THEN CALL DOWN(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 430 IF X=-4 THEN CALL LEFT(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 440 IF X=4 THEN CALL RIGHT(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 450 DISPLAY AT(1,1):"X1=";X1;"Y1=";Y1;"X2=";X2;"X3=";X3;"X4=";X4;"E=";E;"C=";C 455 DISPLAY AT(23,1):"Y1=";Y1;"Y2=";Y2;"Y3=";Y3;"Y4=";Y4 460 DISPLAY AT(24,1):"X5=";X5;"X6=";X6;"Y5=";Y5;"Y6=";Y6 490 GOTO 400!MAIN LOOP 500 SUB UP(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 510 CALL VCHAR(X1,Y1,E,2) :: CALL VCHAR(X1-1,Y1,C,2) :: X1=X1-1 520 CALL HCHAR(X2,Y2,E,3) :: CALL HCHAR(X2-1,Y2,C,3) :: X2=X2-1 530 CALL HCHAR(X3,Y3,E,13) :: CALL HCHAR(X3-1,Y3,C,13) :: X3=X3-1 540 CALL HCHAR(X4,Y2,E,3) :: CALL HCHAR(X4-1,Y2,C,3) :: X4=X4-1 550 CALL HCHAR(X5,Y2,E,3) :: CALL HCHAR(X5-1,Y2,C,3) :: X5=X5-1 560 CALL HCHAR(X6,Y2,E,3) :: CALL HCHAR(X6-1,Y2,C,3) :: X6=X6-1 570 CALL HCHAR(X7,Y2,E,3) :: CALL HCHAR(X7-1,Y2,C,3) :: X7=X7-1 580 CALL VCHAR(X8,Y2,E,7) :: CALL VCHAR(X8-1,Y2,C,7) 590 CALL VCHAR(X8,Y4,E,7) :: CALL VCHAR(X8-1,Y4,C,7) :: X8=X8-1 593 CALL HCHAR(X9,Y5,E,2) :: CALL HCHAR(X9-1,Y5,C,2) 595 CALL HCHAR(X9,Y6,E,2) :: CALL HCHAR(X9-1,Y6,C,2) :: X9=X9-1 597 SUBEND 600 SUB DOWN(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 610 CALL HCHAR(X9,Y6,E,2) :: CALL HCHAR(X9+1,Y6,C,2) 620 CALL HCHAR(X9,Y5,E,2) :: CALL HCHAR(X9+1,Y5,C,2) :: X9=X9+1 630 CALL VCHAR(X8,Y4,E,7) :: CALL VCHAR(X8+1,Y4,C,7) 640 CALL VCHAR(X8,Y2,E,7) :: CALL VCHAR(X8+1,Y2,C,7) :: X8=X8+1 650 CALL HCHAR(X7,Y2,E,3) :: CALL HCHAR(X7+1,Y2,C,3) :: X7=X7+1 660 CALL HCHAR(X6,Y2,E,3) :: CALL HCHAR(X6+1,Y2,C,3) :: X6=X6+1 670 CALL HCHAR(X5,Y2,E,3) :: CALL HCHAR(X5+1,Y2,C,3) :: X5=X5+1 680 CALL HCHAR(X4,Y2,E,3) :: CALL HCHAR(X4+1,Y2,C,3) :: X4=X4+1 690 CALL HCHAR(X3,Y3,E,13) :: CALL HCHAR(X3+1,Y3,C,13) :: X3=X3+1 693 CALL HCHAR(X2,Y2,E,3) :: CALL HCHAR(X2+1,Y2,C,3) :: X2=X2+1 695 CALL VCHAR(X1,Y1,E,2) :: CALL VCHAR(X1+1,Y1,C,2) :: X1=X1+1 697 SUBEND 700 SUB LEFT(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 710 CALL VCHAR(X1,Y1,E,2) :: CALL VCHAR(X1,Y1-1,C,2) :: Y1=Y1-1 720 CALL HCHAR(X2,Y2,E,3) :: CALL HCHAR(X2,Y2-1,C,3) 730 CALL HCHAR(X3,Y3,E,13) :: CALL HCHAR(X3,Y3-1,C,13) :: Y3=Y3-1 740 CALL HCHAR(X4,Y2,E,3) :: CALL HCHAR(X4,Y2-1,C,3) 750 CALL HCHAR(X5,Y2,E,3) :: CALL HCHAR(X5,Y2-1,C,3) 760 CALL HCHAR(X6,Y2,E,3) :: CALL HCHAR(X6,Y2-1,C,3) 770 CALL VCHAR(X7,Y2,E,3) :: CALL VCHAR(X7,Y2-1,C,3) 780 CALL VCHAR(X7,Y2,E,7) :: CALL VCHAR(X7,Y2-1,C,7) :: Y2=Y2-1 790 CALL HCHAR(X5,Y4,E,7) :: CALL HCHAR(X5,Y4-1,C,7) :: Y4=Y4-1 793 CALL HCHAR(X8,Y5,E,2) :: CALL HCHAR(X8,Y5-1,C,2) :: Y5=Y5-1 795 CALL HCHAR(X9,Y6,E,2) :: CALL HCHAR(X9,Y6-1,C,2) :: Y6=Y6-1 797 SUBEND 800 SUB RIGHT(X1,X2,X3,X4,X5,X6,X7,X8,X9,Y1,Y2,Y3,Y4,Y5,Y6,E,C) 810 CALL HCHAR(X9,Y6,E) :: CALL HCHAR(X9,Y6+1,C) :: Y6=Y6+1 820 CALL HCHAR(X8,Y5,E) :: CALL HCHAR(X8,Y5+1,C) :: Y5=Y5+1 830 CALL HCHAR(X5,Y4,E) :: CALL HCHAR(X5,Y4+1,C) :: Y4=Y4+1 840 CALL VCHAR(X7,Y2,E) :: CALL VCHAR(X7,Y2+1,C) :: Y2=Y2+1 850 CALL VCHAR(X7,Y2,E) :: CALL VCHAR(X7,Y2+1,C) 860 CALL HCHAR(X6,Y2,E) :: CALL HCHAR(X6,Y2+1,C) 870 CALL HCHAR(X5,Y2,E) :: CALL HCHAR(X5,Y2+1,C) 880 CALL HCHAR(X4,Y2,E) :: CALL HCHAR(X4,Y2+1,C) 890 CALL HCHAR(X3,Y3,E) :: CALL HCHAR(X3,Y3+1,C) :: Y3=Y3+1 893 CALL HCHAR(X2,Y2,E,3) :: CALL HCHAR(X2,Y2+1,C,3) 895 CALL VCHAR(X1,Y1,E,2) :: CALL VCHAR(X1,Y1+1,C,2) :: Y1=Y1+1 897 SUBEND
  22. I started this topic to put little bits that I was working on in case anyone was interested in them and also to get help on how to improve them. The first is a drawing of several pyramid shapes within a larger pyramid. How can the empty spot in the center be programmed to connect? There is a gaping hole, but not sure how to change the loop so that it would work. 10 !RAINBOW 50 ! RAINBOW PYRAMID 60 CALL CLEAR :: CALL SCREEN(2) :: CALL COLOR(9,7,2,10,12,2,11,10,2,12,5,2,13,8,2,14,4,2) 65 CALL COLOR(8,12,2)!YELLOW 70 L$="0102040810204080" :: R$="8040201008040201" :: LC$="01020408102040FF" :: RC$="80402010080402FF" :: H$="00000000000000FF" 80 CALL CHAR(96,L$,97,R$,98,LC$,99,RC$,100,H$,104,L$,105,R$,106,LC$,107,RC$,108,H$,112,L$,113,R$,114,LC$,115,RC$,116,H$) 85 CALL CHAR(120,L$,121,R$,122,LC$,123,RC$,124,H$,128,L$,129,R$,130,LC$,131,RC$,132,H$,136,L$,137,R$,138,LC$,139,RC$,140,H$) 87 CALL CHAR(88,L$,89,R$,90,LC$,91,RC$,92,H$) 90 CC=1 :: C=17 100 !DRAW LEFT SIDE 110 FOR I=10 TO 23 120 CC=CC+1 130 CALL HCHAR(I,C-CC,96) 140 NEXT I 142 CC=1 144 FOR I=11 TO 22 145 CC=CC+1 146 CALL HCHAR(I,C-CC,88) 147 NEXT I 148 CC=1 150 FOR I=12 TO 21 160 CC=CC+1 170 CALL HCHAR(I,C-CC,104) 180 NEXT I 185 CC=1 190 FOR I=13 TO 20 200 CC=CC+1 210 CALL HCHAR(I,C-CC,112) 220 NEXT I 225 CC=1 230 FOR I=14 TO 19 240 CC=CC+1 250 CALL HCHAR(I,C-CC,120) 260 NEXT I 265 CC=1 270 FOR I=15 TO 18 280 CC=CC+1 290 CALL HCHAR(I,C-CC,128) 300 NEXT I 305 CC=1 310 FOR I=16 TO 17 320 CC=CC+1 330 CALL HCHAR(I,C-CC,136) 340 NEXT I 345 CC=1 350 ! *DRAW TRIANGLE BOTTOM* 360 CALL HCHAR(24,2,100,30) :: CALL HCHAR(22,6,108,22) :: CALL HCHAR(21,8,116,18) 370 CALL HCHAR(20,10,124,14) :: CALL HCHAR(19,12,132,10) :: CALL HCHAR(18,14,140,6) 380 CALL HCHAR(23,4,92,26) 390 ! *DRAW CAPS -7 LEFT,7 RIGHT 400 CALL HCHAR(24,1,98) :: CALL HCHAR(24,32,99) :: CALL HCHAR(22,5,106) :: CALL HCHAR(22,28,107) 410 CALL HCHAR(21,7,114) :: CALL HCHAR(21,26,115) :: CALL HCHAR(20,9,122) :: CALL HCHAR(20,24,123) 420 CALL HCHAR(19,11,130) :: CALL HCHAR(19,22,131) :: CALL HCHAR(18,13,138) :: CALL HCHAR(18,20,139) 425 CALL HCHAR(23,3,90) :: CALL HCHAR(23,30,91) 430 CC=0 440 ! *DRAW RIGHT SIDE 450 FOR I=10 TO 23 460 CC=CC+1 470 CALL HCHAR(I,C+CC,97) 480 NEXT I 490 CC=0 500 FOR I=11 TO 22 510 CC=CC+1 520 CALL HCHAR(I,C+CC,89) 530 NEXT I 540 CC=0 550 FOR I=12 TO 21 560 CC=CC+1 570 CALL HCHAR(I,C+CC,105) 580 NEXT I 590 CC=0 600 FOR I=13 TO 20 610 CC=CC+1 620 CALL HCHAR(I,C+CC,113) 630 NEXT I 640 CC=0 650 FOR I=14 TO 19 660 CC=CC+1 670 CALL HCHAR(I,C+CC,121) 680 NEXT I 690 CC=0 700 FOR I=15 TO 18 710 CC=CC+1 720 CALL HCHAR(I,C+CC,129) 730 NEXT I 740 CC=0 750 FOR I=16 TO 17 760 CC=CC+1 780 CALL HCHAR(I,C+CC,137) 790 NEXT I 800 CC=0 810 GOTO 810
  23. I started this topic to put little bits that I was working on in case anyone was interested in them and also to get help on how to improve them. The first is a drawing of several pyramid shapes within a larger pyramid. How can the empty spot in the center be programmed to connect? There is a gaping hole, but not sure how to change the loop so that it would work. 10 !RAINBOW 50 ! RAINBOW PYRAMID 60 CALL CLEAR :: CALL SCREEN(2) :: CALL COLOR(9,7,2,10,12,2,11,10,2,12,5,2,13,8,2,14,4,2) 65 CALL COLOR(8,12,2)!YELLOW 70 L$="0102040810204080" :: R$="8040201008040201" :: LC$="01020408102040FF" :: RC$="80402010080402FF" :: H$="00000000000000FF" 80 CALL CHAR(96,L$,97,R$,98,LC$,99,RC$,100,H$,104,L$,105,R$,106,LC$,107,RC$,108,H$,112,L$,113,R$,114,LC$,115,RC$,116,H$) 85 CALL CHAR(120,L$,121,R$,122,LC$,123,RC$,124,H$,128,L$,129,R$,130,LC$,131,RC$,132,H$,136,L$,137,R$,138,LC$,139,RC$,140,H$) 87 CALL CHAR(88,L$,89,R$,90,LC$,91,RC$,92,H$) 90 CC=1 :: C=17 100 !DRAW LEFT SIDE 110 FOR I=10 TO 23 120 CC=CC+1 130 CALL HCHAR(I,C-CC,96) 140 NEXT I 142 CC=1 144 FOR I=11 TO 22 145 CC=CC+1 146 CALL HCHAR(I,C-CC,88) 147 NEXT I 148 CC=1 150 FOR I=12 TO 21 160 CC=CC+1 170 CALL HCHAR(I,C-CC,104) 180 NEXT I 185 CC=1 190 FOR I=13 TO 20 200 CC=CC+1 210 CALL HCHAR(I,C-CC,112) 220 NEXT I 225 CC=1 230 FOR I=14 TO 19 240 CC=CC+1 250 CALL HCHAR(I,C-CC,120) 260 NEXT I 265 CC=1 270 FOR I=15 TO 18 280 CC=CC+1 290 CALL HCHAR(I,C-CC,128) 300 NEXT I 305 CC=1 310 FOR I=16 TO 17 320 CC=CC+1 330 CALL HCHAR(I,C-CC,136) 340 NEXT I 345 CC=1 350 ! *DRAW TRIANGLE BOTTOM* 360 CALL HCHAR(24,2,100,30) :: CALL HCHAR(22,6,108,22) :: CALL HCHAR(21,8,116,18) 370 CALL HCHAR(20,10,124,14) :: CALL HCHAR(19,12,132,10) :: CALL HCHAR(18,14,140,6) 380 CALL HCHAR(23,4,92,26) 390 ! *DRAW CAPS -7 LEFT,7 RIGHT 400 CALL HCHAR(24,1,98) :: CALL HCHAR(24,32,99) :: CALL HCHAR(22,5,106) :: CALL HCHAR(22,28,107) 410 CALL HCHAR(21,7,114) :: CALL HCHAR(21,26,115) :: CALL HCHAR(20,9,122) :: CALL HCHAR(20,24,123) 420 CALL HCHAR(19,11,130) :: CALL HCHAR(19,22,131) :: CALL HCHAR(18,13,138) :: CALL HCHAR(18,20,139) 425 CALL HCHAR(23,3,90) :: CALL HCHAR(23,30,91) 430 CC=0 440 ! *DRAW RIGHT SIDE 450 FOR I=10 TO 23 460 CC=CC+1 470 CALL HCHAR(I,C+CC,97) 480 NEXT I 490 CC=0 500 FOR I=11 TO 22 510 CC=CC+1 520 CALL HCHAR(I,C+CC,89) 530 NEXT I 540 CC=0 550 FOR I=12 TO 21 560 CC=CC+1 570 CALL HCHAR(I,C+CC,105) 580 NEXT I 590 CC=0 600 FOR I=13 TO 20 610 CC=CC+1 620 CALL HCHAR(I,C+CC,113) 630 NEXT I 640 CC=0 650 FOR I=14 TO 19 660 CC=CC+1 670 CALL HCHAR(I,C+CC,121) 680 NEXT I 690 CC=0 700 FOR I=15 TO 18 710 CC=CC+1 720 CALL HCHAR(I,C+CC,129) 730 NEXT I 740 CC=0 750 FOR I=16 TO 17 760 CC=CC+1 780 CALL HCHAR(I,C+CC,137) 790 NEXT I 800 CC=0 810 GOTO 810
  24. The current "Atari" has no connection to the original. They bought the legal rights to games, trademarks, and logos, but they never did the work creating all this stuff or producing any of it. It's someone's else's work. One of the many reasons they have no idea what they have or how to use it. Shutting down homebrew games that could infringe on their games profitability and cause money losses is like shooting a pistol at the moon. They alienate some of their market, and lose potential profit. If they were smart, they would work WITH the fans. A company can let others do work they are passionate about more or less for free, and rake in most of the profit. Let's face it, the fans and such know what they are doing much more than Infogrames/"Atari". The current "Atari" barely uses the property they bought, another huge potential money loss, and their weak quality/quantity efforts like the Flashback are insignificant to say the least. The mainstream audience has no time to look or even laugh at the flashback compared to Playstation 3 or Xbox. "Atari" is alienating it's niche market of classic gamers, and their biggest potential target is not getting a quality product. The 30-45 or whatever old mainstream consumer that has some nostalgia and memory of Atari is not likely to be impressed with a machine that is inferior to one made in 1977. "Atari" would not continually feature paddle only games with a joystick if they had the slightest idea of what was going on. So far, most everything they have done is typical, predictable, and headed for going out of business. Plus, they don't want to give you anything. Hello, it's almost 2012 in this post. 40 games? Gimme a break. There should be a hundred games to sell something like this. Can't make a cartridge port, don't want people uploading via USB, emulation rather than running real games,etc. It seems like they won't let Kurt do the things he wants to do, namely make the Flashback better. If you notice kids today playing browser games, a good guess of around 80% of the gameplay is Atari 2600, many have only slightly better graphics. "Atari" is totally snoozing on exploiting the phone games/browser games market. They could probably go for copyright infringement type of pursuits with many of the current games as a secondary thing to making games too, but you don't see them doing that. The current "Atari" is much more hopeless than in 1994, when the real Atari wasn't advertising, losing money, going down to black and white game manuals, but still making a quality product. The only good thing they have is Nolan. But he can't do it all by himself, evidenced by Uwink's not making it. I think without a lot of changes and help, without a lot of listening, they are doomed to failure. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- "Yep! Zwackery hit the nail right on the head. Atari still makes money from Adventure through compilation discs and the Flashback machines. They can still prove they could potentially get physical losses from a little Flash game. They could also claim it is devaluing their brand -- the nicer graphics on "Reboot" makes one not want to play the version in the compilations, and therefore Atari loses out on some market share. Atari has a vested interest in that, which is why that title specifically gets "picked on" -- they still produce it! " Like This
×
×
  • Create New...