maps and sprite sheets

Understanding the language, error messages, etc.

maps and sprite sheets

Postby adekto » Fri Apr 18, 2014 4:00 pm

hi guys im kinda doing the maps for the buinomon and doing a test project to see how far we can go with it
im doing the code all blind (without a gamebuino to test on) anyway

so since we need a map i made a 2D array since that sound most logical to do using the program tiled i made a int array thats properly fine.

now the tricky part is the sprites, i have allot of sprites and they a currently in s spritemap as a single object i was wondering is this can be done (and how in program memory)
or do i need them all as separate static objects how do give them a logic name that (some sort of array?)

or sude i completely do it different with external file data reading (stream from sd card)
current data
Code: Select all
int map_w = 48;
int map_h = 32;
int map_arr[map_h][map_w];
map_arr = {
      {47, 47, 47, 47, 23, 19, 26, 38, 8, 26, 8, 26, 8, 19, 38, 66, 66, 38, 7, 8, 19, 8, 26, 7, 8, 19, 19, 19, 7, 7, 31, 26, 7, 8, 19, 19, 19, 7, 7, 31, 32, 8, 26, 8, 26, 8, 38, 7},
        {47, 47, 47, 47, 23, 8, 26, 26, 20, 38, 20, 8, 20, 7, 6, 66, 66, 6, 19, 20, 8, 20, 7, 19, 20, 38, 8, 7, 19, 19, 43, 7, 19, 20, 38, 8, 7, 19, 19, 43, 44, 20, 8, 20, 7, 20, 38, 19},
        {47, 47, 47, 53, 23, 20, 7, 8, 38, 7, 8, 20, 38, 19, 38, 66, 66, 6, 7, 8, 20, 8, 19, 7, 26, 7, 20, 19, 7, 7, 8, 19, 7, 26, 7, 20, 19, 7, 7, 8, 7, 6, 20, 8, 19, 26, 20, 45},
        {47, 47, 47, 47, 23, 7, 19, 20, 26, 19, 20, 7, 7, 7, 31, 32, 31, 32, 19, 20, 7, 20, 8, 19, 7, 19, 8, 6, 19, 19, 26, 8, 19, 7, 19, 8, 6, 19, 19, 20, 19, 8, 26, 20, 45, 7, 7, 8},
        {47, 47, 47, 47, 23, 19, 8, 7, 7, 7, 7, 7, 19, 19, 43, 44, 43, 44, 7, 7, 19, 6, 20, 7, 19, 38, 20, 7, 8, 26, 7, 20, 6, 19, 38, 20, 7, 8, 26, 8, 7, 20, 8, 26, 8, 19, 19, 20},
        {47, 47, 53, 47, 48, 11, 20, 19, 19, 19, 19, 19, 38, 6, 26, 66, 66, 38, 19, 19, 26, 26, 26, 19, 26, 6, 38, 26, 26, 6, 19, 26, 6, 26, 6, 38, 19, 20, 7, 20, 19, 26, 20, 7, 20, 7, 26, 38},
        {47, 47, 47, 47, 47, 48, 11, 65, 38, 26, 38, 26, 6, 26, 28, 66, 66, 26, 6, 6, 26, 38, 38, 26, 38, 6, 26, 6, 6, 26, 6, 26, 6, 38, 6, 26, 6, 6, 19, 7, 7, 7, 26, 19, 8, 19, 7, 8},
        {47, 47, 36, 34, 53, 47, 23, 65, 6, 38, 6, 38, 26, 26, 6, 66, 66, 26, 26, 38, 6, 38, 26, 6, 38, 38, 6, 6, 6, 38, 66, 66, 66, 66, 66, 66, 66, 38, 38, 19, 19, 19, 8, 38, 20, 7, 19, 20},
        {47, 36, 35, 45, 21, 47, 23, 65, 6, 6, 6, 26, 26, 38, 6, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 6, 26, 6, 38, 38, 66, 66, 6, 26, 6, 38, 20, 8, 7, 19, 8, 45},
        {47, 23, 45, 9, 12, 36, 35, 65, 38, 26, 6, 26, 38, 6, 38, 66, 66, 26, 26, 38, 26, 38, 6, 38, 6, 38, 6, 6, 38, 26, 38, 26, 26, 38, 38, 6, 26, 66, 38, 38, 26, 8, 26, 20, 19, 38, 20, 26},
        {47, 48, 10, 12, 47, 23, 65, 65, 65, 65, 65, 38, 26, 26, 6, 66, 66, 26, 26, 26, 60, 63, 63, 64, 63, 38, 6, 6, 26, 26, 60, 64, 64, 64, 63, 64, 38, 66, 6, 26, 38, 20, 26, 8, 45, 7, 45, 7},
        {47, 53, 47, 47, 47, 23, 65, 49, 50, 65, 29, 30, 38, 6, 6, 66, 66, 26, 6, 6, 60, 4, 4, 4, 4, 38, 6, 6, 38, 6, 60, 4, 4, 4, 4, 4, 38, 66, 66, 31, 32, 26, 8, 20, 8, 19, 8, 19},
        {47, 47, 47, 47, 47, 23, 65, 61, 62, 65, 41, 42, 6, 38, 26, 66, 66, 38, 26, 26, 60, 16, 16, 16, 16, 45, 38, 26, 26, 6, 60, 16, 16, 16, 16, 16, 26, 66, 66, 43, 44, 38, 20, 38, 20, 8, 20, 45},
        {47, 47, 47, 53, 36, 35, 65, 65, 65, 65, 38, 6, 38, 28, 38, 66, 66, 38, 6, 45, 60, 5, 54, 54, 5, 38, 26, 6, 6, 26, 60, 16, 16, 16, 54, 16, 6, 66, 38, 38, 26, 26, 38, 8, 8, 20, 45, 7},
        {47, 47, 53, 47, 23, 65, 65, 65, 65, 65, 6, 38, 6, 26, 6, 66, 66, 38, 38, 6, 6, 45, 66, 66, 26, 38, 6, 6, 26, 6, 38, 38, 26, 26, 38, 38, 26, 66, 6, 38, 26, 6, 6, 20, 20, 38, 8, 19},
        {47, 47, 36, 34, 35, 65, 65, 29, 30, 65, 49, 50, 38, 26, 38, 66, 66, 26, 38, 6, 38, 38, 66, 6, 38, 6, 26, 6, 26, 38, 26, 9, 10, 11, 26, 6, 26, 66, 38, 26, 38, 38, 6, 8, 26, 7, 20, 38},
        {34, 34, 35, 4, 1, 2, 65, 41, 42, 65, 61, 62, 9, 10, 11, 66, 66, 9, 10, 11, 26, 38, 66, 60, 64, 63, 63, 26, 6, 26, 9, 12, 22, 48, 11, 38, 26, 66, 60, 63, 63, 63, 63, 63, 8, 19, 7, 8},
        {18, 17, 16, 16, 13, 14, 65, 65, 65, 65, 26, 6, 21, 22, 23, 66, 66, 33, 24, 23, 38, 6, 66, 60, 3, 3, 3, 38, 26, 6, 33, 24, 47, 22, 23, 6, 6, 66, 60, 3, 3, 3, 3, 3, 20, 45, 19, 20},
        {17, 18, 17, 4, 1, 2, 65, 26, 6, 6, 6, 6, 33, 34, 35, 66, 66, 65, 33, 35, 26, 38, 66, 60, 15, 54, 15, 26, 6, 26, 65, 21, 47, 36, 35, 38, 26, 66, 60, 15, 40, 15, 40, 15, 7, 8, 45, 38},
        {18, 17, 16, 16, 13, 14, 65, 6, 26, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 38, 26, 66, 6, 6, 26, 65, 9, 12, 36, 35, 38, 6, 38, 66, 60, 15, 15, 15, 15, 15, 19, 20, 38, 45},
        {4, 4, 1, 2, 4, 4, 65, 38, 6, 66, 6, 6, 6, 6, 6, 26, 26, 38, 38, 6, 38, 26, 66, 66, 66, 66, 6, 6, 26, 65, 21, 53, 23, 6, 6, 38, 38, 66, 60, 15, 54, 15, 15, 15, 7, 45, 29, 30},
        {16, 16, 13, 14, 16, 54, 65, 38, 38, 66, 6, 26, 38, 6, 26, 60, 63, 64, 64, 64, 38, 6, 26, 6, 26, 66, 38, 6, 26, 65, 33, 24, 48, 11, 6, 6, 6, 66, 26, 26, 66, 26, 38, 7, 19, 38, 41, 42},
        {1, 2, 1, 2, 6, 6, 6, 6, 28, 66, 6, 38, 6, 38, 38, 60, 4, 4, 4, 4, 26, 38, 28, 26, 38, 66, 6, 26, 6, 65, 65, 21, 53, 23, 6, 26, 6, 66, 66, 66, 66, 6, 6, 19, 49, 50, 49, 50},
        {13, 14, 13, 14, 4, 4, 66, 66, 66, 66, 6, 38, 26, 6, 26, 60, 16, 40, 16, 16, 38, 26, 38, 6, 38, 66, 26, 38, 65, 65, 9, 12, 36, 35, 6, 38, 6, 6, 26, 6, 26, 38, 7, 26, 61, 62, 61, 62},
        {1, 2, 5, 5, 5, 5, 5, 5, 5, 6, 6, 26, 26, 6, 26, 60, 16, 16, 54, 16, 26, 38, 6, 6, 26, 66, 6, 6, 65, 65, 21, 47, 23, 65, 6, 6, 6, 38, 26, 26, 49, 50, 49, 50, 29, 30, 49, 50},
        {13, 14, 17, 18, 17, 18, 17, 18, 17, 26, 26, 6, 38, 38, 26, 26, 38, 26, 66, 38, 38, 6, 38, 6, 38, 66, 6, 38, 6, 9, 12, 53, 23, 65, 26, 6, 26, 6, 26, 26, 61, 62, 61, 62, 41, 42, 61, 62},
        {1, 2, 5, 9, 11, 9, 10, 11, 5, 45, 6, 45, 26, 6, 6, 6, 38, 26, 66, 66, 66, 66, 66, 66, 66, 66, 6, 26, 65, 33, 34, 24, 23, 65, 65, 6, 38, 38, 38, 29, 30, 38, 29, 30, 49, 50, 49, 50},
        {13, 14, 9, 12, 48, 12, 22, 23, 5, 65, 65, 65, 38, 26, 26, 65, 38, 6, 38, 38, 38, 6, 26, 26, 6, 26, 26, 65, 65, 65, 65, 21, 23, 65, 65, 65, 6, 6, 6, 41, 42, 26, 41, 42, 61, 62, 61, 62},
        {1, 2, 33, 24, 47, 47, 36, 35, 5, 5, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 9, 10, 12, 48, 11, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27},
        {13, 14, 9, 12, 47, 47, 23, 18, 17, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 9, 10, 10, 12, 53, 47, 22, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39},
        {10, 10, 12, 47, 22, 47, 48, 11, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 21, 53, 47, 36, 34, 34, 24, 23, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17},
        {47, 47, 47, 47, 47, 47, 47, 48, 10, 10, 10, 10, 10, 10, 11, 1, 2, 9, 10, 10, 10, 10, 10, 10, 10, 10, 12, 36, 34, 35, 1, 2, 21, 48, 10, 10, 11, 18, 17, 18, 17, 9, 10, 10, 10, 10, 11, 65}
    };

