Better code readability
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Thu, 21 Aug 2025 16:38:46 +0000 (19:38 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Thu, 21 Aug 2025 16:38:46 +0000 (19:38 +0300)
Games/Pomppu Paavo.bas

index 4b56e5b..c74b013 100755 (executable)
@@ -18,8 +18,8 @@ DEFINT A-Z
 DIM SHARED graphicsMode\r
 DIM SHARED asciiLevelData(1 TO 20) AS STRING * 31\r
 DIM SHARED FirstCompanionY%, FirstCompanionX%, SecondCompanionY%, SecondCompanionX%\r
-DIM SHARED remainingLives, coinCount\r
-DIM SHARED uks1, uks2, uks3, uks4\r
+DIM SHARED LivesRemaining%, CoinsCollected%\r
+DIM SHARED DoorEntryX%, DoorEntryY%, DoorExitX%, DoorExitY%\r
 DIM SHARED currentLevelNumber\r
 DIM SHARED text$(1 TO 1000)\r
 DIM SHARED pikkus\r
@@ -79,15 +79,11 @@ DIM SHARED uksm(50)
 \r
 \r
 DIM SHARED kuikiir\r
-DIM SHARED vas7$\r
-DIM SHARED rightArrowKey$\r
-DIM SHARED ule7$\r
-DIM SHARED all7$\r
 leftArrowKey$ = CHR$(0) + "K"\r
 rightArrowKey$ = CHR$(0) + "M"\r
 upArrowKey$ = CHR$(0) + "H"\r
 downArrowKey$ = CHR$(0) + "P"\r
-remainingLives = 10\r
+LivesRemaining% = 10\r
 SCREEN 1\r
 currentLevelNumber = 1\r
 REM joonist\r
@@ -250,9 +246,9 @@ IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke =
 IF terrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
 IF terrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
 \r
-qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: remainingLives = remainingLives - 1: eda = -10: all = -5: DisplayGameStatistics\r
+qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: LivesRemaining% = LivesRemaining% - 1: eda = -10: all = -5: DisplayGameStatistics\r
 IF qwer > 100 THEN qwer = 50\r
-                IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = ""\r
+                IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = ""\r
 IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3\r
 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3\r
 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3\r
@@ -291,9 +287,9 @@ a = a + eda
 b = b + all\r
 IF a > 297 THEN a = 2: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1\r
 IF a < 1 THEN a = 296: IF currentLevelNumber = 1 THEN LoadLevel currentLevelNumber:  ELSE currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: IF graphicsMode = 2 THEN a = 594\r
-IF b > 179 THEN remainingLives = remainingLives - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics\r
-IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 10: b = uks4: eda = 0\r
-IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 10: b = uks2: eda = 0\r
+IF b > 179 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics\r
+IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 10: b = DoorExitY%: eda = 0\r
+IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 10: b = DoorEntryY%: eda = 0\r
 WEND\r
 a$ = kbd$: kbd$ = ""\r
 IF a$ = rightArrowKey$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5\r
@@ -338,9 +334,9 @@ IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke =
 IF terrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
 IF terrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
 \r
-qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: remainingLives = remainingLives - 1: eda = -5: all = -3: DisplayGameStatistics\r
+qwer = qwer + 1: IF objectGrid((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: LivesRemaining% = LivesRemaining% - 1: eda = -5: all = -3: DisplayGameStatistics\r
 IF qwer > 100 THEN qwer = 50\r
-IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = ""\r
+IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = ""\r
 IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3\r
 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3\r
 IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3\r
@@ -379,9 +375,9 @@ a = a + eda
 b = b + all\r
 IF a > 594 THEN a = 2: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1\r
 IF a < 1 THEN a = 594: IF currentLevelNumber = 1 THEN LoadLevel currentLevelNumber:  ELSE currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: IF graphicsMode = 1 THEN a = 297\r
-IF b > 358 THEN remainingLives = remainingLives - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics\r
-IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 5: b = uks4: eda = 0\r
-IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 5: b = uks2: eda = 0\r
+IF b > 358 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics\r
+IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 5: b = DoorExitY%: eda = 0\r
+IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 5: b = DoorEntryY%: eda = 0\r
 WEND\r
 a$ = kbd$: kbd$ = ""\r
 IF a$ = rightArrowKey$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5\r
@@ -401,11 +397,11 @@ SUB DisplayGameStatistics
 LOCATE 1, 1\r
 IF graphicsMode = 2 THEN GOTO 12\r
 PRINT "                "\r
-IF coinCount > 9 THEN coinCount = 0: remainingLives = remainingLives + 1\r
+IF CoinsCollected% > 9 THEN CoinsCollected% = 0: LivesRemaining% = LivesRemaining% + 1\r
 LOCATE 1, 1\r
-PRINT "o "; coinCount; "  Lives "; remainingLives\r
+PRINT "o "; CoinsCollected%; "  Lives "; LivesRemaining%\r
 12\r
-IF remainingLives < 0 THEN END\r
+IF LivesRemaining% < 0 THEN END\r
 END SUB\r
 \r
 SUB DrawSprite (p, o, m, fr, teler)\r
@@ -1144,8 +1140,8 @@ IF q$ = "t" THEN PUT (D * 20, e * 20), puu, PSET
 IF q$ = ">" THEN PUT (D * 20, e * 20), noolt, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = ">"\r
 IF q$ = "<" THEN PUT (D * 20, e * 20), noolt1, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "<"\r
 IF q$ = "a" THEN PUT (D * 20, e * 20), auk, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "a"\r
-IF q$ = "u" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20\r
-IF q$ = "U" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20\r
+IF q$ = "u" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "u": DoorEntryX% = D * 20: DoorEntryY% = e * 20\r
+IF q$ = "U" THEN PUT (D * 20, e * 20), uks, PSET: terrainGrid(D + 1, e + 1) = "U": DoorExitX% = D * 20: DoorExitY% = e * 20\r
 NEXT D\r
 NEXT e\r
 GOTO 123\r
@@ -1167,8 +1163,8 @@ IF q$ = "t" THEN PUT (D * 10, e * 10), puum, PSET
 IF q$ = ">" THEN PUT (D * 10, e * 10), nooltm, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = ">"\r
 IF q$ = "<" THEN PUT (D * 10, e * 10), nooltm1, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "<"\r
 IF q$ = "a" THEN PUT (D * 10, e * 10), aukm, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "a"\r
-IF q$ = "u" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20\r
-IF q$ = "U" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20\r
+IF q$ = "u" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "u": DoorEntryX% = D * 20: DoorEntryY% = e * 20\r
+IF q$ = "U" THEN PUT (D * 10, e * 10), uksm, PSET: terrainGrid(D + 1, e + 1) = "U": DoorExitX% = D * 20: DoorExitY% = e * 20\r
 NEXT D\r
 NEXT e\r
 123\r