From a7270dc143c149b23ccf888d0107183a301ee3c1 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Thu, 21 Aug 2025 19:44:41 +0300 Subject: [PATCH] Better code readability --- Games/Pomppu Paavo.bas | 242 ++++++++++++++++++++--------------------- 1 file changed, 120 insertions(+), 122 deletions(-) diff --git a/Games/Pomppu Paavo.bas b/Games/Pomppu Paavo.bas index c74b013..2822882 100755 --- a/Games/Pomppu Paavo.bas +++ b/Games/Pomppu Paavo.bas @@ -20,15 +20,13 @@ DIM SHARED asciiLevelData(1 TO 20) AS STRING * 31 DIM SHARED FirstCompanionY%, FirstCompanionX%, SecondCompanionY%, SecondCompanionX% DIM SHARED LivesRemaining%, CoinsCollected% DIM SHARED DoorEntryX%, DoorEntryY%, DoorExitX%, DoorExitY% -DIM SHARED currentLevelNumber -DIM SHARED text$(1 TO 1000) -DIM SHARED pikkus -DIM SHARED terrainGrid(0 TO 34, -10 TO 20) AS STRING * 1 -DIM SHARED objectGrid(0 TO 34, -10 TO 20) AS STRING * 1 +DIM SHARED CurrentLevelNumber% +DIM SHARED TerrainGrid(0 TO 34, -10 TO 20) AS STRING * 1 +DIM SHARED ObjectGrid(0 TO 34, -10 TO 20) AS STRING * 1 ' Full scale sprites -DIM SHARED solidBlockImage(51) -DIM SHARED emptySpaceImage(51) +DIM SHARED SolidTerrainSprite(51) +DIM SHARED EmptySpaceSprite(51) DIM SHARED kast(51) DIM SHARED mar1(70) DIM SHARED pilv(209) @@ -41,20 +39,20 @@ DIM SHARED poosas(100) DIM SHARED aken(100) DIM SHARED vedru(50) DIM SHARED intro(6000) -DIM SHARED puu(3000) +DIM SHARED TreeSprite(3000) DIM SHARED noolt(51) DIM SHARED noolt1(51) -DIM SHARED auk(51) +DIM SHARED HoleSprite(51) DIM SHARED sipp1(51) DIM SHARED sipp2(51) DIM SHARED sipp10(51) DIM SHARED sipp20(51) DIM SHARED sipp3(51) -DIM SHARED uks(120) +DIM SHARED DoorSprite(120) ' Small scale sprites (S suffix is used) -DIM SHARED solidBlockImageS(51) -DIM SHARED emptySpaceImageS(51) +DIM SHARED SolidTerrainSpriteSmall(51) +DIM SHARED EmptySpaceSpriteSmall(51) DIM SHARED kastm(51) DIM SHARED marm1(70) DIM SHARED pilvm(209) @@ -66,16 +64,16 @@ DIM SHARED muntm(30) DIM SHARED poosasm(100) DIM SHARED akenm(100) DIM SHARED vedrum(50) -DIM SHARED puum(3000) +DIM SHARED TreeSpriteSmall(3000) DIM SHARED nooltm(51) DIM SHARED nooltm1(51) -DIM SHARED aukm(51) +DIM SHARED HoleSpriteSmall(51) DIM SHARED sippm1(51) DIM SHARED sippm2(51) DIM SHARED sippm10(51) DIM SHARED sippm20(51) DIM SHARED sippm3(51) -DIM SHARED uksm(50) +DIM SHARED DoorSpriteSmall(50) DIM SHARED kuikiir @@ -85,17 +83,17 @@ upArrowKey$ = CHR$(0) + "H" downArrowKey$ = CHR$(0) + "P" LivesRemaining% = 10 SCREEN 1 -currentLevelNumber = 1 +CurrentLevelNumber% = 1 REM joonist REM END -GET (1, 1)-(20, 20), emptySpaceImage +GET (1, 1)-(20, 20), EmptySpaceSprite DrawSprite 0, 0, 1, 1, 1 -GET (1, 1)-(20, 20), solidBlockImage +GET (1, 1)-(20, 20), SolidTerrainSprite DrawSprite 0, 0, 4, 1, 1 GET (1, 1)-(20, 20), kast -PUT (1, 180), solidBlockImage, PSET -PUT (300, 1), solidBlockImage, PSET -PUT (300, 180), solidBlockImage, PSET +PUT (1, 180), SolidTerrainSprite, PSET +PUT (300, 1), SolidTerrainSprite, PSET +PUT (300, 180), SolidTerrainSprite, PSET DrawSprite 30, 50, 2, 1, 1 GET (31, 51)-(91, 76), pilv PUT (160, 10), pilv, PSET @@ -118,7 +116,7 @@ DrawSprite 0, 0, 9, 1, 1 GET (1, 1)-(21, 11), vedru CLS DrawSprite 0, 0, 11, 1, 1 -GET (1, 1)-(51, 81), puu +GET (1, 1)-(51, 81), TreeSprite CLS DrawSprite 0, 0, 12, 1, 1 GET (1, 1)-(20, 20), noolt @@ -127,7 +125,7 @@ DrawSprite 0, 0, 12, 50, 1 GET (1, 1)-(20, 20), noolt1 CLS DrawSprite 0, 0, 13, 1, 1 -GET (1, 1)-(20, 20), auk +GET (1, 1)-(20, 20), HoleSprite CLS DrawSprite 0, 0, 14, 1, 1 GET (1, 1)-(20, 20), sipp1 @@ -144,14 +142,14 @@ CLS DrawSprite 0, 0, 16, 1, 1 GET (1, 1)-(20, 20), sipp3 CLS -GET (1, 1)-(10, 10), emptySpaceImageS +GET (1, 1)-(10, 10), EmptySpaceSpriteSmall DrawSprite 0, 0, 1, 1, 2 -GET (1, 1)-(10, 10), solidBlockImageS +GET (1, 1)-(10, 10), SolidTerrainSpriteSmall DrawSprite 0, 0, 4, 1, 2 GET (1, 1)-(10, 10), kastm -PUT (1, 180), solidBlockImage, PSET -PUT (300, 1), solidBlockImage, PSET -PUT (300, 180), solidBlockImage, PSET +PUT (1, 180), SolidTerrainSprite, PSET +PUT (300, 1), SolidTerrainSprite, PSET +PUT (300, 180), SolidTerrainSprite, PSET DrawSprite 30, 50, 2, 1, 2 GET (16, 26)-(46, 38), pilvm DrawSprite 20, 100, 3, 1, 2 @@ -173,7 +171,7 @@ DrawSprite 0, 0, 9, 1, 2 GET (1, 1)-(11, 6), vedrum CLS DrawSprite 0, 0, 11, 1, 2 -GET (1, 1)-(26, 41), puum +GET (1, 1)-(26, 41), TreeSpriteSmall CLS DrawSprite 0, 0, 12, 1, 2 GET (1, 1)-(10, 10), nooltm @@ -182,7 +180,7 @@ DrawSprite 0, 0, 12, 50, 2 GET (1, 1)-(10, 10), nooltm1 CLS DrawSprite 0, 0, 13, 1, 2 -GET (1, 1)-(10, 10), aukm +GET (1, 1)-(10, 10), HoleSpriteSmall CLS DrawSprite 0, 0, 14, 1, 2 GET (1, 1)-(10, 10), sippm1 @@ -200,7 +198,7 @@ DrawSprite 0, 0, 16, 1, 2 GET (1, 1)-(10, 10), sippm3 CLS DrawSprite 0, 0, 17, 1, 1 -GET (1, 1)-(21, 31), uks +GET (1, 1)-(21, 31), DoorSprite CLS DrawSprite 0, 0, 17, 1, 2 GET (1, 1)-(11, 16), intro @@ -234,36 +232,36 @@ PUT (FirstCompanionX%, FirstCompanionY%), siil, OR GET (SecondCompanionX%, SecondCompanionY%)-(SecondCompanionX% + 10, SecondCompanionY% + 10), siil2 PUT (SecondCompanionX%, SecondCompanionY%), siil, OR SOUND 0, .8 -IF terrainGrid((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 -IF terrainGrid((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 +IF TerrainGrid((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 +IF TerrainGrid((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 -IF terrainGrid((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 -IF terrainGrid((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 +IF TerrainGrid((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 +IF TerrainGrid((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 -IF terrainGrid((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 -IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 +IF TerrainGrid((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 +IF TerrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 -IF terrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 -IF terrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 +IF TerrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 +IF TerrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 -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 +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 IF qwer > 100 THEN qwer = 50 - IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3 -IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3 -IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3 + IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3 +IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3 +IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3 lke = lke + 1 r = r + 1: IF r > 10 THEN r = 0: IF eda > 0 THEN eda = eda - 1: ELSE IF eda < 0 THEN eda = eda + 1 r1 = r1 + 1: IF r1 > 3 THEN r1 = 0: all = all + 1 lk = lk + 1: cd = cd - 1 -IF objectGrid((a + 30) \ 20, (b + 21) \ 20) = "o" THEN terrainGrid((a + 30) \ 20, (b + 21) \ 20) = "": objectGrid((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1 -IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN terrainGrid((a + 30) \ 20, (b + 38) \ 20) = "": objectGrid((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1 -IF terrainGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 25) \ 20) = "z" THEN siiall = -1 -IF terrainGrid((FirstCompanionX% + 30) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = -1 -IF terrainGrid((FirstCompanionX% + 20) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = 1 -IF terrainGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 25) \ 20) = "z" THEN siiall1 = -1 -IF terrainGrid((SecondCompanionX% + 30) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = -1 -IF terrainGrid((SecondCompanionX% + 20) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = 1 +IF ObjectGrid((a + 30) \ 20, (b + 21) \ 20) = "o" THEN TerrainGrid((a + 30) \ 20, (b + 21) \ 20) = "": ObjectGrid((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1 +IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN TerrainGrid((a + 30) \ 20, (b + 38) \ 20) = "": ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1 +IF TerrainGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 25) \ 20) = "z" THEN siiall = -1 +IF TerrainGrid((FirstCompanionX% + 30) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = -1 +IF TerrainGrid((FirstCompanionX% + 20) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = 1 +IF TerrainGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 25) \ 20) = "z" THEN siiall1 = -1 +IF TerrainGrid((SecondCompanionX% + 30) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = -1 +IF TerrainGrid((SecondCompanionX% + 20) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = 1 IF FirstCompanionX% > 300 THEN siie = -1 IF FirstCompanionX% < 3 THEN siie = 1 IF SecondCompanionX% > 300 THEN siie1 = -1 @@ -271,25 +269,25 @@ IF SecondCompanionX% < 3 THEN siie1 = 1 PUT (SecondCompanionX%, SecondCompanionY%), siil2, PSET PUT (FirstCompanionX%, FirstCompanionY%), siil1, PSET IF b > 0 THEN PUT (a, b), mar1, PSET -IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 20, (b \ 20) * 20), emptySpaceImage, PSET -IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 20, ((b + 10) \ 20) * 20), emptySpaceImage, PSET -IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 20, ((b + 28) \ 20) * 20), emptySpaceImage, PSET +IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 20, (b \ 20) * 20), EmptySpaceSprite, PSET +IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 20, ((b + 10) \ 20) * 20), EmptySpaceSprite, PSET +IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 20, ((b + 28) \ 20) * 20), EmptySpaceSprite, PSET IF makk = 1 THEN makk = 0: a = a - 20 -objectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "": objectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "" +ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "" FirstCompanionX% = FirstCompanionX% + siie FirstCompanionY% = FirstCompanionY% + siiall SecondCompanionX% = SecondCompanionX% + siie1 SecondCompanionY% = SecondCompanionY% + siiall1 -objectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "q": objectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "q" +ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "q": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "q" siiall = siiall + 1: IF siiall > 2 THEN siiall = 2 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2 a = a + eda b = b + all -IF a > 297 THEN a = 2: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 -IF a < 1 THEN a = 296: IF currentLevelNumber = 1 THEN LoadLevel currentLevelNumber: ELSE currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: IF graphicsMode = 2 THEN a = 594 -IF b > 179 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 10: b = DoorExitY%: eda = 0 -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 10: b = DoorEntryY%: eda = 0 +IF a > 297 THEN a = 2: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadLevel CurrentLevelNumber%: siie = 1: siie1 = 1 +IF a < 1 THEN a = 296: IF CurrentLevelNumber% = 1 THEN LoadLevel CurrentLevelNumber%: ELSE CurrentLevelNumber% = CurrentLevelNumber% - 1: LoadLevel CurrentLevelNumber%: IF graphicsMode = 2 THEN a = 594 +IF b > 179 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: CurrentLevelNumber% = CurrentLevelNumber% - 1: LoadLevel CurrentLevelNumber%: b = 100: a = 2: DisplayGameStatistics +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 10: b = DoorExitY%: eda = 0 +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 10: b = DoorEntryY%: eda = 0 WEND a$ = kbd$: kbd$ = "" IF a$ = rightArrowKey$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5 @@ -298,8 +296,8 @@ IF a$ = leftArrowKey$ THEN IF sipa = 1 THEN sipp = 10: ELSE sipp = 20 IF a$ = leftArrowKey$ THEN eda = eda - 1: IF eda < -3 THEN eda = -3: r = 0 ELSE IF lke > 10 THEN eda = -5 IF a$ = upArrowKey$ AND lk < 10 THEN all = all - 5: lk = 20: r1 = 0: sipp = 3 IF a$ = downArrowKey$ THEN all = all + 1 -IF a$ = "/" THEN a = 2: b = 50: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 -IF a$ = "+" THEN a = 2: b = 50: currentLevelNumber = currentLevelNumber + 5: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 +IF a$ = "/" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadLevel CurrentLevelNumber%: siie = 1: siie1 = 1 +IF a$ = "+" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 5: LoadLevel CurrentLevelNumber%: siie = 1: siie1 = 1 IF a$ = "q" THEN END sipa = sipa + 1 IF sipa = 3 THEN sipa = 1 @@ -322,36 +320,36 @@ PUT (FirstCompanionX% \ 2, FirstCompanionY% \ 2), siilm, OR GET (SecondCompanionX% \ 2, SecondCompanionY% \ 2)-((siia1 + 10) \ 2, (SecondCompanionY% + 10) \ 2), siilm2 PUT (SecondCompanionX% \ 2, SecondCompanionY% \ 2), siilm, OR SOUND 0, .8 -IF terrainGrid((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 -IF terrainGrid((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 +IF TerrainGrid((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 +IF TerrainGrid((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0 -IF terrainGrid((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 -IF terrainGrid((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 +IF TerrainGrid((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 +IF TerrainGrid((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0 -IF terrainGrid((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 -IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 +IF TerrainGrid((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 +IF TerrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0 -IF terrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 -IF terrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 +IF TerrainGrid((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 +IF TerrainGrid((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0 -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 +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 IF qwer > 100 THEN qwer = 50 -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3 -IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3 -IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3 +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN CoinsCollected% = CoinsCollected% + 1: kustuta1 = 1: DisplayGameStatistics: TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "" +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3 +IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3 +IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3 lke = lke + 1 r = r + 1: IF r > 10 THEN r = 0: IF eda > 0 THEN eda = eda - 1: ELSE IF eda < 0 THEN eda = eda + 1 r1 = r1 + 1: IF r1 > 3 THEN r1 = 0: all = all + 1 lk = lk + 1: cd = cd - 1 -IF objectGrid((a + 30) \ 20, (b + 21) \ 20) = "o" THEN terrainGrid((a + 30) \ 20, (b + 21) \ 20) = "": objectGrid((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1 -IF objectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN terrainGrid((a + 30) \ 20, (b + 38) \ 20) = "": objectGrid((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1 -IF terrainGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 25) \ 20) = "z" THEN siiall = -1 -IF terrainGrid((FirstCompanionX% + 30) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = -1 -IF terrainGrid((FirstCompanionX% + 20) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = 1 -IF terrainGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 25) \ 20) = "z" THEN siiall1 = -1 -IF terrainGrid((SecondCompanionX% + 30) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = -1 -IF terrainGrid((SecondCompanionX% + 20) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = 1 +IF ObjectGrid((a + 30) \ 20, (b + 21) \ 20) = "o" THEN TerrainGrid((a + 30) \ 20, (b + 21) \ 20) = "": ObjectGrid((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1 +IF ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "a" THEN TerrainGrid((a + 30) \ 20, (b + 38) \ 20) = "": ObjectGrid((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1 +IF TerrainGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 25) \ 20) = "z" THEN siiall = -1 +IF TerrainGrid((FirstCompanionX% + 30) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = -1 +IF TerrainGrid((FirstCompanionX% + 20) \ 20, (FirstCompanionY% + 10) \ 20) = "z" THEN siie = 1 +IF TerrainGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 25) \ 20) = "z" THEN siiall1 = -1 +IF TerrainGrid((SecondCompanionX% + 30) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = -1 +IF TerrainGrid((SecondCompanionX% + 20) \ 20, (SecondCompanionY% + 10) \ 20) = "z" THEN siie1 = 1 IF FirstCompanionX% > 600 THEN siie = -1 IF FirstCompanionX% < 3 THEN siie = 1 IF SecondCompanionX% > 600 THEN siie1 = -1 @@ -359,25 +357,25 @@ IF SecondCompanionX% < 3 THEN siie1 = 1 PUT (SecondCompanionX% \ 2, SecondCompanionY% \ 2), siilm2, PSET PUT (FirstCompanionX% \ 2, FirstCompanionY% \ 2), siilm1, PSET IF b > 0 THEN PUT (a \ 2, b \ 2), marm1, PSET -IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 10, (b \ 20) * 10), emptySpaceImageS, PSET -IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 10, ((b + 10) \ 20) * 10), emptySpaceImageS, PSET -IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 10, ((b + 28) \ 20) * 10), emptySpaceImageS, PSET +IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 10, (b \ 20) * 10), EmptySpaceSpriteSmall, PSET +IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 10, ((b + 10) \ 20) * 10), EmptySpaceSpriteSmall, PSET +IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 10, ((b + 28) \ 20) * 10), EmptySpaceSpriteSmall, PSET IF makk = 1 THEN makk = 0: a = a - 20 -objectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "": objectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "" +ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "" FirstCompanionX% = FirstCompanionX% + siie FirstCompanionY% = FirstCompanionY% + siiall SecondCompanionX% = SecondCompanionX% + siie1 SecondCompanionY% = SecondCompanionY% + siiall1 -objectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "q": objectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "q" +ObjectGrid((SecondCompanionX% + 25) \ 20, (SecondCompanionY% + 8) \ 20) = "q": ObjectGrid((FirstCompanionX% + 25) \ 20, (FirstCompanionY% + 8) \ 20) = "q" siiall = siiall + 1: IF siiall > 2 THEN siiall = 2 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2 a = a + eda b = b + all -IF a > 594 THEN a = 2: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 -IF a < 1 THEN a = 594: IF currentLevelNumber = 1 THEN LoadLevel currentLevelNumber: ELSE currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: IF graphicsMode = 1 THEN a = 297 -IF b > 358 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: currentLevelNumber = currentLevelNumber - 1: LoadLevel currentLevelNumber: b = 100: a = 2: DisplayGameStatistics -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 5: b = DoorExitY%: eda = 0 -IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 5: b = DoorEntryY%: eda = 0 +IF a > 594 THEN a = 2: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadLevel CurrentLevelNumber%: siie = 1: siie1 = 1 +IF a < 1 THEN a = 594: IF CurrentLevelNumber% = 1 THEN LoadLevel CurrentLevelNumber%: ELSE CurrentLevelNumber% = CurrentLevelNumber% - 1: LoadLevel CurrentLevelNumber%: IF graphicsMode = 1 THEN a = 297 +IF b > 358 THEN LivesRemaining% = LivesRemaining% - 1: DisplayGameStatistics: CurrentLevelNumber% = CurrentLevelNumber% - 1: LoadLevel CurrentLevelNumber%: b = 100: a = 2: DisplayGameStatistics +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = DoorExitX% + 5: b = DoorExitY%: eda = 0 +IF TerrainGrid((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = DoorEntryX% + 5: b = DoorEntryY%: eda = 0 WEND a$ = kbd$: kbd$ = "" IF a$ = rightArrowKey$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5 @@ -386,8 +384,8 @@ IF a$ = leftArrowKey$ THEN IF sipa = 1 THEN sipp = 10: ELSE sipp = 20 IF a$ = leftArrowKey$ THEN eda = eda - 1: IF eda < -3 THEN eda = -3: r = 0 ELSE IF lke > 10 THEN eda = -5 IF a$ = upArrowKey$ AND lk < 10 THEN all = all - 5: lk = 20: r1 = 0: sipp = 3 IF a$ = downArrowKey$ THEN all = all + 1 -IF a$ = "/" THEN a = 2: b = 50: currentLevelNumber = currentLevelNumber + 1: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 -IF a$ = "+" THEN a = 2: b = 50: currentLevelNumber = currentLevelNumber + 5: LoadLevel currentLevelNumber: siie = 1: siie1 = 1 +IF a$ = "/" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 1: LoadLevel CurrentLevelNumber%: siie = 1: siie1 = 1 +IF a$ = "+" THEN a = 2: b = 50: CurrentLevelNumber% = CurrentLevelNumber% + 5: LoadLevel CurrentLevelNumber%: siie = 1: siie1 = 1 IF a$ = "q" THEN END sipa = sipa + 1 IF sipa = 3 THEN sipa = 1 @@ -839,8 +837,8 @@ aiia1 = 0 SecondCompanionY% = 0 FOR a1 = 1 TO 32 FOR b1 = 1 TO 20 -terrainGrid(a1, b1) = "" -objectGrid(a1, b1) = "" +TerrainGrid(a1, b1) = "" +ObjectGrid(a1, b1) = "" NEXT b1 NEXT a1 FOR a = 1 TO 10 @@ -939,7 +937,7 @@ asciiLevelData(7) = "p mmmmv mmmm " asciiLevelData(8) = "mmmmmmmmm mmmmmm" asciiLevelData(9) = " " asciiLevelData(10) = ">>>>>>>>>>>>>>>>" -currentLevelNumber = currentLevelNumber + 1 +CurrentLevelNumber% = CurrentLevelNumber% + 1 CASE 10 asciiLevelData(1) = "m. - m" asciiLevelData(2) = "m . m" @@ -962,7 +960,7 @@ asciiLevelData(7) = "mammm m1ma om" asciiLevelData(8) = "m1m mmm1ma o m" asciiLevelData(9) = "m amam om" asciiLevelData(10) = "mmmmmmmm