215 lines
3.3 KiB
C++
215 lines
3.3 KiB
C++
|
|
#include "font.h";
|
||
|
|
|
||
|
|
const uint32_t pone_wins[5][4] = {
|
||
|
|
{
|
||
|
|
0x78,
|
||
|
|
0xc4847844,
|
||
|
|
0x440e000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0x11,
|
||
|
|
0x1101501,
|
||
|
|
0x501f0000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0xe,
|
||
|
|
0x400400,
|
||
|
|
0x400e0000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0x9,
|
||
|
|
0xd00b00,
|
||
|
|
0x90090000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0xf,
|
||
|
|
0x800f00,
|
||
|
|
0x100f0000,
|
||
|
|
500
|
||
|
|
}
|
||
|
|
};
|
||
|
|
const uint32_t ptwo_wins[5][4] = {
|
||
|
|
{
|
||
|
|
0x79,
|
||
|
|
0xe48279e4,
|
||
|
|
0x1041e000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0x11,
|
||
|
|
0x1101501,
|
||
|
|
0x501f0000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0xe,
|
||
|
|
0x400400,
|
||
|
|
0x400e0000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0x9,
|
||
|
|
0xd00b00,
|
||
|
|
0x90090000,
|
||
|
|
500
|
||
|
|
},
|
||
|
|
{
|
||
|
|
0xf,
|
||
|
|
0x800f00,
|
||
|
|
0x100f0000,
|
||
|
|
500
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
const byte font_pong[10][8][3] = {
|
||
|
|
// Number 0
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 1
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 0 },
|
||
|
|
{ 0, 1, 0 },
|
||
|
|
{ 0, 1, 0 },
|
||
|
|
{ 0, 1, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 2
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 3
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 4
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 5
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 6
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 0, 0 },
|
||
|
|
{ 1, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 7
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 8
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
// Number 9
|
||
|
|
{
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 0, 0, 0 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 1, 0, 1 },
|
||
|
|
{ 1, 1, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 1 },
|
||
|
|
{ 0, 0, 0 }
|
||
|
|
},
|
||
|
|
};
|
||
|
|
|
||
|
|
const byte pvp_frame[MATRIX_HEIGHT][MATRIX_WIDTH] = {
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||
|
|
{ 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0 },
|
||
|
|
{ 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
|
||
|
|
{ 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0 },
|
||
|
|
{ 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0 },
|
||
|
|
{ 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 },
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||
|
|
};
|
||
|
|
|
||
|
|
const byte pvc_frame[MATRIX_HEIGHT][MATRIX_WIDTH] = {
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||
|
|
{ 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
|
||
|
|
{ 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
|
||
|
|
{ 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0 },
|
||
|
|
{ 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0 },
|
||
|
|
{ 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0 },
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||
|
|
};
|
||
|
|
|
||
|
|
const byte cvc_frame[MATRIX_HEIGHT][MATRIX_WIDTH] = {
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||
|
|
{ 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
|
||
|
|
{ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
|
||
|
|
{ 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0 },
|
||
|
|
{ 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0 },
|
||
|
|
{ 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0 },
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
|
||
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||
|
|
};
|
||
|
|
|
||
|
|
const byte (*game_modes[3])[12]= {pvp_frame, pvc_frame, cvc_frame};
|