It doesn't matter what screen you use...

by Pete (no login)

DIM TC AS INTEGER, TANK AS STRING, OLDTC AS INTEGER, LSR AS INTEGER, TCX AS INTEGER
TANK$ = "L20 U10 R10 E10 F10 R10 D10 L20"
TC = 320: LSR = 0
SCREEN 12: CLS : PSET (TC, 478): DRAW "C14" + TANK$: TCX = 456
DO
z1 = TIMER
IF TCX < 1 THEN GOSUB resetbullet
IF bulletdelay% = -1 THEN
z2bullet = TIMER: bulletdelay% = 0
IF TCX <= 1 THEN PSET (OLDTC, TCX + 5), 0: DRAW "D5": TCX = 456
PSET (OLDTC, TCX + 5), 0: DRAW "D5": PSET (OLDTC, TCX), 12: DRAW "U5": TCX = TCX - 10
END IF
ARROW$ = INKEY$
SELECT CASE ARROW$
CASE CHR$(0) + CHR$(75): IF TC > 20 THEN PSET (TC, 478), 0: DRAW TANK$: TC = TC - 10: PSET (TC, 478), 14: DRAW TANK$
CASE CHR$(0) + CHR$(77): IF TC < 620 THEN PSET (TC, 478), 0: DRAW TANK$: TC = TC + 10: PSET (TC, 478), 14: DRAW TANK$
CASE CHR$(0) + CHR$(72)
REM Fire only one bullet per screen.
IF LSR = 0 THEN
OLDTC = TC: PSET (OLDTC, 456), 12: DRAW "U5": LSR = 1: bulletdelay% = -1
END IF
CASE CHR$(27): SYSTEM
END SELECT

REM Bullet timer delay
IF LSR = 1 THEN
IF z1 < z2bullet THEN z2bullet = z2bullet - 86400
IF z1 - z2bullet >= .04 THEN bulletdelay% = -1
END IF
LOOP

resetbullet:
bulletdelay% = 0
PSET (OLDTC, TCX + 5), 0: DRAW "D5"
TCX = 456
LSR = 0
RETURN

---------------------------

Time knows no boundries... or in this case, screens.

Pete

Posted on Dec 1, 2009, 11:09 AM

Respond to this message   

Return to Index


Response TitleAuthor and Date
Nice Pete, but I fear the next hurdle will be multiple shots. on Dec 1
 Hip, hip, array!Pete on Dec 1
  What multiple firing ability would look like in SCREEN 0Pete on Dec 2
   *Nice job with the bullet timing! on Dec 2
    Thanks, but handwriting is on the wall... And it's a Brick one!Pete on Dec 2
     * use mouse its smooth and you can move while shootingBen on Dec 2
      Ben, you're a genius! Mouse + alien movement added...Pete on Dec 2
       Cool Pete! on Dec 2
     Use INP(96) in a timer tick loop for multiple presses. LINK on Dec 2
      Pete hates INP(96)...Pete on Dec 3
       The read loop does cancel the keypress when not used. on Dec 3
        Ah, the num lock is screwing up the results...Pete on Dec 3
         The number pad does not send two press codes like the arrow keys do. on Dec 3