static unsigned char PROGMEM blackMap[] =
{
  96,48, //width and height
  B11111111, B11111111, B11111111, B00000000, B00000000, B00000000, B00001000, B00000000, B00111111, B11111111, B11111100, B10100000,
  B10000000, B00000011, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B01000000, B00000000, B00000010, B01000000,
  B00000000, B00000001, B00000000, B00000000, B00000000, B00000000, B00000100, B00010000, B10011111, B11111111, B11111001, B10000000,
  B00000000, B00000001, B11111111, B11111111, B11111111, B00000000, B00000100, B00010000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000001, B01000000, B00010000, B01000100, B00000000, B01000010, B00001000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000001, B11111111, B00010000, B01000100, B00000000, B01101110, B00000000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000001, B00000100, B00010000, B01000100, B00000000, B00000010, B00011000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000001, B11111111, B11111111, B11111111, B00000000, B10000001, B01010100, B10100000, B00000000, B00000101, B00000000,

  B00000000, B00000001, B01000000, B00000001, B00000011, B10000000, B11001111, B00111000, B10100000, B00011000, B00000101, B00000000,
  B00000000, B00000001, B11111111, B00000001, B00000001, B00000000, B00000001, B00011000, B10100000, B00101100, B00000101, B00000000,
  B00000000, B00000001, B00000100, B00000001, B00000001, B00000000, B10000111, B11001000, B10100000, B01000100, B00000101, B00000000,
  B00000000, B00000001, B11111111, B11111111, B00000001, B00000000, B11111111, B00101011, B10100000, B01000100, B00000101, B00000000,
  B00000000, B00000001, B01000000, B00010000, B00000001, B00000000, B01111110, B00011100, B10100000, B11100110, B00000101, B00000000,
  B00000000, B00000001, B11111111, B00010000, B00000001, B00000000, B00001000, B00001000, B10100000, B10110010, B00000101, B10000000,
  B00000000, B00000001, B00000100, B00010000, B00000011, B10000000, B00100100, B00100100, B10100000, B11011110, B00000101, B01000000,
  B10000000, B00000011, B11111111, B11111111, B11111111, B11111111, B00000100, B00000100, B10100000, B01110000, B00000101, B10100000,

  B00000000, B00000000, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000000, B11111111, B00000000, B00000010, B00010000, B00000100, B00000000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000000, B11111111, B00000001, B00000000, B00000000, B00000000, B00000000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000000, B00000000, B10000000, B00000000, B00000000, B00000001, B00000000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000000, B11111111, B00000001, B00000000, B00000000, B00100000, B00010000, B10100000, B00000000, B00000101, B00000000,
  B00000000, B00000000, B00000000, B11111111, B00000000, B11000000, B10011000, B00010001, B10011111, B11111111, B11111001, B00000001,
  B00000000, B00000000, B00000000, B00010000, B00000000, B00110001, B00000000, B01001001, B01000000, B00000000, B00000010, B00000010,
  B00000000, B00000000, B00000000, B00010000, B01001000, B00100000, B01000000, B10000110, B00111111, B11111111, B11111100, B00000101,

  B11111111, B00000000, B00000000, B00111100, B01110000, B00100000, B01000011, B10000100, B00000000, B00000000, B00000000, B00000101,
  B11111111, B00000000, B00000000, B01111000, B01000000, B00110001, B11000001, B00000101, B00000000, B00000000, B00000000, B00000010,
  B11111111, B00000000, B00000000, B11110000, B00001000, B01110111, B11100001, B00000111, B00000000, B00000000, B00000000, B00000001,
  B11111111, B00000000, B00000000, B11100001, B00011111, B10110000, B01111011, B10001111, B00000000, B00000000, B00000000, B00000000,
  B11111111, B00000000, B00000000, B11000011, B00001011, B00101000, B01110000, B11100110, B00000000, B00000000, B00000000, B00000000,
  B11111111, B00000000, B11111111, B10000111, B00000001, B00100000, B01111001, B11001110, B00000000, B00000000, B00000000, B00000000,
  B11111111, B00000000, B11111111, B00001111, B00000001, B10100000, B00111111, B11111000, B00000000, B00000000, B00000000, B00000000,
  B11111111, B00000000, B00000000, B00011110, B00000010, B10100000, B00001111, B11100000, B00000000, B00000000, B00000000, B00000000,

  B00000000, B00000000, B00001000, B00010000, B00000000, B11111111, B11111111, B11111111, B00000000, B00000000, B11111111, B00000001,
  B00101001, B10100000, B00101000, B00010100, B00000000, B10000001, B11111000, B00001111, B00000000, B00000000, B11111101, B00000001,
  B01010010, B00010100, B00000000, B00000000, B00000000, B10000001, B11110000, B00000111, B00000000, B00000000, B11101111, B00000001,
  B00100101, B00101000, B00100000, B00000100, B00000000, B10000001, B11100000, B00000011, B00000000, B00000000, B11111111, B00000001,
  B01001010, B10010100, B01111111, B11111110, B00000000, B10000001, B11100000, B00000011, B00000000, B00000000, B11111111, B00000001,
  B00001101, B00100010, B00101000, B00010100, B00000000, B10001101, B11010000, B00000101, B00000000, B00000000, B11111011, B00000001,
  B00010010, B10010000, B00001000, B00010000, B00000000, B10000101, B11010000, B00000101, B00000000, B00000000, B10111111, B00000001,
  B00000100, B00000000, B00101000, B00010100, B00000000, B10000001, B11001110, B00111001, B00000000, B00000000, B11111111, B00000001,

  B00000000, B01001000, B11111111, B11111111, B00000000, B00000000, B11001110, B00111001, B00000000, B00000000, B11011111, B00000000,
  B00000011, B00000000, B00000001, B00000001, B00000000, B00000000, B11000001, B01000001, B00000000, B00000000, B01101101, B00000000,
  B00000010, B10010000, B01000101, B00000001, B00000000, B00000000, B11010001, B11000101, B00000000, B00000000, B10111011, B00000000,
  B00000011, B00100000, B00000001, B00000001, B00000000, B00000000, B11101100, B00011011, B00000000, B00000000, B11011110, B00000000,
  B00000001, B01000000, B00000001, B00000001, B00000000, B00000000, B11110110, B00110111, B00000000, B00000000, B11101101, B00000000,
  B00000000, B01000000, B00000001, B00000001, B00000000, B00000000, B11110010, B10100111, B00000000, B00000000, B10111111, B00000000,
  B00000011, B01100000, B01000101, B00000001, B00000000, B00000000, B11110000, B00000111, B00000000, B00000000, B01010101, B00000000,
  B00001111, B11111000, B00000001, B00000001, B00000000, B00000000, B11111000, B00001111, B00000000, B00000000, B11111011, B00000000,

};
static unsigned char PROGMEM greyMap[] =
{
  96,48, //width and height
  B00000000, B00000000, B00000000, B00000000, B00000001, B00000000, B00010000, B00000000, B00000000, B00000000, B00000000, B01010111,
  B00000000, B00000000, B00000000, B11111111, B00000001, B00000000, B00011000, B00000000, B00111111, B11111111, B11111100, B10011011,
  B00111111, B11111100, B11111111, B00000000, B11111111, B00000000, B00111000, B00000000, B01000000, B00000000, B00000010, B01101101,
  B01101111, B01111110, B00000000, B00000000, B00000000, B00000000, B00111000, B00000000, B01010101, B11010101, B11010010, B11010101,
  B01000101, B01010110, B10111111, B11101001, B00000000, B00000000, B00111100, B00010000, B01000110, B11100110, B11100010, B11100110,
  B01000000, B00010110, B00000000, B11101111, B10111011, B00000000, B00010000, B00010000, B01011011, B01111011, B01111010, B01111011,
  B01000000, B00000010, B11111011, B11101111, B10111011, B00000000, B01111100, B00000000, B01011011, B10011011, B10011010, B10011011,
  B01000000, B00000010, B00000000, B00000000, B00000000, B00000000, B01111110, B00101000, B01001100, B11101100, B11101010, B11101100,

  B01000000, B00000010, B10111111, B10011110, B00001100, B01100000, B00110000, B00000000, B01010111, B01100111, B01110010, B01110111,
  B01000000, B00000010, B00000000, B11111110, B00000110, B11000000, B11111110, B00000000, B01011011, B10010011, B10011010, B10011011,
  B01000000, B00000010, B11111011, B11111110, B00000110, B11000000, B01111000, B00110000, B01001101, B10111001, B10101010, B10101101,
  B01100000, B00000010, B00000000, B00000000, B00000110, B11000000, B00000000, B00010100, B01010101, B10111001, B11010010, B11010101,
  B01100000, B00000010, B10111111, B11101001, B11111110, B11111111, B00000000, B00000000, B01000110, B00011000, B11100010, B11100110,
  B01101010, B10101010, B00000000, B11101111, B00001110, B11100000, B00010000, B00010000, B01011011, B01001101, B01111010, B00111011,
  B01111010, B11111110, B11111011, B11101111, B11111100, B01111111, B00011000, B00011000, B01011011, B00100001, B10011010, B10011011,
  B00111111, B11111100, B00000000, B00000000, B00000000, B00000000, B00111000, B00111000, B01001100, B10001100, B11101010, B01001100,

  B11111111, B00000000, B00000000, B00001000, B00000011, B00110000, B00000111, B11110000, B01010111, B01110111, B01110010, B01110111,
  B11111111, B00000000, B00000000, B11111111, B00001100, B00001100, B00011011, B00011100, B01011011, B10011011, B10011010, B10011011,
  B11111111, B01000010, B00000000, B11001010, B00010010, B00011010, B00110011, B10011110, B01001101, B10101101, B10101010, B10101101,
  B11111111, B00000000, B11111111, B01111111, B00100001, B00110001, B00111110, B11110010, B01010101, B11010101, B11010010, B11010101,
  B11111111, B00001000, B00000000, B01010010, B01100001, B11111011, B01011110, B11100110, B01000110, B11100110, B11100010, B11100110,
  B11111111, B00000000, B11111111, B00000000, B01110011, B00111111, B01100100, B11101110, B01000000, B00000000, B00000010, B01111000,
  B11111111, B00100000, B11111111, B00001000, B01001110, B11001110, B11111111, B10110110, B00111111, B11111111, B11111100, B10011001,
  B11111111, B00000000, B11111111, B00001000, B00000100, B01011111, B10100111, B01001001, B00000000, B00000000, B00000000, B11101010,

  B00000000, B00000000, B11111111, B00000000, B00001110, B11010011, B10110100, B01001011, B00000000, B11111111, B01110111, B01110010,
  B00000000, B00000000, B11111111, B00000000, B00111111, B11000010, B00111010, B10111010, B01000000, B10101010, B10011011, B10011001,
  B00000000, B00001000, B11111111, B00000000, B00110111, B10001000, B00011110, B11111000, B10100100, B01010101, B10101101, B10101100,
  B00000000, B00010100, B11111111, B00000000, B00000000, B01001110, B00000100, B01110000, B01001010, B10101010, B11010101, B11010101,
  B00000000, B00001000, B00000000, B00000000, B00000100, B11010100, B00001111, B00011000, B00100100, B01010101, B11100110, B11100110,
  B00000000, B00000000, B00000000, B00000000, B00000000, B11000000, B00000110, B00110000, B01010010, B10101010, B01111011, B01111011,
  B00000000, B00000010, B00000000, B00000000, B00000000, B01000000, B00000000, B00000000, B00100101, B11111111, B10011011, B10011011,
  B00000000, B00000000, B11111111, B00000000, B00000001, B01010000, B00000000, B00000000, B00000010, B00000000, B11101100, B11101100,

  B00011111, B10110000, B01110000, B00001110, B01110011, B00000000, B00000000, B00000000, B11110000, B11110000, B00000000, B00000000,
  B01010000, B01011100, B01000000, B00000010, B10011101, B01111110, B00000000, B00000000, B11110000, B10110100, B00000010, B00000000,
  B00101001, B00101010, B01111111, B11111110, B10100101, B01000000, B00000110, B00110000, B11110000, B11010010, B00010000, B00000000,
  B11001010, B10010111, B01001111, B11110010, B11110101, B01000000, B00001100, B00011000, B11110000, B11110000, B00000000, B00000000,
  B10110101, B01100011, B00000000, B00000000, B10101010, B01011110, B00001110, B00111000, B00001111, B00001111, B00000000, B00000000,
  B11110010, B01011101, B01000000, B00000010, B01011011, B01010010, B00001001, B11001000, B00001111, B01001011, B00000100, B00000000,
  B11101101, B01101111, B01110000, B00001110, B11011011, B01011010, B00000111, B11110000, B00001111, B00101101, B01000000, B00000000,
  B01111011, B11111101, B01000000, B00000010, B11101100, B01011110, B00010001, B01000100, B00001111, B00001111, B00000000, B00000000,

  B11011111, B10100110, B00000000, B00000000, B11000110, B01011011, B00010001, B01000100, B11001100, B10001000, B00100000, B00000000,
  B10101000, B11001010, B00000000, B00000000, B11000110, B00000000, B00010010, B10100100, B11001100, B11011101, B10010010, B00000000,
  B00110101, B01101100, B00111000, B01111100, B01100000, B01110110, B00001110, B00111000, B00110011, B10001000, B01000100, B00000000,
  B00010000, B11011000, B00111000, B01111100, B01100110, B00000000, B00000011, B11100000, B00110011, B11011101, B00100001, B00000000,
  B00000010, B10000000, B01111100, B01111100, B00000110, B01011101, B00000000, B00000000, B11001100, B10001000, B00010010, B00000000,
  B00000011, B10000000, B01111100, B01111100, B11000000, B00000000, B00000101, B01010000, B11001100, B11011101, B01000000, B00000000,
  B00000100, B10000000, B00111000, B01111100, B11011011, B01110111, B00000111, B01110000, B00110011, B10001000, B10101010, B00000000,
  B00000000, B00000000, B00000000, B00000000, B00011011, B00000000, B00000000, B00000000, B00110011, B11011101, B00000100, B00000000,

};
User avatar
adekto
 
