2 // boards.cpp: Actual playable (we hope!) game boards
5 // © 2014 Underground Software
7 // JLH = James Hammons <jlhamm@acm.org>
10 // --- ---------- ------------------------------------------------------------
11 // JLH 03/03/2014 Created this file
15 // We use anonymous structs to create these, to keep things simple. :-)
21 // . = Spot to move box to
22 // + = Spot to move box to, that already has a box on it
23 // o = Player initial position
24 // * = Player initial position, that has a spot under it
25 // - = Do not draw anything here
29 unsigned int width, height;
30 unsigned char state[5 * 5 + 40 + 1]; } board001 = { 5, 5,
31 // const char * state; } board001 = { 5, 5,
42 unsigned int width, height;
43 unsigned char state[7 * 7 + 40 + 1]; } board002 = { 7, 7,
51 "A Little Bit Harder..."
56 unsigned int width, height;
57 unsigned char state[7 * 5 + 40 + 1]; } board003 = { 7, 5,
68 unsigned int width, height;
69 unsigned char state[8 * 5 + 40 + 1]; } board004 = { 8, 5,
80 unsigned int width, height;
81 unsigned char state[8 * 7 + 40 + 1]; } board005 = { 8, 7,
94 unsigned int width, height;
95 unsigned char state[8 * 8 + 40 + 1]; } board006 = { 8, 8,
108 static const struct {
109 unsigned int width, height;
110 unsigned char state[8 * 6 + 40 + 1]; } board007 = { 8, 6,
121 static const struct {
122 unsigned int width, height;
123 unsigned char state[10 * 8 + 40 + 1]; } board008 = { 10, 8,
136 static const struct {
137 unsigned int width, height;
138 unsigned char state[9 * 7 + 40 + 1]; } board009 = { 9, 7,
150 static const struct {
151 unsigned int width, height;
152 unsigned char state[7 * 7 + 40 + 1]; } board010 = { 7, 7,
164 static const struct {
165 unsigned int width, height;
166 unsigned char state[10 * 8 + 40 + 1]; } board011 = { 10, 8,
179 static const struct {
180 unsigned int width, height;
181 unsigned char state[10 * 6 + 40 + 1]; } board012 = { 10, 6,
192 static const struct {
193 unsigned int width, height;
194 unsigned char state[9 * 7 + 40 + 1]; } board013 = { 9, 7,
206 static const struct {
207 unsigned int width, height;
208 unsigned char state[8 * 7 + 40 + 1]; } board014 = { 8, 7,
220 static const struct {
221 unsigned int width, height;
222 unsigned char state[8 * 7 + 40 + 1]; } board015 = { 8, 7,
234 static const struct {
235 unsigned int width, height;
236 unsigned char state[10 * 7 + 40 + 1]; } board016 = { 10, 7,
248 static const struct {
249 unsigned int width, height;
250 unsigned char state[7 * 7 + 40 + 1]; } board017 = { 7, 7,
262 static const struct {
263 unsigned int width, height;
264 unsigned char state[12 * 6 + 40 + 1]; } board018 = { 12, 6,
275 static const struct {
276 unsigned int width, height;
277 unsigned char state[10 * 7 + 40 + 1]; } board019 = { 10, 7,
289 static const struct {
290 unsigned int width, height;
291 unsigned char state[8 * 6 + 40 + 1]; } board020 = { 8, 6,
302 static const struct {
303 unsigned int width, height;
304 unsigned char state[7 * 7 + 40 + 1]; } board021 = { 7, 7,
316 static const struct {
317 unsigned int width, height;
318 unsigned char state[7 * 7 + 40 + 1]; } board022 = { 7, 7,
330 static const struct {
331 unsigned int width, height;
332 unsigned char state[9 * 7 + 40 + 1]; } board023 = { 9, 7,
344 static const struct {
345 unsigned int width, height;
346 unsigned char state[8 * 8 + 40 + 1]; } board024 = { 8, 8,
359 static const struct {
360 unsigned int width, height;
361 unsigned char state[8 * 8 + 40 + 1]; } board025 = { 8, 8,
374 static const struct {
375 unsigned int width, height;
376 unsigned char state[7 * 7 + 40 + 1]; } board026 = { 7, 7,
388 static const struct {
389 unsigned int width, height;
390 unsigned char state[8 * 7 + 40 + 1]; } board027 = { 8, 7,
402 static const struct {
403 unsigned int width, height;
404 unsigned char state[12 * 5 + 40 + 1]; } board028 = { 12, 5,
414 static const struct {
415 unsigned int width, height;
416 unsigned char state[8 * 7 + 40 + 1]; } board029 = { 8, 7,
428 static const struct {
429 unsigned int width, height;
430 unsigned char state[11 * 9 + 40 + 1]; } board030 = { 11, 9,
444 static const struct {
445 unsigned int width, height;
446 unsigned char state[11 * 7 + 40 + 1]; } board031 = { 11, 7,
458 static const struct {
459 unsigned int width, height;
460 unsigned char state[8 * 7 + 40 + 1]; } board032 = { 8, 7,
472 static const struct {
473 unsigned int width, height;
474 unsigned char state[9 * 8 + 40 + 1]; } board033 = { 9, 8,
487 static const struct {
488 unsigned int width, height;
489 unsigned char state[9 * 8 + 40 + 1]; } board034 = { 9, 8,
502 static const struct {
503 unsigned int width, height;
504 unsigned char state[9 * 8 + 40 + 1]; } board035 = { 9, 8,
517 static const struct {
518 unsigned int width, height;
519 unsigned char state[7 * 6 + 40 + 1]; } board036 = { 7, 6,
530 static const struct {
531 unsigned int width, height;
532 unsigned char state[8 * 7 + 40 + 1]; } board037 = { 8, 7,
544 static const struct {
545 unsigned int width, height;
546 unsigned char state[9 * 8 + 40 + 1]; } board038 = { 9, 8,
559 static const struct {
560 unsigned int width, height;
561 unsigned char state[12 * 7 + 40 + 1]; } board039 = { 12, 7,
573 static const struct {
574 unsigned int width, height;
575 unsigned char state[9 * 7 + 40 + 1]; } board040 = { 9, 7,
587 static const struct {
588 unsigned int width, height;
589 unsigned char state[8 * 7 + 40 + 1]; } board041 = { 8, 7,
601 static const struct {
602 unsigned int width, height;
603 unsigned char state[9 * 7 + 40 + 1]; } board042 = { 9, 7,
615 const void * boards[] = {
616 &board001, &board002, &board003, &board004, &board005, &board006, &board007, &board008,
617 &board009, &board010, &board011, &board012, &board013, &board014, &board015, &board016,
618 &board017, &board018, &board019, &board020, &board021, &board022, &board023, &board024,
619 &board025, &board026, &board027, &board028, &board029, &board030, &board031, &board032,
620 &board033, &board034, &board035, &board036, &board037, &board038, &board039, &board040,
621 &board041, &board042, //&board043, &board044, &board045, &board046, &board047, &board048,
622 // &board049, &board050, &board051, &board052, &board053, &board054, &board055, &board056,
623 // &board057, &board058, &board059, &board060, &board061, &board062, &board063, &board064,
624 // &board065, &board066, &board067, &board068, &board069, &board070, &board071, &board072,
625 // &board073, &board074, &board075, &board076, &board077, &board078, &board079, &board080,
626 // &board081, &board082, &board083, &board084, &board085, &board086, &board087, &board088,
627 // &board089, &board090, &board091, &board092, &board093, &board094, &board095, &board096,
628 // &board097, &board098, &board099, &board100, &board101, &board102, &board103, &board104,