2 * =====================================================================================
6 * Description: Routines to handle the user interface
9 * Created: 24/04/2017 16:41:15
13 * Author: Jerome Benoit (fraggle), jerome.benoit@piment-noir.org
14 * Organization: Piment Noir
16 * =====================================================================================
23 /* in all print routine, y and x are the coordinates of the first character of the shape
24 * which can be a space ' ' */
26 /* FIXME: one can split this shape in building blocks and build it using them */
27 void print_board(int y
, int x
) {
29 mvprintw(y
, x
, " A | B | C | D | E | F | G | H");
30 mvprintw(y
+1, x
, " -----+----+----+----+----+----+----+-----");
31 mvprintw(y
+2, x
, "1| | | | | | | | |");
32 mvprintw(y
+3, x
, " | | | | | | | | |");
33 mvprintw(y
+4, x
, " +----+----+----+----+----+----+----+----+");
34 mvprintw(y
+5, x
, "2| | | | | | | | |");
35 mvprintw(y
+6, x
, " | | | | | | | | |");
36 mvprintw(y
+7, x
, " +----+----+----+----+----+----+----+----+");
37 mvprintw(y
+8, x
, "3| | | | | | | | |");
38 mvprintw(y
+9, x
, " | | | | | | | | |");
39 mvprintw(y
+10, x
, " +----+----+----+----+----+----+----+----+");
40 mvprintw(y
+11, x
, "4| | | | | | | | |");
41 mvprintw(y
+12, x
, " | | | | | | | | |");
42 mvprintw(y
+13, x
, " +----+----+----+----+----+----+----+----+");
43 mvprintw(y
+14, x
, "5| | | | | | | | |");
44 mvprintw(y
+15, x
, " | | | | | | | | |");
45 mvprintw(y
+16, x
, " +----+----+----+----+----+----+----+----+");
46 mvprintw(y
+17, x
, "7| | | | | | | | |");
47 mvprintw(y
+18, x
, " | | | | | | | | |");
48 mvprintw(y
+19, x
, " +----+----+----+----+----+----+----+----+");
49 mvprintw(y
+20, x
, "8| | | | | | | | |");
50 mvprintw(y
+21, x
, " | | | | | | | | |");
51 mvprintw(y
+22, x
, " -----+----+----+----+----+----+----+-----");
54 static void print_x(int y
, int x
, int type
) {
56 mvprintw(y
, x
, "\\/");
57 mvprintw(y
+1, x
,"/\\");
60 static void print_o(int y
, int x
, int type
) {
62 mvprintw(y
, x
, "/\\");
63 mvprintw(y
+1, x
, "\\/");
66 /* y = 1: y -> 0 x = 1: 1 -> 1
67 * y > 2: y -> y + 3 2 -> +6 */
69 static int remap_y(int y
) {
78 static int remap_x(int x
) {