return name;
}
+void msgwindow (char *msg, int xoffset, int yoffset, int length)
+{
+ set_color (white);
+ _dobound ((length > 0) ? length : (int)strlen (msg), 1, xoffset, yoffset);
+ mvaddstr (yoffset, xoffset + ((length > 0) ? (length - (int)strlen (msg)) / 2 : 0), msg);
+ set_color (black);
+}
+
/* vim: set ts=4 sw=4 et: */
char *savewindow (int length, int xoffset, int yoffset);
+void msgwindow (char *msg, int xoffset, int yoffset, int length);
+
#endif /* __DISPLAY_H__ */
/* vim: set ts=4 sw=4 et: */
int savelen = 12;
char *help =
- "<c> Get pet\n"
+ "<c> Get/Release pet\n"
"<i> Move up cursor\n"
"<j> Move left cursor\n"
"<k> Move down cursor\n"
int xhelp = xboard + xoffset + 1 + board->xsize;
int xcursor = 0;
int ycursor = 0;
- int yhelp = yboard;
+ int yhelp = yboard - 1;
int xsave = max (xboard + (board->xsize - savelen) / 2, 1);
int ysave = yboard + (board->ysize - 1) / 2;
char *savename = NULL;
/* init windows */
- helpwindow (help, xhelp, yhelp);
+ int lhelp = helpwindow (help, xhelp, yhelp);
+
+ /* window positions */
+ int xmsg = xboard;
+ int ymsg = max (yboard + xoffset + 1 + board->ysize, yhelp + lhelp + yoffset + 1);
+ int lmsg = xhelp - xmsg + strmaxlen (help, '\n');
/* event loop */
int mode = 0;
boardwindow (board);
if (!endofgame (board)) {
cursorwindow (board, xcursor, ycursor, mode);
+ } else {
+ msgwindow ("End of game", xmsg, ymsg, lmsg);
}
int ch = getch ();