Baby Bungy On The Road
Option Explicit
Randomize TIMER
DIM Now AS Double
DIM Counter, Randomed, Counter2, Level, LevelRounds, TotalRounds AS Integer
DIM KeyPress AS String

Level = 0
TotalRounds = 0
LevelRounds = 0
DIM BabyBungy(10,3)  AS Integer
      For Counter = 1 TO UBOUND(BabyBungy,1)
         BabyBungy(Counter,1) = 10 : BabyBungy(Counter,2) = (30 + Counter) : BabyBungy(Counter,3) = 79
      Next Counter
      BabyBungy(1,3) = 2

DIM Cave(40,2), CaveX AS Integer
   CaveX = 10
   For Counter = 1 TO UBOUND(Cave,1)
      Cave(Counter,1) = (CaveX -  4)
      Cave(Counter,2) = (CaveX + 4)
   Next Counter

SCREEN 13

DO
   Now = Timer
   TotalRounds = TotalRounds + 1
   LevelRounds = LevelRounds + 1
   IF LevelRounds = 10 THEN LevelRounds = 0 : Level = Level + 1
   SLEEP (100 - Level)
   KeyPress = INKEY$

   Color 6, 6 : CLS
   FOR Counter = UBOUND(Cave,1) TO 1 STEP - 1

      Color 0, 0
      FOR Counter2 = Cave(Counter,1) + 1 TO Cave(Counter,2) - 1
         LOCATE Counter2, Counter : Print CHR$(35);
      NEXT Counter2

      IF Counter > 1 THEN Cave(Counter,1) = Cave((Counter - 1), 1) : Cave(Counter,2) = Cave((Counter - 1), 2)
   Next Counter

   Randomed = INT(RND * 3) + 1
   IF Randomed = 1 AND Cave(1,1) > 1 THEN Cave(1,1) = Cave(1,1) - 1 : Cave(1,2) = Cave(1,2) - 1
   IF Randomed = 2 AND Cave(1,2) < 25 THEN Cave(1,1) = Cave(1,1) + 1 : Cave(1,2) = Cave(1,2) + 1

   Color 14, 0
   FOR Counter = UBOUND(BabyBungy,1) TO 1 STEP - 1
      IF Counter = 1 Then Color 7, 0
      LOCATE BabyBungy(Counter,1), BabyBungy(Counter,2), 0 : Print CHR$(BabyBungy(Counter,3));
      IF Counter > 1 THEN BabyBungy(Counter,1) = BabyBungy((Counter - 1), 1)

   NEXT Counter

   IF KeyPress = "a" THEN BaByBungy(1,1) = (BaByBungy(1,1) - 1)
   IF KeyPress = "z" THEN BaByBungy(1,1) = (BaByBungy(1,1) + 1)
   IF BabyBungy(1,1) = Cave(31,1) OR BabyBungy(1,1) = Cave(31,2) THEN EXIT DO
LOOP

CLS
Print TotalRounds;
SLEEP
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.