Posts: 448
Joined: Tue Feb 25, 2014 9:47 pm
Location: belgium

Re: maps and sprite sheets

Postby rodot » Fri Apr 18, 2014 4:21 pm

I think your should use a byte array instead of an int array. 1 byte takes 8 bits while 1 int takes 16 bits and run slower as it's an 8 bit microcontroller.
The default library only allows to draw independent bitmaps. What you could do is an array of bitmaps, where the index in the array would correspond the the value of the byte in the map.
Array of bitmaps can also be used to easily draw animated bitmaps.
As the map width and height are not going to change, you can use #define instead, it will use less memory and make you game run faster. More info: http://arduino.cc/en/Reference/Define
As the map is not going to change, you should store it in the program memory instead of the RAM. To do so you have to add the PROGMEM keyword. More info: http://arduino.cc/en/Reference/PROGMEM
Not sure if I'm clear?

Here is a code example to illustrate that :

Code: Select all
#define MAP_W 48
#define MAP_H 32
byte PROGMEM map[MAP_W][MAP_H] = {...};

#define NUM_TILES 64
byte* PROGMEM tiles[NUM_TILES]{
{.....}, //first tile
{.....}, //second tile
... //etc
};
User avatar
rodot
Site Admin
 
Posts: 1290
Joined: Mon Nov 19, 2012 11:54 pm
Location: France

