Jump to content

orion1052003

Members
  • Content Count

    348
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by orion1052003


  1. 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?


  2. 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": : :
    

    post-19460-0-34978600-1333310239_thumb.jpg

    post-19460-0-71861000-1333310270_thumb.jpg

    post-19460-0-26027000-1333310331_thumb.jpg

    post-19460-0-18475200-1333310366_thumb.jpg

    post-19460-0-46264000-1333310419_thumb.jpg


  3. 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.


  4. 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

    post-19460-0-03844100-1332887719_thumb.jpg

    post-19460-0-08862000-1332887804_thumb.jpg


  5. 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
    


  6. 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
    

    post-19460-0-50522000-1332886690_thumb.jpg


  7. 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
    

    post-19460-0-48218700-1332886230_thumb.jpg


  8. 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?


  9. 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.


  10. 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
    


  11. 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.


  12. post-19460-0-50159800-1329802929_thumb.jpgpost-19460-0-62599900-1329802987_thumb.jpg
    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
    


  13. 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
    


  14. 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
    

    post-19460-0-89484300-1328509967_thumb.jpg

    • Like 1

  15. 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
    

    post-19460-0-53410400-1328509683_thumb.jpg


  16. 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
    


  17. 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
    

    post-19460-0-00772700-1329802737_thumb.jpg

    • Like 1

  18. 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 1
×
×
  • Create New...