/* main function */
int main (int argc, char *argv[])
{
+ int i;
/* get basename */
char *pt = progname = argv[0];
if (findchar (board, 'c', &x, &y)) {
VERBOSE (WARNING, printf ("can't find Pacman\n"));
}
+ int dir = -1;
int nx = x;
int ny = y;
+ int ndir = dir;
+
+ /* ghost positions */
+ int gx[MAXNBGHOSTS] = {0};
+ int gy[MAXNBGHOSTS] = {0};
+ for (i = 0; i < MAXNBGHOSTS; i++) {
+ if ((findchar (board, 'P' + i, gx + i, gy + i)) &&
+ (findchar (board, 'p' + i, gx + i, gy + i)) &&
+ (findchar (board, '$' + i, gx + i, gy + i))) {
+ VERBOSE ((i == 0) ? WARNING : INFO, printf ("can't find Ghost n°%d\n", i));
+ }
+ }
+ int gdir[MAXNBGHOSTS] = {-1, -1, -1, -1};
+ int gdelay[MAXNBGHOSTS] = {5, 10, 15, 20};
/* event loop */
int stop = 0;
timeval_t turn = {0, 0};
int delta = 0;
int nbturns = 0;
- int dir = -1;
- int ndir = -1;
int spin = 0;
while (!stop) {
refresh ();
spin = 0;
+ /* move ghosts */
+ for (i = 0; i < MAXNBGHOSTS; i++) {
+ char *cell = getcell (board, gx[i], gy[i]);
+ if (*cell == 'x' + i) {
+ } else if ((*cell == 'P' + i) || (*cell == 'p' + i)) {
+ int gnx, gny;
+ getnewposition (board, gdir[i], gx[i], gy[i], &gnx, &gny);
+ cell = getcell (board, gnx, gny);
+ } else if ((*cell != '*') && (*cell != '.') && (*cell != ' ')) {
+ //
+ //int *ncell = getcell (board, gnx, gny);
+ if ((*cell == 'C') || (*cell == 'c')) {
+
+ }
+ } else if (*cell == '$' + i) {
+ gdelay[i]--;
+ }
+ }
+
} else if ((delta > turnspan / 2) && (spin == 0)) {
/* pacman mouth close */