// . = Spot to move box to
// + = Spot to move box to, that already has a box on it
// o = Player initial position
+// - = Do not draw anything here
//
static const struct {
unsigned int width, height;
- unsigned char state[5 * 5 + 1]; } board001 = { 5, 5,
+ unsigned char state[5 * 5 + 40 + 1]; } board001 = { 5, 5,
+// const char * state; } board001 = { 5, 5,
"@@@@@"
"@o @"
"@ X @"
"@ . @"
"@@@@@"
+ "Neophyte"
};
static const struct {
unsigned int width, height;
- unsigned char state[7 * 7 + 1]; } board002 = { 7, 7,
+ unsigned char state[7 * 7 + 40 + 1]; } board002 = { 7, 7,
"@@@@@@@"
"@ @"
"@ X.X @"
"@ X.X @"
"@o @"
"@@@@@@@"
+ "A Little Bit Harder..."
};
static const struct {
unsigned int width, height;
- unsigned char state[7 * 5 + 1]; } board003 = { 7, 5,
+ unsigned char state[7 * 5 + 40 + 1]; } board003 = { 7, 5,
"@@@@@@@"
"@. X .@"
"@ XoX @"
"@. X .@"
"@@@@@@@"
+ "Boxed In"
};
static const struct {
unsigned int width, height;
- unsigned char state[8 * 5 + 1]; } board004 = { 8, 5,
+ unsigned char state[8 * 5 + 40 + 1]; } board004 = { 8, 5,
"@@@@@@@@"
"@ ..X @"
"@ Xo X @"
"@ X.. @"
"@@@@@@@@"
+ "Edging Out"
};
static const struct {
unsigned int width, height;
- unsigned char state[8 * 7 + 1]; } board005 = { 8, 7,
- " @@@@@@@"
- " @ @"
+ unsigned char state[8 * 7 + 40 + 1]; } board005 = { 8, 7,
+ "-@@@@@@@"
+ "-@ @"
"@@ .X. @"
"@o X X @"
"@ .X. @"
"@@ @"
- " @@@@@@@"
+ "-@@@@@@@"
+ "Rotation"
};
static const struct {
unsigned int width, height;
- unsigned char state[8 * 8 + 1]; } board006 = { 8, 8,
- " @@@@@ "
+ unsigned char state[8 * 8 + 40 + 1]; } board006 = { 8, 8,
+ "-@@@@@--"
"@@ @@@"
"@ @ @"
"@ @ @ @"
"@ X X@ @"
"@.@ @"
"@. o@@@@"
- "@@@@@ "
+ "@@@@@---"
+ "Headless Chicken"
};
static const struct {
unsigned int width, height;
- unsigned char state[8 * 6 + 1]; } board007 = { 8, 6,
+ unsigned char state[8 * 6 + 40 + 1]; } board007 = { 8, 6,
"@@@@@@@@"
"@ X. X.@"
"@o.X X.@"
"@ X. X.@"
"@ .X X.@"
"@@@@@@@@"
+ "Two Lines"
};
static const struct {
unsigned int width, height;
- unsigned char state[10 * 8 + 1]; } board008 = { 10, 8,
- " @@@@@@@"
- " @@ @ o@"
- " @ @ @"
- " @X X X @"
- " @ X@@ @"
+ unsigned char state[10 * 8 + 40 + 1]; } board008 = { 10, 8,
+ "---@@@@@@@"
+ "--@@ @ o@"
+ "--@ @ @"
+ "--@X X X @"
+ "--@ X@@ @"
"@@@ X @ @@"
- "@..... @ "
- "@@@@@@@@@ "
+ "@..... @-"
+ "@@@@@@@@@-"
+ "Easy Does It"
};
static const struct {
unsigned int width, height;
- unsigned char state[9 * 7 + 1]; } board009 = { 9, 7,
+ unsigned char state[9 * 7 + 40 + 1]; } board009 = { 9, 7,
"@@@@@@@@@"
"@ + @"
"@ X.@.X @"
"@ X.X @"
"@@@.X.@@@"
- " @@o@@ "
- " @@@ "
+ "--@@o@@--"
+ "---@@@---"
+ "Claustrophobia"
};
static const struct {
unsigned int width, height;
- unsigned char state[7 * 7 + 1]; } board010 = { 7, 7,
- " @@@@@"
+ unsigned char state[7 * 7 + 40 + 1]; } board010 = { 7, 7,
+ "--@@@@@"
"@@@ @"
"@o .X.@"
"@ X X@"
"@@@.X.@"
- " @ @"
- " @@@@@"
+ "--@ @"
+ "--@@@@@"
+ "Tight Squeeze"
};
static const struct {
unsigned int width, height;
- unsigned char state[10 * 8 + 1]; } board011 = { 10, 8,
- " @@@@ "
- " @ @ "
+ unsigned char state[10 * 8 + 40 + 1]; } board011 = { 10, 8,
+ "--@@@@----"
+ "--@ @----"
"@@@ @@@@@"
"@ ..X @"
"@oX.. X @"
"@@@ X@@@@@"
- " @ @ "
- " @@@@ "
+ "--@ @----"
+ "--@@@@----"
+ "Crossroads"
};
static const struct {
unsigned int width, height;
- unsigned char state[10 * 6 + 1]; } board012 = { 10, 6,
- " @@@@@@@@@"
+ unsigned char state[10 * 6 + 40 + 1]; } board012 = { 10, 6,
+ "-@@@@@@@@@"
"@@ @"
"@ @X@X @"
"@ XX .X.@"
"@ o@@@...@"
- "@@@@ @@@@@"
+ "@@@@-@@@@@"
+ "In The Corner"
};
static const struct {
unsigned int width, height;
- unsigned char state[9 * 7 + 1]; } board013 = { 9, 7,
- " @@@@@ "
+ unsigned char state[9 * 7 + 40 + 1]; } board013 = { 9, 7,
+ "---@@@@@-"
"@@@@ @@"
"@ X X X @"
"@o......@"
"@ X X X @"
"@@@@ @@"
- " @@@@@ "
+ "---@@@@@-"
+ "Get In Line"
};
static const struct {
unsigned int width, height;
- unsigned char state[8 * 7 + 1]; } board014 = { 8, 7,
- " @@@@@ "
- "@@@ o@ "
+ unsigned char state[8 * 7 + 40 + 1]; } board014 = { 8, 7,
+ "--@@@@@-"
+ "@@@ o@-"
"@ X. @@"
"@ .X. @"
"@@@ +X @"
- " @ @@"
- " @@@@@ "
+ "--@ @@"
+ "--@@@@@-"
+ "Tighter Squeeze"
};
static const struct {
unsigned int width, height;
- unsigned char state[8 * 7 + 1]; } board015 = { 8, 7,
- "@@@@@@@ "
+ unsigned char state[8 * 7 + 40 + 1]; } board015 = { 8, 7,
+ "@@@@@@@-"
"@ .X. @@"
"@ X X @"
"@ .X. @"
"@ @@@ @@"
- "@ o @ "
- "@@@@@@@ "
+ "@ o @-"
+ "@@@@@@@-"
+ "Rotation #2"
};
static const struct {
unsigned int width, height;
- unsigned char state[10 * 7 + 1]; } board016 = { 10, 7,
- " @@@@@@ "
- " @@@ @ "
+ unsigned char state[10 * 7 + 40 + 1]; } board016 = { 10, 7,
+ "---@@@@@@-"
+ "-@@@ @-"
"@@. X@@ @@"
"@..X X o@"
"@.. X X @@"
- "@@@@@@ @ "
- " @@@@ "
+ "@@@@@@ @-"
+ "-----@@@@-"
+ "Up Against A Wall"
};
static const struct {
unsigned int width, height;
- unsigned char state[7 * 7 + 1]; } board017 = { 7, 7,
- " @@@@@ "
+ unsigned char state[7 * 7 + 40 + 1]; } board017 = { 7, 7,
+ "-@@@@@-"
"@@ . @@"
"@ X.X @"
"@ .Xo@"
"@ X.X @"
"@@ . @@"
- " @@@@@ "
+ "-@@@@@-"
+ "Lizard Eye"
};
static const struct {
unsigned int width, height;
- unsigned char state[12 * 6 + 1]; } board018 = { 12, 6,
- " @@@@@@@@@@ "
+ unsigned char state[12 * 6 + 40 + 1]; } board018 = { 12, 6,
+ "-@@@@@@@@@@-"
"@@ @o @@"
"@ X ....X @"
"@ X@@@@ X @"
- "@ @ @ @@"
- "@@@@@ @@@@ "
+ "@ @--@ @@"
+ "@@@@@--@@@@-"
+ "Two Rooms"
};