-}
-
-ExtFunc void ShowPause(int pausedByMe, int pausedByThem)
-{
- move(statusYPos - 3, statusXPos);
- if (pausedByThem)
- addstr("Game paused by opponent");
- else
- addstr(" ");
- move(statusYPos - 2, statusXPos);
- if (pausedByMe)
- addstr("Game paused by you");
- else
- addstr(" ");
-}
-
-ExtFunc void Message(char *s)
-{
- static int line = 0;
+} //ShowScore
+
+ExtFunc void FieldMessage(int playa, char *message)
+{ //put a message over playa's field
+ if (!Players[playa].spy) return;
+ if (message) {
+ char s[MAX_BOARD_WIDTH+1];
+ memset(s, ' ', MAX_BOARD_WIDTH);
+ memcpy(&s[Players[playa].boardWidth - strlen(message) / 2],
+ message, strlen(message));
+ s[Players[playa].boardWidth * 2] = 0;
+#ifdef HAVE_NCURSES
+ attrset(A_REVERSE);
+#else
+ standout();
+#endif
+ mvprintw(boardYPos[playa] - Players[playa].boardVisible / 2,
+ boardXPos[playa], "%s", s);
+ standend();
+ } //display
+ else {
+ int x, y;
+ y = Players[playa].boardVisible / 2;
+ for (x = 0; x <= Players[playa].boardWidth; x++)
+ PlotBlock(playa, y, x, GetBlock(playa, y, x));
+ } //restore field
+} //FieldMessage
+
+ExtFunc void ShowPause(int playa)
+{ //put paused over player's field
+ if (Players[playa].alive)
+ if (Players[playa].flags & SCF_paused)
+ FieldMessage(playa, Game.started > 1
+ ? "P A U S E D" : "N O T R E A D Y");
+ else FieldMessage(playa, Game.started > 1 ? NULL : "R E A D Y");
+ else FieldMessage(playa, playa > maxPlayer
+ ? "E M P T Y" : "G A M E O V E R");
+} //ShowPause