Re: maps and sprite sheets

Postby adekto » Fri Apr 18, 2014 4:34 pm

ok that fine but this is just a small map (for this type a game) and i assume its going to have 10 or even more maps, any suggestions on that?
User avatar
adekto
 
Posts: 448
Joined: Tue Feb 25, 2014 9:47 pm
Location: belgium

Re: maps and sprite sheets

Postby rodot » Fri Apr 18, 2014 4:42 pm

There are different solutions:
- You store everything in the program memory, but it probably won't fit.
- You only store 1 map in the program memory and use the bootloader to rewrite it with a map from the SD card. Problem is that it will wear out the program memory quickly.
- You use a RAM buffer for 1 map and load it from the SD card using a small SD library like Petit FatFs. It may use a large amount of RAM depending on the buffer size.
- You directly stream the map from the SD card. It won't use RAM and wear out flash, but it might be slower.
User avatar
rodot
Site Admin
 
Posts: 1290
Joined: Mon Nov 19, 2012 11:54 pm
Location: France

Re: maps and sprite sheets

Postby adekto » Fri Apr 18, 2014 4:50 pm

sd library sounds best and safest and it can also be used for the image, stats loading of all the monsters in the combat state
User avatar
adekto
 
Posts: 448
Joined: Tue Feb 25, 2014 9:47 pm
Location: belgium

