printf("Player %d %sactive.\n",
i + 1, (stored_player[i].active ? "" : "not "));
}
+
+#if 0
+ printf("::: starting game [%d]\n", FrameCounter);
+#endif
}
void InitMovDir(int x, int y)
int rnd_value = 24;
int rnd = RND(rnd_value);
+#if 0
+ if (FrameCounter < 1 && x == 0 && y == 29)
+ printf(":2: %d/%d: %d [%d]\n", x, y, MovDir[x][y], FrameCounter);
+#endif
+
if (can_move_on && rnd > rnd_value / 8)
MovDir[x][y] = old_move_dir;
else if (can_turn_left && can_turn_right)
xx = x + move_xy[MovDir[x][y]].x;
yy = y + move_xy[MovDir[x][y]].y;
+#if 0
+ if (FrameCounter < 1 && x == 0 && y == 29)
+ printf(":3: %d/%d: %d (%d/%d: %d) [%d]\n", x, y, MovDir[x][y],
+ xx, yy, Feld[xx][yy],
+ FrameCounter);
+#endif
+
+#if 1
+ if (!IN_LEV_FIELD_AND_IS_FREE(xx, yy))
+ MovDir[x][y] = old_move_dir;
+#else
if (!IS_FREE(xx, yy))
MovDir[x][y] = old_move_dir;
+#endif
+
+#if 0
+ if (FrameCounter < 1 && x == 0 && y == 29)
+ printf(":4: %d/%d: %d [%d]\n", x, y, MovDir[x][y], FrameCounter);
+#endif
MovDelay[x][y] = 0;
}
#endif
#endif
+#if 0
+ if (FrameCounter < 1 && x == 0 && y == 29)
+ printf(":1: %d/%d: %d [%d]\n", x, y, MovDir[x][y], FrameCounter);
+#endif
+
if (!MovDelay[x][y]) /* start new movement phase */
{
/* all objects that can change their move direction after each step
{
TurnRound(x, y);
+#if 0
+ if (FrameCounter < 1 && x == 0 && y == 29)
+ printf(":9: %d: %d [%d]\n", y, MovDir[x][y], FrameCounter);
+#endif
+
if (MovDelay[x][y] && (element == EL_BUG ||
element == EL_SPACESHIP ||
element == EL_SP_SNIKSNAK ||
if (tape.pausing)
return;
+#if 0
+ printf("::: getting new tape action [%d]\n", FrameCounter);
+#endif
+
recorded_player_action = (tape.playing ? TapePlayAction() : NULL);
for (i=0; i<MAX_PLAYERS; i++)