]> git.gir.st - VIper.git/blob - schemes.h
more food items
[VIper.git] / schemes.h
1 #ifndef __SCHEMES_H__
2 #define __SCHEMES_H__
3
4 #include "viiper.h" /* for enum items */
5
6 #define BORDER_T 0
7 #define BORDER_C 1
8 #define BORDER_B 2
9 #define BORDER_S 3
10 #define BORDER_L 0
11 #define BORDER_R 2
12 //#define BORDER(v,h) op.sch->border[BORDER_ ## v][BORDER_ ## h]
13 #define BORDER(v,h) (g.b.t&1<<BONUS_WRAP?op.sch->permeable:op.sch->border) \
14 [BORDER_ ## v][BORDER_ ## h]
15
16 struct scheme {
17 char* border[4][3];
18 char* permeable[4][3]; /* for wrap-around mode */
19
20 char* snake[5][5]; /* [predecessor][successor] */
21 char* color[3]; /* 0=even, 1=odd, 2=head */
22
23 char* food[NUM_FOODS];
24 char* boni[NUM_BONI];
25
26 int cell_width; /* logical cell width */
27 int display_width; /* physical cell width */
28 };
29
30 struct scheme unic0de = {
31 .border = {
32 {"╔", "══", "╗"},
33 {"║", " ", "║"},
34 {"╚", "══", "╝"},
35 { "╡","","╞" },
36 },
37 .permeable = {//┅╍
38 {"┏", "╍╍", "┓"},
39 {"┋", " ", "┋"},
40 {"┗", "╍╍", "┛"},
41 { "┥","","┝" },
42 },
43
44 .snake = { /* sorted like in the enum directions */
45 /*NOTE: same-to-same direction is for wrap-around*/
46 {/* NONE -> */
47 /*NONE */ "",
48 /*NORTH*/ "⢿⡿",
49 /*EAST */ "⢾⣿",
50 /*SOUTH*/ "⣾⣷",
51 /*WEST */ "⣿⡷",
52 },{/* NORTH -> */
53 /*NONE */ "⢇⡸",
54 /*NORTH*/ "⢇⠜",
55 /*EAST */ "⢇⣈",
56 /*SOUTH*/ "⡇⢸",
57 /*WEST */ "⣁⡸",
58 },{/* EAST -> */
59 /*NONE */ "⢎⣉",
60 /*NORTH*/ "⢇⣈",
61 /*EAST */ "⠪⣉",
62 /*SOUTH*/ "⡎⢉",
63 /*WEST */ "⣉⣉",
64 },{/* SOUTH -> */
65 /*NONE */ "⡎⢱",
66 /*NORTH*/ "⡇⢸",
67 /*EAST */ "⡎⢉",
68 /*SOUTH*/ "⡔⢱",
69 /*WEST */ "⡉⢱",
70 },{/* WEST -> */
71 /*NONE */ "⣉⡱",
72 /*NORTH*/ "⣁⡸",
73 /*EAST */ "⣉⣉",
74 /*SOUTH*/ "⡉⢱",
75 /*WEST */ "⣉⡢",
76 },
77 },
78 .color = {"32", "92", "92;1"},
79
80 .food = {
81 [FOOD_PEAR] = "🍐",
82 [FOOD_WMELON] = "🍉",
83 [FOOD_BANANA] = "🍌",
84 [FOOD_KIWI] = "🥝",
85 [FOOD_APPLER] = "🍎",
86 [FOOD_CHERRY] = "🍒",
87 [FOOD_AVOCADO] = "🥑",
88 },
89 .boni = {
90 [BONUS_SNIP] = "✂️ ",
91 [BONUS_GROW] = "🐍",
92 [BONUS_SLOW] = "🐌",
93 [BONUS_FAST] = "🐇",
94 [BONUS_WRAP] = "🧱",
95 },
96
97 .cell_width = 2,
98 .display_width = 2,
99 };
100
101 #endif
Imprint / Impressum