Hello there.
I would like to know how to organize a collision.
How can you determine where Mario is now and if there are objects on the background, then some action follows.
Part code:
// player coordinates
int marioX, marioY;
// player direction
int marioDX = 1;
int marioDY = 1;
int sensorValue = analogRead(A0);
// LEFT BUTTON
if(sensorValue >= 120 && sensorValue < 135){
marioX -= marioDX;
}
// RIGHT BUTTON
if(sensorValue >= 140 && sensorValue < 155){
marioX += marioDX;
}
TV.bitmap(marioX, marioY, mario_sprite);
I have an array of background:
PROGMEM const unsigned char background[] = {
128,18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x00,0x00,0x00,
0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFE,0x00,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x00,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x00,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x00,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x00,0x00,0x00,
0xFF,0xC0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
and mario sprite:
PROGMEM const unsigned char mario_sprite[] = {
16,16,
0x00,0x00,
0x03,0xE0,
0x06,0x7C,
0x07,0xD0,
0x0F,0xDC,
0x0F,0xEE,
0x0F,0xC4,
0x03,0xF8,
0x07,0xA8,
0x0F,0xFC,
0x1F,0xF8,
0x1F,0xF0,
0x1F,0xF0,
0x3E,0xE0,
0x21,0xC0,
0x01,0xE0
};