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