#include #define IMG_ARROW_WIDTH 8 #define IMG_ARROW_HEIGHT 16 char IMG_ARROW_DR [] = { 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b1100, 0b1100, 0b0000, 0b0000, 0b1100, 0b1100, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000}; char IMG_ARROW_DL [] = { 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b1100, 0b1100, 0b0000, 0b0000, 0b1100, 0b1100, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000}; char IMG_ARROW_UR [] = { 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0011, 0b0011, 0b0000, 0b0000, 0b0011, 0b0011, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000}; char IMG_ARROW_UL [] = { 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b0011, 0b0011, 0b0000, 0b0000, 0b0011, 0b0011, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000}; #define DIGIT_WIDTH 12 #define DIGIT_HEIGHT 16 char DIGIT_0 [] = { 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011}; char DIGIT_1 [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; char DIGIT_2 [] = { 0b1100, 0b0000, 0b0000, 0b1111, 0b1100, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b1111, 0b1100, 0b0011, 0b0000, 0b1111, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1100, 0b0011, 0b0000, 0b1100, 0b1100, 0b0011, 0b0000, 0b1100}; char DIGIT_3 [] = { 0b1100, 0b0000, 0b0000, 0b0011, 0b1100, 0b0000, 0b0000, 0b0011, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b0011, 0b1111, 0b0011, 0b1100, 0b0011, 0b1111, 0b0011}; char DIGIT_4 [] = { 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1100, 0b0000, 0b1100, 0b0000, 0b1100, 0b0000, 0b1100, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000}; char DIGIT_5 [] = { 0b1111, 0b1111, 0b0000, 0b0011, 0b1111, 0b1111, 0b0000, 0b0011, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b0011, 0b0011, 0b0000, 0b1111, 0b0011}; char DIGIT_6 [] = { 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b1100, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0011, 0b1100, 0b1111, 0b0000, 0b0011, 0b1100, 0b0011, 0b0000, 0b0011, 0b1100, 0b0011, 0b0000, 0b0011, 0b1100, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011}; char DIGIT_7 [] = { 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b0000, 0b0011, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000}; char DIGIT_8 [] = { 0b1100, 0b0011, 0b1111, 0b0011, 0b1100, 0b0011, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b1100, 0b0000, 0b1110, 0b0011, 0b1100, 0b0000, 0b1110, 0b0011, 0b1100, 0b0000, 0b1110, 0b0011, 0b1100, 0b0000, 0b1110, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b0011, 0b1111, 0b0011, 0b1100, 0b0011, 0b1111, 0b0011}; char DIGIT_9 [] = { 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1111, 0b0011, 0b1100, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b0011, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000}; #define TEXT_WIDTH 64 #define TEXT_HEIGHT 16 char TEXT_Rally [] = { 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b0011, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b1100, 0b1111, 0b1100, 0b1111, 0b1100, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b1100, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000}; char TEXT_L_WIN [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b0001, 0b1111, 0b1111, 0b1111, 0b0001, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b0011, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; char TEXT_R_WIN [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b0011, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; char TEXT_GAME_21 [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b1111, 0b1100, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b0011, 0b0000, 0b1111, 0b1100, 0b0011, 0b0000, 0b1111, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b0011, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0000, 0b1100, 0b1100, 0b0011, 0b0000, 0b1100, 0b1100, 0b0011, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; char TEXT_GAME_11 [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; char TEXT_DEUCE [] = { 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1100, 0b0000, 0b0000, 0b0011, 0b1100, 0b0000, 0b0000, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b1100, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100}; char TEXT_R_ADV [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; char TEXT_L_ADV [] = { 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1100, 0b1111, 0b1111, 0b0011, 0b1100, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b1111, 0b1111, 0b1100, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b1111, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b1111, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1110, 0b1111, 0b0000, 0b0000, 0b1110, 0b1100, 0b1111, 0b1111, 0b0111, 0b1100, 0b1111, 0b1111, 0b0111, 0b0000, 0b1111, 0b1111, 0b0001, 0b0000, 0b1111, 0b1111, 0b0001, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b0000, 0b1100, 0b1111, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b1111, 0b0011, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b1111, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000, 0b0000}; int modeswitch = 4; int speaker = 5; volatile int buzz; volatile int l_player; volatile int r_player; volatile boolean serve_end; volatile boolean serve_side; volatile boolean first_point; volatile boolean reset; volatile boolean delay_disp; volatile int serves_pp; volatile int target_score; void setup () { HT1632.begin(9, 10, 11); // Where pinCS1, pinWR and pinDATA are the numbers of the output pins // that are connected to the appropriate pins on the HT1632. noTone(speaker); delay_disp = false; // sets the mode switch pin to input pinMode(modeswitch, INPUT); // sets the digital pin 8 as input....corrected to pin 4 l_player = 0; r_player = 0; //adjust this for rally to serve match serve_end = true; serve_side = true; first_point = true; reset = false; if (digitalRead(modeswitch)){ // if toggle is high, game ends at 21 and server changes ever 5 points target_score = 21; serves_pp = 5; HT1632.drawImage(TEXT_GAME_21, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); delay (4000); } else{ // if toggle is low, game ends at 11 and server changes ever 2 points target_score = 11; serves_pp = 2; HT1632.drawImage(TEXT_GAME_11, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); delay (4000); } HT1632.drawImage(TEXT_Rally, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); // creates interupts for the two player buttons // when interupt 0 (pin 2) is triggered (player 1 button gos low) call function increaseplayer1() attachInterrupt(1, l_player_button, HIGH); // when interupt 1 (pin 3) is triggered (player 2 button gos low) call function increaseplayer2() attachInterrupt(0, r_player_button, HIGH); } void l_player_button(){ // variables used for debounce static unsigned long last_interrupt_time = 0; unsigned long interrupt_time = millis(); // If interrupts come faster than 800ms, assume it's a bounce and ignore if (interrupt_time - last_interrupt_time > 800){ if (reset){ asm volatile(" jmp 0"); } else{ if (first_point){ first_point = !first_point; HT1632.clear(); display(); buzz = 1; } else{ l_player++; if ((l_player >= target_score)&&(l_player >= (r_player + 2))){ HT1632.drawImage(TEXT_L_WIN, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); buzz = 3; reset = true; } else{ serve_brain(); if (!delay_disp){ display(); } } } } } // debounce variable reset last_interrupt_time = interrupt_time; } void r_player_button(){ // variables used for debounce static unsigned long last_interrupt_time = 0; unsigned long interrupt_time = millis(); // If interrupts come faster than 800ms, assume it's a bounce and ignore if (interrupt_time - last_interrupt_time > 800){ if (reset){ asm volatile(" jmp 0"); } else{ if (first_point){ serve_end = false; first_point = !first_point; HT1632.clear(); display(); buzz = 1; } else{ r_player++; if ((r_player >= target_score)&&(r_player >= (l_player + 2))){ HT1632.drawImage(TEXT_R_WIN, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); buzz = 3; reset = true; } else{ serve_brain(); if (!delay_disp){ display(); } } } } } // debounce variable reset last_interrupt_time = interrupt_time; } void serve_brain(){ if (!((l_player >= (target_score-1))&&(r_player >= (target_score-1)))||((l_player == r_player) && (r_player == (target_score-1)))){ if (((l_player+r_player)%serves_pp)==0){ serve_end = !serve_end; serve_side = true; buzz = 2; } else{ buzz = 1; serve_side = !serve_side; } } else{ if (((l_player+r_player)%2)==1){ serve_end = !serve_end; serve_side = true; buzz = 2; } else{ buzz = 1; serve_side = !serve_side; } } if ((l_player == r_player) && (r_player >= (target_score-1))){ HT1632.drawImage(TEXT_DEUCE, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); delay_disp = true; } if ((r_player == (l_player+1)) && (l_player >= (target_score-1))){ HT1632.drawImage(TEXT_R_ADV, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); delay_disp = true; } if ((l_player == (r_player+1)) && (r_player >= (target_score-1))){ HT1632.drawImage(TEXT_L_ADV, TEXT_WIDTH, TEXT_HEIGHT, 0, 0); HT1632.render(); delay_disp = true; serves_pp = 2; } } void display(){ HT1632.clear(); if (serve_end){ if (serve_side){ HT1632.drawImage(IMG_ARROW_DL, IMG_ARROW_WIDTH, IMG_ARROW_HEIGHT, 28, 0); } else{ HT1632.drawImage(IMG_ARROW_UL, IMG_ARROW_WIDTH, IMG_ARROW_HEIGHT, 28, 0); } } else { if (serve_side){ HT1632.drawImage(IMG_ARROW_UR, IMG_ARROW_WIDTH, IMG_ARROW_HEIGHT, 28, 0); } else{ HT1632.drawImage(IMG_ARROW_DR, IMG_ARROW_WIDTH, IMG_ARROW_HEIGHT, 28, 0); } } switch ((l_player/10)){ // update left tens case 0: HT1632.drawImage(DIGIT_0, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 1: HT1632.drawImage(DIGIT_1, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 2: HT1632.drawImage(DIGIT_2, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 3: HT1632.drawImage(DIGIT_3, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 4: HT1632.drawImage(DIGIT_4, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 5: HT1632.drawImage(DIGIT_5, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 6: HT1632.drawImage(DIGIT_6, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 7: HT1632.drawImage(DIGIT_7, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 8: HT1632.drawImage(DIGIT_8, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; case 9: HT1632.drawImage(DIGIT_9, DIGIT_WIDTH, DIGIT_HEIGHT, 0, 0); break; } switch ((l_player%10)){ case 0: HT1632.drawImage(DIGIT_0, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 1: HT1632.drawImage(DIGIT_1, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 2: HT1632.drawImage(DIGIT_2, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 3: HT1632.drawImage(DIGIT_3, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 4: HT1632.drawImage(DIGIT_4, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 5: HT1632.drawImage(DIGIT_5, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 6: HT1632.drawImage(DIGIT_6, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 7: HT1632.drawImage(DIGIT_7, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 8: HT1632.drawImage(DIGIT_8, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; case 9: HT1632.drawImage(DIGIT_9, DIGIT_WIDTH, DIGIT_HEIGHT, 14, 0); break; } switch ((r_player/10)){ // update right tens case 0: HT1632.drawImage(DIGIT_0, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 1: HT1632.drawImage(DIGIT_1, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 2: HT1632.drawImage(DIGIT_2, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 3: HT1632.drawImage(DIGIT_3, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 4: HT1632.drawImage(DIGIT_4, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 5: HT1632.drawImage(DIGIT_5, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 6: HT1632.drawImage(DIGIT_6, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 7: HT1632.drawImage(DIGIT_7, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 8: HT1632.drawImage(DIGIT_8, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; case 9: HT1632.drawImage(DIGIT_9, DIGIT_WIDTH, DIGIT_HEIGHT, 38, 0); break; } switch ((r_player%10)){ case 0: HT1632.drawImage(DIGIT_0, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 1: HT1632.drawImage(DIGIT_1, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 2: HT1632.drawImage(DIGIT_2, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 3: HT1632.drawImage(DIGIT_3, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 4: HT1632.drawImage(DIGIT_4, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 5: HT1632.drawImage(DIGIT_5, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 6: HT1632.drawImage(DIGIT_6, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 7: HT1632.drawImage(DIGIT_7, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 8: HT1632.drawImage(DIGIT_8, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; case 9: HT1632.drawImage(DIGIT_9, DIGIT_WIDTH, DIGIT_HEIGHT, 52, 0); break; } HT1632.render(); } void loop () { switch (buzz){ case 1: for (int i=2000;i<3000;i=i+10){ tone(speaker, i); delay(1); } noTone(speaker); buzz = 0; break; case 2: for (int i=1000;i<3000;i=i+10){ tone(speaker, i); delay(1); } for (int i=3000;i>1000;i=i-10){ tone(speaker, i); delay(1); } noTone(speaker); buzz = 0; break; case 3: for (int j=0;j<16;j++){ for (int i=2000;i<3000;i=i+10){ tone(speaker, i); delay(1); } for (int i=3000;i>2000;i=i-10){ tone(speaker, i); delay(1); } } noTone(speaker); buzz = 0; break; } if (delay_disp){ if (buzz==0){ delay(1000); HT1632.clear(); display(); delay_disp = false; } } }