7 #pragma disable_warning 85
9 typedef char BOOLEAN;
\r
10 typedef signed char SHORTINT;
12 void App_PutSprite (SHORTINT x, SHORTINT y, SHORTINT spr)
16 static SHORTINT Labirint_objCell, Labirint_manX, Labirint_manY, Labirint_manDirX, Labirint_manDirY;
\r
17 static BOOLEAN Labirint_manPresent;
\r
19 static SHORTINT Labirint_GetManSprite (void)
24 static BOOLEAN Labirint_ManCanGo (void)
29 static BOOLEAN Labirint_ManGoing (SHORTINT x, SHORTINT y)
34 static void Labirint_SetCell (SHORTINT x, SHORTINT y, SHORTINT cell)
38 static void Labirint_TryMoveMan (void)
\r
40 SHORTINT x, y, manSprite;
\r
41 if (Labirint_ManCanGo()) {
\r
42 x = (Labirint_manX + Labirint_manDirX) + Labirint_manDirX;
\r
43 y = (Labirint_manY + Labirint_manDirY) + Labirint_manDirY;
\r
44 Labirint_manPresent = Labirint_ManGoing(x, y);
\r
45 if (!Labirint_manPresent) {
\r
48 manSprite = Labirint_GetManSprite();
\r
49 Labirint_SetCell(x, y, manSprite);
\r
50 App_PutSprite(Labirint_manX, Labirint_manY, 0);
51 // Assembly fails for the next two lines.
\r
52 Labirint_manX = Labirint_manX + Labirint_manDirX;
\r
53 Labirint_manY = Labirint_manY + Labirint_manDirY;
\r
57 App_PutSprite(Labirint_manX, Labirint_manY, manSprite);
\r