Re: maps and sprite sheets

Postby rodot » Fri Apr 18, 2014 5:03 pm

If you program a kind of parser and store monster's stats in the SD card too it will allow you to add/change monsters without having to re-compile the game. It may also be possible to do that for maps.
User avatar
rodot
Site Admin
 
Posts: 1290
Joined: Mon Nov 19, 2012 11:54 pm
Location: France

Re: maps and sprite sheets

Postby adekto » Fri Apr 18, 2014 5:27 pm

um yea thats a little advanced for me but its the way to go for this game
also allows for easy modding in extra maps and monsters
User avatar
adekto
 
Posts: 448
Joined: Tue Feb 25, 2014 9:47 pm
Location: belgium

Re: maps and sprite sheets

Postby adekto » Fri Apr 18, 2014 10:45 pm

wel still the old way but its all i can do right now

(untested code)
Code: Select all
#include <SPI.h>
#include <Gamebuino.h>

Gamebuino gb;

#define MAP_W 48
#define MAP_H 32
#define WIDTH 11
#define HEIGHT 7
byte PROGMEM map[MAP_W][MAP_H] = {
      {47, 47, 47, 47, 23, 19, 26, 38, 8, 26, 8, 26, 8, 19, 38, 66, 66, 38, 7, 8, 19, 8, 26, 7, 8, 19, 19, 19, 7, 7, 31, 26, 7, 8, 19, 19, 19, 7, 7, 31, 32, 8, 26, 8, 26, 8, 38, 7},
        {47, 47, 47, 47, 23, 8, 26, 26, 20, 38, 20, 8, 20, 7, 6, 66, 66, 6, 19, 20, 8, 20, 7, 19, 20, 38, 8, 7, 19, 19, 43, 7, 19, 20, 38, 8, 7, 19, 19, 43, 44, 20, 8, 20, 7, 20, 38, 19},
        {47, 47, 47, 53, 23, 20, 7, 8, 38, 7, 8, 20, 38, 19, 38, 66, 66, 6, 7, 8, 20, 8, 19, 7, 26, 7, 20, 19, 7, 7, 8, 19, 7, 26, 7, 20, 19, 7, 7, 8, 7, 6, 20, 8, 19, 26, 20, 45},
        {47, 47, 47, 47, 23, 7, 19, 20, 26, 19, 20, 7, 7, 7, 31, 32, 31, 32, 19, 20, 7, 20, 8, 19, 7, 19, 8, 6, 19, 19, 26, 8, 19, 7, 19, 8, 6, 19, 19, 20, 19, 8, 26, 20, 45, 7, 7, 8},
        {47, 47, 47, 47, 23, 19, 8, 7, 7, 7, 7, 7, 19, 19, 43, 44, 43, 44, 7, 7, 19, 6, 20, 7, 19, 38, 20, 7, 8, 26, 7, 20, 6, 19, 38, 20, 7, 8, 26, 8, 7, 20, 8, 26, 8, 19, 19, 20},
        {47, 47, 53, 47, 48, 11, 20, 19, 19, 19, 19, 19, 38, 6, 26, 66, 66, 38, 19, 19, 26, 26, 26, 19, 26, 6, 38, 26, 26, 6, 19, 26, 6, 26, 6, 38, 19, 20, 7, 20, 19, 26, 20, 7, 20, 7, 26, 38},
        {47, 47, 47, 47, 47, 48, 11, 65, 38, 26, 38, 26, 6, 26, 28, 66, 66, 26, 6, 6, 26, 38, 38, 26, 38, 6, 26, 6, 6, 26, 6, 26, 6, 38, 6, 26, 6, 6, 19, 7, 7, 7, 26, 19, 8, 19, 7, 8},
        {47, 47, 36, 34, 53, 47, 23, 65, 6, 38, 6, 38, 26, 26, 6, 66, 66, 26, 26, 38, 6, 38, 26, 6, 38, 38, 6, 6, 6, 38, 66, 66, 66, 66, 66, 66, 66, 38, 38, 19, 19, 19, 8, 38, 20, 7, 19, 20},
        {47, 36, 35, 45, 21, 47, 23, 65, 6, 6, 6, 26, 26, 38, 6, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 6, 26, 6, 38, 38, 66, 66, 6, 26, 6, 38, 20, 8, 7, 19, 8, 45},
        {47, 23, 45, 9, 12, 36, 35, 65, 38, 26, 6, 26, 38, 6, 38, 66, 66, 26, 26, 38, 26, 38, 6, 38, 6, 38, 6, 6, 38, 26, 38, 26, 26, 38, 38, 6, 26, 66, 38, 38, 26, 8, 26, 20, 19, 38, 20, 26},
        {47, 48, 10, 12, 47, 23, 65, 65, 65, 65, 65, 38, 26, 26, 6, 66, 66, 26, 26, 26, 60, 63, 63, 64, 63, 38, 6, 6, 26, 26, 60, 64, 64, 64, 63, 64, 38, 66, 6, 26, 38, 20, 26, 8, 45, 7, 45, 7},
        {47, 53, 47, 47, 47, 23, 65, 49, 50, 65, 29, 30, 38, 6, 6, 66, 66, 26, 6, 6, 60, 4, 4, 4, 4, 38, 6, 6, 38, 6, 60, 4, 4, 4, 4, 4, 38, 66, 66, 31, 32, 26, 8, 20, 8, 19, 8, 19},
        {47, 47, 47, 47, 47, 23, 65, 61, 62, 65, 41, 42, 6, 38, 26, 66, 66, 38, 26, 26, 60, 16, 16, 16, 16, 45, 38, 26, 26, 6, 60, 16, 16, 16, 16, 16, 26, 66, 66, 43, 44, 38, 20, 38, 20, 8, 20, 45},
        {47, 47, 47, 53, 36, 35, 65, 65, 65, 65, 38, 6, 38, 28, 38, 66, 66, 38, 6, 45, 60, 5, 54, 54, 5, 38, 26, 6, 6, 26, 60, 16, 16, 16, 54, 16, 6, 66, 38, 38, 26, 26, 38, 8, 8, 20, 45, 7},
        {47, 47, 53, 47, 23, 65, 65, 65, 65, 65, 6, 38, 6, 26, 6, 66, 66, 38, 38, 6, 6, 45, 66, 66, 26, 38, 6, 6, 26, 6, 38, 38, 26, 26, 38, 38, 26, 66, 6, 38, 26, 6, 6, 20, 20, 38, 8, 19},
        {47, 47, 36, 34, 35, 65, 65, 29, 30, 65, 49, 50, 38, 26, 38, 66, 66, 26, 38, 6, 38, 38, 66, 6, 38, 6, 26, 6, 26, 38, 26, 9, 10, 11, 26, 6, 26, 66, 38, 26, 38, 38, 6, 8, 26, 7, 20, 38},
        {34, 34, 35, 4, 1, 2, 65, 41, 42, 65, 61, 62, 9, 10, 11, 66, 66, 9, 10, 11, 26, 38, 66, 60, 64, 63, 63, 26, 6, 26, 9, 12, 22, 48, 11, 38, 26, 66, 60, 63, 63, 63, 63, 63, 8, 19, 7, 8},
        {18, 17, 16, 16, 13, 14, 65, 65, 65, 65, 26, 6, 21, 22, 23, 66, 66, 33, 24, 23, 38, 6, 66, 60, 3, 3, 3, 38, 26, 6, 33, 24, 47, 22, 23, 6, 6, 66, 60, 3, 3, 3, 3, 3, 20, 45, 19, 20},
        {17, 18, 17, 4, 1, 2, 65, 26, 6, 6, 6, 6, 33, 34, 35, 66, 66, 65, 33, 35, 26, 38, 66, 60, 15, 54, 15, 26, 6, 26, 65, 21, 47, 36, 35, 38, 26, 66, 60, 15, 40, 15, 40, 15, 7, 8, 45, 38},
        {18, 17, 16, 16, 13, 14, 65, 6, 26, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 38, 26, 66, 6, 6, 26, 65, 9, 12, 36, 35, 38, 6, 38, 66, 60, 15, 15, 15, 15, 15, 19, 20, 38, 45},
        {4, 4, 1, 2, 4, 4, 65, 38, 6, 66, 6, 6, 6, 6, 6, 26, 26, 38, 38, 6, 38, 26, 66, 66, 66, 66, 6, 6, 26, 65, 21, 53, 23, 6, 6, 38, 38, 66, 60, 15, 54, 15, 15, 15, 7, 45, 29, 30},
        {16, 16, 13, 14, 16, 54, 65, 38, 38, 66, 6, 26, 38, 6, 26, 60, 63, 64, 64, 64, 38, 6, 26, 6, 26, 66, 38, 6, 26, 65, 33, 24, 48, 11, 6, 6, 6, 66, 26, 26, 66, 26, 38, 7, 19, 38, 41, 42},
        {1, 2, 1, 2, 6, 6, 6, 6, 28, 66, 6, 38, 6, 38, 38, 60, 4, 4, 4, 4, 26, 38, 28, 26, 38, 66, 6, 26, 6, 65, 65, 21, 53, 23, 6, 26, 6, 66, 66, 66, 66, 6, 6, 19, 49, 50, 49, 50},
        {13, 14, 13, 14, 4, 4, 66, 66, 66, 66, 6, 38, 26, 6, 26, 60, 16, 40, 16, 16, 38, 26, 38, 6, 38, 66, 26, 38, 65, 65, 9, 12, 36, 35, 6, 38, 6, 6, 26, 6, 26, 38, 7, 26, 61, 62, 61, 62},
        {1, 2, 5, 5, 5, 5, 5, 5, 5, 6, 6, 26, 26, 6, 26, 60, 16, 16, 54, 16, 26, 38, 6, 6, 26, 66, 6, 6, 65, 65, 21, 47, 23, 65, 6, 6, 6, 38, 26, 26, 49, 50, 49, 50, 29, 30, 49, 50},
        {13, 14, 17, 18, 17, 18, 17, 18, 17, 26, 26, 6, 38, 38, 26, 26, 38, 26, 66, 38, 38, 6, 38, 6, 38, 66, 6, 38, 6, 9, 12, 53, 23, 65, 26, 6, 26, 6, 26, 26, 61, 62, 61, 62, 41, 42, 61, 62},
        {1, 2, 5, 9, 11, 9, 10, 11, 5, 45, 6, 45, 26, 6, 6, 6, 38, 26, 66, 66, 66, 66, 66, 66, 66, 66, 6, 26, 65, 33, 34, 24, 23, 65, 65, 6, 38, 38, 38, 29, 30, 38, 29, 30, 49, 50, 49, 50},
        {13, 14, 9, 12, 48, 12, 22, 23, 5, 65, 65, 65, 38, 26, 26, 65, 38, 6, 38, 38, 38, 6, 26, 26, 6, 26, 26, 65, 65, 65, 65, 21, 23, 65, 65, 65, 6, 6, 6, 41, 42, 26, 41, 42, 61, 62, 61, 62},
        {1, 2, 33, 24, 47, 47, 36, 35, 5, 5, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 9, 10, 12, 48, 11, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27},
        {13, 14, 9, 12, 47, 47, 23, 18, 17, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 9, 10, 10, 12, 53, 47, 22, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39},
        {10, 10, 12, 47, 22, 47, 48, 11, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 21, 53, 47, 36, 34, 34, 24, 23, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17},
        {47, 47, 47, 47, 47, 47, 47, 48, 10, 10, 10, 10, 10, 10, 11, 1, 2, 9, 10, 10, 10, 10, 10, 10, 10, 10, 12, 36, 34, 35, 1, 2, 21, 48, 10, 10, 11, 18, 17, 18, 17, 9, 10, 10, 10, 10, 11, 65}
    };

