Better code readability
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Tue, 19 Aug 2025 22:15:23 +0000 (01:15 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Tue, 19 Aug 2025 22:15:23 +0000 (01:15 +0300)
Games/Pomppu Paavo.bas

index 39bebf3..752aa23 100755 (executable)
@@ -23,8 +23,8 @@ DIM SHARED uks1, uks2, uks3, uks4
 DIM SHARED currentLevelNumber\r
 DIM SHARED text$(1 TO 1000)\r
 DIM SHARED pikkus\r
-DIM SHARED asend(0 TO 34, -10 TO 20) AS STRING * 1\r
-DIM SHARED asend1(0 TO 34, -10 TO 20) AS STRING * 1\r
+DIM SHARED terrainGrid(0 TO 34, -10 TO 20) AS STRING * 1\r
+DIM SHARED objectGrid(0 TO 34, -10 TO 20) AS STRING * 1\r
 DIM SHARED ruut(51)\r
 DIM SHARED tuhi(51)\r
 DIM SHARED kast(51)\r
@@ -233,36 +233,36 @@ PUT (hedgehogX, hedgehogY), siil, OR
 GET (secondHedgehogX, secondHedgehogY)-(secondHedgehogX + 10, secondHedgehogY + 10), siil2\r
 PUT (secondHedgehogX, secondHedgehogY), siil, OR\r
 SOUND 0, .8\r
-IF asend((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
-IF asend((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
+IF terrainGrid((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
+IF terrainGrid((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
 \r
-IF asend((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
-IF asend((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
+IF terrainGrid((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
+IF terrainGrid((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
 \r
-IF asend((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
-IF asend((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
+IF terrainGrid((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
+IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
 \r
-IF asend((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
-IF asend((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
+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 asend1((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: remainingLives = remainingLives - 1: eda = -10: all = -5: displayGameStats\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: displayGameStats\r
 IF qwer > 100 THEN qwer = 50\r
-                IF asend((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: displayGameStats: asend((a + 30) \ 20, (b + 30) \ 20) = ""\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3\r
-IF asend1((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3\r
-IF asend1((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3\r
+                IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: displayGameStats: 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
 lke = lke + 1\r
 r = r + 1: IF r > 10 THEN r = 0: IF eda > 0 THEN eda = eda - 1:  ELSE IF eda < 0 THEN eda = eda + 1\r
 r1 = r1 + 1: IF r1 > 3 THEN r1 = 0: all = all + 1\r
 lk = lk + 1: cd = cd - 1\r
-IF asend1((a + 30) \ 20, (b + 21) \ 20) = "o" THEN asend((a + 30) \ 20, (b + 21) \ 20) = "": asend1((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1\r
-IF asend1((a + 30) \ 20, (b + 38) \ 20) = "a" THEN asend((a + 30) \ 20, (b + 38) \ 20) = "": asend1((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1\r
-IF asend((hedgehogX + 25) \ 20, (hedgehogY + 25) \ 20) = "z" THEN siiall = -1\r
-IF asend((hedgehogX + 30) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = -1\r
-IF asend((hedgehogX + 20) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = 1\r
-IF asend((secondHedgehogX + 25) \ 20, (secondHedgehogY + 25) \ 20) = "z" THEN siiall1 = -1\r
-IF asend((secondHedgehogX + 30) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = -1\r
-IF asend((secondHedgehogX + 20) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = 1\r
+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\r
+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\r
+IF terrainGrid((hedgehogX + 25) \ 20, (hedgehogY + 25) \ 20) = "z" THEN siiall = -1\r
+IF terrainGrid((hedgehogX + 30) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = -1\r
+IF terrainGrid((hedgehogX + 20) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = 1\r
+IF terrainGrid((secondHedgehogX + 25) \ 20, (secondHedgehogY + 25) \ 20) = "z" THEN siiall1 = -1\r
+IF terrainGrid((secondHedgehogX + 30) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = -1\r
+IF terrainGrid((secondHedgehogX + 20) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = 1\r
 IF hedgehogX > 300 THEN siie = -1\r
 IF hedgehogX < 3 THEN siie = 1\r
 IF secondHedgehogX > 300 THEN siie1 = -1\r
@@ -274,12 +274,12 @@ IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 20, (b \ 20) * 20), tuhi
 IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 20, ((b + 10) \ 20) * 20), tuhi, PSET\r
 IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 20, ((b + 28) \ 20) * 20), tuhi, PSET\r
 IF makk = 1 THEN makk = 0: a = a - 20\r
-asend1((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "": asend1((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = ""\r
+objectGrid((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "": objectGrid((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = ""\r
 hedgehogX = hedgehogX + siie\r
 hedgehogY = hedgehogY + siiall\r
 secondHedgehogX = secondHedgehogX + siie1\r
 secondHedgehogY = secondHedgehogY + siiall1\r
-asend1((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "q": asend1((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = "q"\r
+objectGrid((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "q": objectGrid((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = "q"\r
 siiall = siiall + 1: IF siiall > 2 THEN siiall = 2\r
 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2\r
 a = a + eda\r
@@ -287,8 +287,8 @@ b = b + all
 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: displayGameStats: currentLevelNumber = currentLevelNumber - 1: loadLevel currentLevelNumber: b = 100: a = 2: displayGameStats\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 10: b = uks4: eda = 0\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 10: b = uks2: eda = 0\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
 WEND\r
 a$ = kbd$: kbd$ = ""\r
 IF a$ = par7$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5\r
@@ -321,36 +321,36 @@ PUT (hedgehogX \ 2, hedgehogY \ 2), siilm, OR
 GET (secondHedgehogX \ 2, secondHedgehogY \ 2)-((siia1 + 10) \ 2, (secondHedgehogY + 10) \ 2), siilm2\r
 PUT (secondHedgehogX \ 2, secondHedgehogY \ 2), siilm, OR\r
 SOUND 0, .8\r
-IF asend((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
-IF asend((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
+IF terrainGrid((a + 38) \ 20, (b + 37) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
+IF terrainGrid((a + 38) \ 20, (b + 22) \ 20) = "z" THEN eda = -1: r = 9: lke = 0\r
 \r
-IF asend((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
-IF asend((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
+IF terrainGrid((a + 21) \ 20, (b + 22) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
+IF terrainGrid((a + 21) \ 20, (b + 37) \ 20) = "z" THEN eda = 1: r = 9: lke = 0\r
 \r
-IF asend((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
-IF asend((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
+IF terrainGrid((a + 22) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
+IF terrainGrid((a + 37) \ 20, (b + 21) \ 20) = "z" THEN all = 0: cd = 10: lke = 0\r
 \r
-IF asend((a + 22) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
-IF asend((a + 37) \ 20, (b + 38) \ 20) = "z" THEN all = -1: r1 = 2: lk = 1: lke = 0\r
+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 asend1((a + 30) \ 20, (b + 30) \ 20) = "q" AND qwer > 20 THEN qwer = 1: remainingLives = remainingLives - 1: eda = -5: all = -3: displayGameStats\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: displayGameStats\r
 IF qwer > 100 THEN qwer = 50\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: displayGameStats: asend((a + 30) \ 20, (b + 30) \ 20) = ""\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "v" THEN all = -8: sipp = 3\r
-IF asend1((a + 30) \ 20, (b + 38) \ 20) = ">" THEN eda = 3\r
-IF asend1((a + 30) \ 20, (b + 38) \ 20) = "<" THEN eda = -3\r
+IF terrainGrid((a + 30) \ 20, (b + 30) \ 20) = "1" THEN coinCount = coinCount + 1: kustuta1 = 1: displayGameStats: 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
 lke = lke + 1\r
 r = r + 1: IF r > 10 THEN r = 0: IF eda > 0 THEN eda = eda - 1:  ELSE IF eda < 0 THEN eda = eda + 1\r
 r1 = r1 + 1: IF r1 > 3 THEN r1 = 0: all = all + 1\r
 lk = lk + 1: cd = cd - 1\r
-IF asend1((a + 30) \ 20, (b + 21) \ 20) = "o" THEN asend((a + 30) \ 20, (b + 21) \ 20) = "": asend1((a + 30) \ 20, (b + 21) \ 20) = "": kustuta = 1\r
-IF asend1((a + 30) \ 20, (b + 38) \ 20) = "a" THEN asend((a + 30) \ 20, (b + 38) \ 20) = "": asend1((a + 30) \ 20, (b + 38) \ 20) = "": kustuta2 = 1\r
-IF asend((hedgehogX + 25) \ 20, (hedgehogY + 25) \ 20) = "z" THEN siiall = -1\r
-IF asend((hedgehogX + 30) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = -1\r
-IF asend((hedgehogX + 20) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = 1\r
-IF asend((secondHedgehogX + 25) \ 20, (secondHedgehogY + 25) \ 20) = "z" THEN siiall1 = -1\r
-IF asend((secondHedgehogX + 30) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = -1\r
-IF asend((secondHedgehogX + 20) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = 1\r
+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\r
+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\r
+IF terrainGrid((hedgehogX + 25) \ 20, (hedgehogY + 25) \ 20) = "z" THEN siiall = -1\r
+IF terrainGrid((hedgehogX + 30) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = -1\r
+IF terrainGrid((hedgehogX + 20) \ 20, (hedgehogY + 10) \ 20) = "z" THEN siie = 1\r
+IF terrainGrid((secondHedgehogX + 25) \ 20, (secondHedgehogY + 25) \ 20) = "z" THEN siiall1 = -1\r
+IF terrainGrid((secondHedgehogX + 30) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = -1\r
+IF terrainGrid((secondHedgehogX + 20) \ 20, (secondHedgehogY + 10) \ 20) = "z" THEN siie1 = 1\r
 IF hedgehogX > 600 THEN siie = -1\r
 IF hedgehogX < 3 THEN siie = 1\r
 IF secondHedgehogX > 600 THEN siie1 = -1\r
@@ -362,12 +362,12 @@ IF kustuta = 1 THEN kustuta = 0: PUT (((a + 10) \ 20) * 10, (b \ 20) * 10), tuhi
 IF kustuta1 = 1 THEN kustuta1 = 0: PUT (((a + 10) \ 20) * 10, ((b + 10) \ 20) * 10), tuhim, PSET\r
 IF kustuta2 = 1 THEN kustuta2 = 0: PUT (((a + 10) \ 20) * 10, ((b + 28) \ 20) * 10), tuhim, PSET\r
 IF makk = 1 THEN makk = 0: a = a - 20\r
-asend1((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "": asend1((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = ""\r
+objectGrid((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "": objectGrid((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = ""\r
 hedgehogX = hedgehogX + siie\r
 hedgehogY = hedgehogY + siiall\r
 secondHedgehogX = secondHedgehogX + siie1\r
 secondHedgehogY = secondHedgehogY + siiall1\r
-asend1((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "q": asend1((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = "q"\r
+objectGrid((secondHedgehogX + 25) \ 20, (secondHedgehogY + 8) \ 20) = "q": objectGrid((hedgehogX + 25) \ 20, (hedgehogY + 8) \ 20) = "q"\r
 siiall = siiall + 1: IF siiall > 2 THEN siiall = 2\r
 siiall1 = siiall1 + 1: IF siiall1 > 2 THEN siiall1 = 2\r
 a = a + eda\r
@@ -375,8 +375,8 @@ b = b + all
 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: displayGameStats: currentLevelNumber = currentLevelNumber - 1: loadLevel currentLevelNumber: b = 100: a = 2: displayGameStats\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "u" THEN a = uks3 + 5: b = uks4: eda = 0\r
-IF asend((a + 30) \ 20, (b + 30) \ 20) = "U" THEN a = uks1 + 5: b = uks2: eda = 0\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
 WEND\r
 a$ = kbd$: kbd$ = ""\r
 IF a$ = par7$ THEN eda = eda + 1: IF eda > 3 THEN eda = 3: r = 0 ELSE IF lke > 10 THEN eda = 5\r
@@ -838,8 +838,8 @@ aiia1 = 0
 secondHedgehogY = 0\r
 FOR a1 = 1 TO 32\r
 FOR b1 = 1 TO 20\r
-asend(a1, b1) = ""\r
-asend1(a1, b1) = ""\r
+terrainGrid(a1, b1) = ""\r
+objectGrid(a1, b1) = ""\r
 NEXT b1\r
 NEXT a1\r
 FOR a = 1 TO 10\r
@@ -1125,22 +1125,22 @@ IF graphicsMode = 2 THEN GOTO 124
 FOR e = 0 TO 9\r
 FOR D = 0 TO 15\r
 q$ = RIGHT$(LEFT$(asciiLevelData(e + 1), D + 1), 1)\r
-IF q$ = "m" THEN PUT (D * 20, e * 20), ruut, PSET: asend(D + 1, e + 1) = "z"\r
-IF q$ = "o" THEN PUT (D * 20, e * 20), kast, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "o"\r
+IF q$ = "m" THEN PUT (D * 20, e * 20), ruut, PSET: terrainGrid(D + 1, e + 1) = "z"\r
+IF q$ = "o" THEN PUT (D * 20, e * 20), kast, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "o"\r
 IF q$ = "." THEN PUT (D * 20, e * 20), taht, PSET\r
 IF q$ = "-" THEN PUT (D * 20, e * 20), pilv, PSET\r
 IF q$ = "x" THEN hedgehogX = D * 20: hedgehogY = (e + 1) * 20\r
 IF q$ = "y" THEN secondHedgehogX = D * 20: secondHedgehogY = (e + 1) * 20\r
-IF q$ = "1" THEN PUT (D * 20, e * 20), munt, PSET: asend(D + 1, e + 1) = "1"\r
+IF q$ = "1" THEN PUT (D * 20, e * 20), munt, PSET: terrainGrid(D + 1, e + 1) = "1"\r
 IF q$ = "p" THEN PUT (D * 20, (e * 20) + 10), poosas, PSET\r
 IF q$ = "h" THEN PUT (D * 20, e * 20), aken, PSET\r
-IF q$ = "v" THEN PUT (D * 20, (e * 20) + 10), vedru, PSET: asend(D + 1, e + 1) = "v"\r
+IF q$ = "v" THEN PUT (D * 20, (e * 20) + 10), vedru, PSET: terrainGrid(D + 1, e + 1) = "v"\r
 IF q$ = "t" THEN PUT (D * 20, e * 20), puu, PSET\r
-IF q$ = ">" THEN PUT (D * 20, e * 20), noolt, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = ">"\r
-IF q$ = "<" THEN PUT (D * 20, e * 20), noolt1, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "<"\r
-IF q$ = "a" THEN PUT (D * 20, e * 20), auk, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "a"\r
-IF q$ = "u" THEN PUT (D * 20, e * 20), uks, PSET: asend(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20\r
-IF q$ = "U" THEN PUT (D * 20, e * 20), uks, PSET: asend(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20\r
+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
 NEXT D\r
 NEXT e\r
 GOTO 123\r
@@ -1148,22 +1148,22 @@ GOTO 123
 FOR e = 0 TO 19\r
 FOR D = 0 TO 30\r
 q$ = RIGHT$(LEFT$(asciiLevelData(e + 1), D + 1), 1)\r
-IF q$ = "m" THEN PUT (D * 10, e * 10), ruutm, PSET: asend(D + 1, e + 1) = "z"\r
-IF q$ = "o" THEN PUT (D * 10, e * 10), kastm, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "o"\r
+IF q$ = "m" THEN PUT (D * 10, e * 10), ruutm, PSET: terrainGrid(D + 1, e + 1) = "z"\r
+IF q$ = "o" THEN PUT (D * 10, e * 10), kastm, PSET: terrainGrid(D + 1, e + 1) = "z": objectGrid(D + 1, e + 1) = "o"\r
 IF q$ = "." THEN PUT (D * 10, e * 10), tahtm, PSET\r
 IF q$ = "-" THEN PUT (D * 10, e * 10), pilvm, PSET\r
 IF q$ = "x" THEN hedgehogX = D * 20: hedgehogY = (e + 1) * 20\r
 IF q$ = "y" THEN secondHedgehogX = D * 20: secondHedgehogY = (e + 1) * 20\r
-IF q$ = "1" THEN PUT (D * 10, e * 10), muntm, PSET: asend(D + 1, e + 1) = "1"\r
+IF q$ = "1" THEN PUT (D * 10, e * 10), muntm, PSET: terrainGrid(D + 1, e + 1) = "1"\r
 IF q$ = "p" THEN PUT (D * 10, (e * 10) + 5), poosasm, PSET\r
 IF q$ = "h" THEN PUT (D * 10, e * 10), akenm, PSET\r
-IF q$ = "v" THEN PUT (D * 10, (e * 10) + 5), vedrum, PSET: asend(D + 1, e + 1) = "v"\r
+IF q$ = "v" THEN PUT (D * 10, (e * 10) + 5), vedrum, PSET: terrainGrid(D + 1, e + 1) = "v"\r
 IF q$ = "t" THEN PUT (D * 10, e * 10), puum, PSET\r
-IF q$ = ">" THEN PUT (D * 10, e * 10), nooltm, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = ">"\r
-IF q$ = "<" THEN PUT (D * 10, e * 10), nooltm1, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "<"\r
-IF q$ = "a" THEN PUT (D * 10, e * 10), aukm, PSET: asend(D + 1, e + 1) = "z": asend1(D + 1, e + 1) = "a"\r
-IF q$ = "u" THEN PUT (D * 10, e * 10), uksm, PSET: asend(D + 1, e + 1) = "u": uks1 = D * 20: uks2 = e * 20\r
-IF q$ = "U" THEN PUT (D * 10, e * 10), uksm, PSET: asend(D + 1, e + 1) = "U": uks3 = D * 20: uks4 = e * 20\r
+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
 NEXT D\r
 NEXT e\r
 123\r