#define NUM_TILES 64
byte* PROGMEM blacktiles[NUM_TILES]{
{B11111111, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11111111, B00000011, B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, },
{B11111111, B00000000, B00000000, B11111111, B01000000, B11111111, B00000100, B11111111, },
{B00000000, B00000000, B00000000, B11111111, B00010000, B00010000, B00010000, B11111111, },
{B00000000, B00000000, B00000000, B11111111, B01000100, B01000100, B01000100, B11111111, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00001000, B00000000, B00000100, B00000100, B01000010, B01101110, B00000010, B10000001, },
{B00000000, B00000000, B00010000, B00010000, B00001000, B00000000, B00011000, B01010100, },
{B00111111, B01000000, B10011111, B10100000, B10100000, B10100000, B10100000, B10100000, },
{B11111111, B00000000, B11111111, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11111100, B00000010, B11111001, B00000101, B00000101, B00000101, B00000101, B00000101, },
{B10100000, B01000000, B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, },
{B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, B00000011, },
{B01000000, B11111111, B00000100, B11111111, B01000000, B11111111, B00000100, B11111111, },
{B00000001, B00000001, B00000001, B11111111, B00010000, B00010000, B00010000, B11111111, },
{B00000011, B00000001, B00000001, B00000001, B00000001, B00000001, B00000011, B11111111, },
{B10000000, B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B11111111, },
{B11001111, B00000001, B10000111, B11111111, B01111110, B00001000, B00100100, B00000100, },
{B00111000, B00011000, B11001000, B00101011, B00011100, B00001000, B00100100, B00000100, },
{B10100000, B10100000, B10100000, B10100000, B10100000, B10100000, B10100000, B10100000, },
{B00011000, B00101100, B01000100, B01000100, B11100110, B10110010, B11011110, B01110000, },
{B00000101, B00000101, B00000101, B00000101, B00000101, B00000101, B00000101, B00000101, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B10000000, B01000000, B10100000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B11111111, B11111111, B00000000, B11111111, B00000000, B00000000, B00000000, },
{B00010000, B00000000, B00000001, B10000000, B00000001, B11111111, B00010000, B00010000, },
{B00000000, B00000010, B00000000, B00000000, B00000000, B00000000, B00000000, B01001000, },
{B00000000, B00010000, B00000000, B00000000, B00000000, B11000000, B00110001, B00100000, },
{B00000000, B00000100, B00000000, B00000001, B00100000, B10011000, B00000000, B01000000, },
{B00000000, B00000000, B00000000, B00000000, B00010000, B00010001, B01001001, B10000110, },
{B10100000, B10100000, B10100000, B10100000, B10100000, B10011111, B01000000, B00111111, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B11111111, B00000000, B11111111, },
{B00000101, B00000101, B00000101, B00000101, B00000101, B11111001, B00000010, B11111100, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000001, B00000010, B00000101, },
{B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B11111111, B11111111, B00000000, },
{B00111100, B01111000, B11110000, B11100001, B11000011, B10000111, B00001111, B00011110, },
{B01110000, B01000000, B00001000, B00011111, B00001011, B00000001, B00000001, B00000010, },
{B00100000, B00110001, B01110111, B10110000, B00101000, B00100000, B10100000, B10100000, },
{B01000011, B11000001, B11100001, B01111011, B01110000, B01111001, B00111111, B00001111, },
{B10000100, B00000101, B00000111, B10001111, B11100110, B11001110, B11111000, B11100000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000101, B00000010, B00000001, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00101001, B01010010, B00100101, B01001010, B00001101, B00010010, B00000100, },
{B00000000, B10100000, B00010100, B00101000, B10010100, B00100010, B10010000, B00000000, },
{B00001000, B00101000, B00000000, B00100000, B01111111, B00101000, B00001000, B00101000, },
{B00010000, B00010100, B00000000, B00000100, B11111110, B00010100, B00010000, B00010100, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11111111, B10000001, B10000001, B10000001, B10000001, B10001101, B10000101, B10000001, },
{B11111111, B11111000, B11110000, B11100000, B11100000, B11010000, B11010000, B11001110, },
{B11111111, B00001111, B00000111, B00000011, B00000011, B00000101, B00000101, B00111001, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11111111, B11111101, B11101111, B11111111, B11111111, B11111011, B10111111, B11111111, },
{B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, },
{B00000000, B00000011, B00000010, B00000011, B00000001, B00000000, B00000011, B00001111, },
{B01001000, B00000000, B10010000, B00100000, B01000000, B01000000, B01100000, B11111000, },
{B11111111, B00000001, B01000101, B00000001, B00000001, B00000001, B01000101, B00000001, },
{B11111111, B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, B00000001, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11001110, B11000001, B11010001, B11101100, B11110110, B11110010, B11110000, B11111000, },
{B00111001, B01000001, B11000101, B00011011, B00110111, B10100111, B00000111, B00001111, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11011111, B01101101, B10111011, B11011110, B11101101, B10111111, B01010101, B11111011, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
};

byte* PROGMEM greytiles[NUM_TILES]{
{B00000000, B00000000, B00111111, B01101111, B01000101, B01000000, B01000000, B01000000, },
{B00000000, B00000000, B11111100, B01111110, B01010110, B00010110, B00000010, B00000010, },
{B00000000, B00000000, B11111111, B00000000, B10111111, B00000000, B11111011, B00000000, },
{B00000000, B11111111, B00000000, B00000000, B11101001, B11101111, B11101111, B00000000, },
{B00000001, B00000001, B11111111, B00000000, B00000000, B10111011, B10111011, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00010000, B00011000, B00111000, B00111000, B00111100, B00010000, B01111100, B01111110, },
{B00000000, B00000000, B00000000, B00000000, B00010000, B00010000, B00000000, B00101000, },
{B00000000, B00111111, B01000000, B01010101, B01000110, B01011011, B01011011, B01001100, },
{B00000000, B11111111, B00000000, B11010101, B11100110, B01111011, B10011011, B11101100, },
{B00000000, B11111100, B00000010, B11010010, B11100010, B01111010, B10011010, B11101010, },
{B01010111, B10011011, B01101101, B11010101, B11100110, B01111011, B10011011, B11101100, },
{B01000000, B01000000, B01000000, B01100000, B01100000, B01101010, B01111010, B00111111, },
{B00000010, B00000010, B00000010, B00000010, B00000010, B10101010, B11111110, B11111100, },
{B10111111, B00000000, B11111011, B00000000, B10111111, B00000000, B11111011, B00000000, },
{B10011110, B11111110, B11111110, B00000000, B11101001, B11101111, B11101111, B00000000, },
{B00001100, B00000110, B00000110, B00000110, B11111110, B00001110, B11111100, B00000000, },
{B01100000, B11000000, B11000000, B11000000, B11111111, B11100000, B01111111, B00000000, },
{B00110000, B11111110, B01111000, B00000000, B00000000, B00010000, B00011000, B00111000, },
{B00000000, B00000000, B00110000, B00010100, B00000000, B00010000, B00011000, B00111000, },
{B01010111, B01011011, B01001101, B01010101, B01000110, B01011011, B01011011, B01001100, },
{B01100111, B10010011, B10111001, B10111001, B00011000, B01001101, B00100001, B10001100, },
{B01110010, B10011010, B10101010, B11010010, B11100010, B01111010, B10011010, B11101010, },
{B01110111, B10011011, B10101101, B11010101, B11100110, B00111011, B10011011, B01001100, },
{B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, B11111111, },
{B00000000, B00000000, B01000010, B00000000, B00001000, B00000000, B00100000, B00000000, },
{B00000000, B00000000, B00000000, B11111111, B00000000, B11111111, B11111111, B11111111, },
{B00001000, B11111111, B11001010, B01111111, B01010010, B00000000, B00001000, B00001000, },
{B00000011, B00001100, B00010010, B00100001, B01100001, B01110011, B01001110, B00000100, },
{B00110000, B00001100, B00011010, B00110001, B11111011, B00111111, B11001110, B01011111, },
{B00000111, B00011011, B00110011, B00111110, B01011110, B01100100, B11111111, B10100111, },
{B11110000, B00011100, B10011110, B11110010, B11100110, B11101110, B10110110, B01001001, },
{B01010111, B01011011, B01001101, B01010101, B01000110, B01000000, B00111111, B00000000, },
{B01110111, B10011011, B10101101, B11010101, B11100110, B00000000, B11111111, B00000000, },
{B01110010, B10011010, B10101010, B11010010, B11100010, B00000010, B11111100, B00000000, },
{B01110111, B10011011, B10101101, B11010101, B11100110, B01111000, B10011001, B11101010, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00000000, B00000000, B00001000, B00010100, B00001000, B00000000, B00000010, B00000000, },
{B11111111, B11111111, B11111111, B11111111, B00000000, B00000000, B00000000, B11111111, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B00001110, B00111111, B00110111, B00000000, B00000100, B00000000, B00000000, B00000001, },
{B11010011, B11000010, B10001000, B01001110, B11010100, B11000000, B01000000, B01010000, },
{B10110100, B00111010, B00011110, B00000100, B00001111, B00000110, B00000000, B00000000, },
{B01001011, B10111010, B11111000, B01110000, B00011000, B00110000, B00000000, B00000000, },
{B00000000, B01000000, B10100100, B01001010, B00100100, B01010010, B00100101, B00000010, },
{B11111111, B10101010, B01010101, B10101010, B01010101, B10101010, B11111111, B00000000, },
{B01110111, B10011011, B10101101, B11010101, B11100110, B01111011, B10011011, B11101100, },
{B01110010, B10011001, B10101100, B11010101, B11100110, B01111011, B10011011, B11101100, },
{B00011111, B01010000, B00101001, B11001010, B10110101, B11110010, B11101101, B01111011, },
{B10110000, B01011100, B00101010, B10010111, B01100011, B01011101, B01101111, B11111101, },
{B01110000, B01000000, B01111111, B01001111, B00000000, B01000000, B01110000, B01000000, },
{B00001110, B00000010, B11111110, B11110010, B00000000, B00000010, B00001110, B00000010, },
{B01110011, B10011101, B10100101, B11110101, B10101010, B01011011, B11011011, B11101100, },
{B00000000, B01111110, B01000000, B01000000, B01011110, B01010010, B01011010, B01011110, },
{B00000000, B00000000, B00000110, B00001100, B00001110, B00001001, B00000111, B00010001, },
{B00000000, B00000000, B00110000, B00011000, B00111000, B11001000, B11110000, B01000100, },
{B11110000, B11110000, B11110000, B11110000, B00001111, B00001111, B00001111, B00001111, },
{B11110000, B10110100, B11010010, B11110000, B00001111, B01001011, B00101101, B00001111, },
{B00000000, B00000010, B00010000, B00000000, B00000000, B00000100, B01000000, B00000000, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
{B11011111, B10101000, B00110101, B00010000, B00000010, B00000011, B00000100, B00000000, },
{B10100110, B11001010, B01101100, B11011000, B10000000, B10000000, B10000000, B00000000, },
{B00000000, B00000000, B00111000, B00111000, B01111100, B01111100, B00111000, B00000000, },
{B00000000, B00000000, B01111100, B01111100, B01111100, B01111100, B01111100, B00000000, },
{B11000110, B11000110, B01100000, B01100110, B00000110, B11000000, B11011011, B00011011, },
{B01011011, B00000000, B01110110, B00000000, B01011101, B00000000, B01110111, B00000000, },
{B00010001, B00010010, B00001110, B00000011, B00000000, B00000101, B00000111, B00000000, },
{B01000100, B10100100, B00111000, B11100000, B00000000, B01010000, B01110000, B00000000, },
{B11001100, B11001100, B00110011, B00110011, B11001100, B11001100, B00110011, B00110011, },
{B10001000, B11011101, B10001000, B11011101, B10001000, B11011101, B10001000, B11011101, },
{B00100000, B10010010, B01000100, B00100001, B00010010, B01000000, B10101010, B00000100, },
{B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, },
};




void setup(){
    char cam_x = 10;
    char cam_y = 10;

}

void loop(){
 
  if(gb.update()){
     if(gb.buttons.repeat(BTN_RIGHT,2)){
        if (map[7][4] == 6 || map[7][4] == 25 || map[7][4] == 26 || map[7][4] == 38 || map[7][4] == 45 || map[7][4] == 46 || map[7][4] == 65 || map[7][4] == 66 || map[7][4] == 72)
        {
            cam_x = cam_x +1;
        }
     }
     if(gb.buttons.repeat(BTN_LEFT,2)){
        cam_x = cam_x -1;
     }
     if(gb.buttons.repeat(BTN_DOWN,2)){
        cam_y = cam_y +1;
     }
     if(gb.buttons.repeat(BTN_UP,2)){
        cam_y = cam_y -1;
     }


   for (char i = cam_x; i < WIDTH +cam_x; ++i)
   {
       for (char j = cam_y; j < HEIGHT +cam_y; ++j)
       {
        gb.display.drawBitmap(i*8, j*8, blacktiles[map[i][j]]);
        if(gb.frameCount%2)
        gb.display.drawBitmap(i*8, j*8, greytiles[map[i][j]]);
           
       }
   }
  }
}
User avatar
adekto
 
Posts: 448
Joined: Tue Feb 25, 2014 9:47 pm
Location: belgium


Return to Programming Questions

Who is online

Users browsing this forum: No registered users and 18 guests