Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extern ESP32Time rtc;
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E D E F I N I T I O N --------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- // P A C M A N D E F I N I T I O N --------------------------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_PMAN1 = 6;
- const uint8_t W_PMAN1 = 8;
- static const uint8_t pacman1[F_PMAN1 * W_PMAN1] PROGMEM =
- {
- 0x00, 0x81, 0xc3, 0xe7, 0xff, 0x7e, 0x7e, 0x3c,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c,
- 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c,
- };
- // 293756 / 28612
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : W A V E / W O R M D E F I N I T I O N ----------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_WAVE = 14;
- const uint8_t W_WAVE = 14;
- static const uint8_t wave [F_WAVE * W_WAVE] PROGMEM =
- {
- 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10,
- 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40,
- 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,
- 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20,
- 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10,
- 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08,
- 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04,
- 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02,
- 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : G H O S T D E F I N I T I O N ----------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_PMAN2 = 6;
- const uint8_t W_PMAN2 = 18;
- static const uint8_t pacman2[F_PMAN2 * W_PMAN2] PROGMEM =
- {
- 0x00, 0x81, 0xc3, 0xe7, 0xff, 0x7e, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x7b, 0xf3, 0x7f, 0xfb, 0x73, 0xfe,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x7b, 0xf3, 0x7f, 0xfb, 0x73, 0xfe,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x7b, 0xf3, 0x7f, 0xfb, 0x73, 0xfe,
- 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xfb, 0x7f, 0xf3, 0x7b, 0xfe,
- 0x24, 0x66, 0xe7, 0xff, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xfb, 0x7f, 0xf3, 0x7b, 0xfe,
- 0x00, 0x42, 0xe7, 0xe7, 0xff, 0xff, 0x7e, 0x3c, 0x00, 0x00, 0x00, 0xfe, 0x73, 0xfb, 0x7f, 0xf3, 0x7b, 0xfe,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : R O L L I N G 1 S Q U A R E D E F I N I T I O N --------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ROLL1 = 4;
- const uint8_t W_ROLL1 = 8;
- static const uint8_t roll1[F_ROLL1 * W_ROLL1] PROGMEM =
- {
- 0xff, 0x8f, 0x8f, 0x8f, 0x81, 0x81, 0x81, 0xff,
- 0xff, 0xf1, 0xf1, 0xf1, 0x81, 0x81, 0x81, 0xff,
- 0xff, 0x81, 0x81, 0x81, 0xf1, 0xf1, 0xf1, 0xff,
- 0xff, 0x81, 0x81, 0x81, 0x8f, 0x8f, 0x8f, 0xff,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : R O L L I N G 2 O C T A G O N D E F I N I T I O N --------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ROLL2 = 4;
- const uint8_t W_ROLL2 = 8;
- static const uint8_t roll2 [F_ROLL2 * W_ROLL2] PROGMEM =
- {
- 0x3c, 0x4e, 0x8f, 0x8f, 0x81, 0x81, 0x42, 0x3c,
- 0x3c, 0x72, 0xf1, 0xf1, 0x81, 0x81, 0x42, 0x3c,
- 0x3c, 0x42, 0x81, 0x81, 0xf1, 0xf1, 0x72, 0x3c,
- 0x3c, 0x42, 0x81, 0x81, 0x8f, 0x8f, 0x4e, 0x3c,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : S P A C E D L I N E S D E F I N I T I O N ----------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_LINES = 3;
- const uint8_t W_LINES = 8;
- static const uint8_t lines [F_LINES * W_LINES] PROGMEM =
- {
- 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00,
- 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : A R R O W F A D I N G D E F I N I T I O N ---------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ARROW1 = 3;
- const uint8_t W_ARROW1 = 10;
- static const uint8_t arrow1 [F_ARROW1 * W_ARROW1] PROGMEM =
- {
- 0x18, 0x3c, 0x7e, 0xff, 0x7e, 0x00, 0x00, 0x3c, 0x00, 0x00,
- 0x18, 0x3c, 0x7e, 0xff, 0x00, 0x7e, 0x00, 0x00, 0x18, 0x00,
- 0x18, 0x3c, 0x7e, 0xff, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x18,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : A R R O W F A D I N G O U T S I D E D E F I N I T I O N ----------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ARROW2 = 3;
- const uint8_t W_ARROW2 = 9;
- static const uint8_t arrow2 [F_ARROW2 * W_ARROW2] PROGMEM =
- {
- 0x18, 0x3c, 0x7e, 0xe7, 0x00, 0x00, 0xc3, 0x00, 0x00,
- 0x18, 0x3c, 0x7e, 0xe7, 0xe7, 0x00, 0x00, 0x81, 0x00,
- 0x18, 0x3c, 0x7e, 0xe7, 0x00, 0xc3, 0x00, 0x00, 0x81,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : Ż A G L Ó W K A S H I P D E F I N I T I O N -------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_SAILBOAT = 1;
- const uint8_t W_SAILBOAT = 11;
- static const uint8_t sailboat[F_SAILBOAT * W_SAILBOAT] PROGMEM =
- {
- 0x10, 0x30, 0x58, 0x94, 0x92, 0x9f, 0x92, 0x94, 0x98, 0x50, 0x30,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : T I T A N I C S T E A M D E F I N I T I O N -------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_STEAMBOAT = 2;
- const uint8_t W_STEAMBOAT = 11;
- const uint8_t steamboat[F_STEAMBOAT * W_STEAMBOAT] PROGMEM =
- {
- 0x10, 0x30, 0x50, 0x9c, 0x9e, 0x90, 0x91, 0x9c, 0x9d, 0x90, 0x71,
- 0x10, 0x30, 0x50, 0x9c, 0x9c, 0x91, 0x90, 0x9d, 0x9e, 0x91, 0x70,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : H E A R T D E F I N I T I O N ------------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_HEART = 5;
- const uint8_t W_HEART = 9;
- static const uint8_t heart[F_HEART * W_HEART] PROGMEM =
- {
- 0x0e, 0x11, 0x21, 0x42, 0x84, 0x42, 0x21, 0x11, 0x0e,
- 0x0e, 0x1f, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x1f, 0x0e,
- 0x0e, 0x1f, 0x3f, 0x7e, 0xfc, 0x7e, 0x3f, 0x1f, 0x0e,
- 0x0e, 0x1f, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x1f, 0x0e,
- 0x0e, 0x11, 0x21, 0x42, 0x84, 0x42, 0x21, 0x11, 0x0e,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : N A J E Ż D Z C A Z K O S M O S U D E F I N I T I O N --------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_INVADER = 2;
- const uint8_t W_INVADER = 10;
- static const uint8_t invader[F_INVADER * W_INVADER] PROGMEM =
- {
- 0x0e, 0x98, 0x7d, 0x36, 0x3c, 0x3c, 0x36, 0x7d, 0x98, 0x0e,
- 0x70, 0x18, 0x7d, 0xb6, 0x3c, 0x3c, 0xb6, 0x7d, 0x18, 0x70,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : R A K I E T A Z K O S M O S U D E F I N I T I O N ------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_ROCKET = 2;
- const uint8_t W_ROCKET = 11;
- static const uint8_t rocket[F_ROCKET * W_ROCKET] PROGMEM =
- {
- 0x18, 0x24, 0x42, 0x81, 0x99, 0x18, 0x99, 0x18, 0xa5, 0x5a, 0x81,
- 0x18, 0x24, 0x42, 0x81, 0x18, 0x99, 0x18, 0x99, 0x24, 0x42, 0x99,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : F I R E B A L L D E F I N I T I O N ------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_FBALL = 2;
- const uint8_t W_FBALL = 11;
- static const uint8_t fireball[F_FBALL * W_FBALL] PROGMEM =
- {
- 0x7e, 0xab, 0x54, 0x28, 0x52, 0x24, 0x40, 0x18, 0x04, 0x10, 0x08,
- 0x7e, 0xd5, 0x2a, 0x14, 0x24, 0x0a, 0x30, 0x04, 0x28, 0x08, 0x10,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : C H E V R O N D E F I N I T I O N --------------------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_CHEVRON = 1;
- const uint8_t W_CHEVRON = 9;
- static const uint8_t chevron[F_CHEVRON * W_CHEVRON] PROGMEM =
- {
- 0x18, 0x3c, 0x66, 0xc3, 0x99, 0x3c, 0x66, 0xc3, 0x81,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : I D Ą C Y L U D Z I K D E F I N I T I O N ----------------------------------------- //
- // ------------------------------------------------------------------------------------------------------------- //
- const uint8_t F_WALKER = 5;
- const uint8_t W_WALKER = 7;
- static const uint8_t walker[F_WALKER * W_WALKER] PROGMEM =
- {
- 0x00, 0x48, 0x77, 0x1f, 0x1c, 0x94, 0x68,
- 0x00, 0x90, 0xee, 0x3e, 0x38, 0x28, 0xd0,
- 0x00, 0x00, 0xae, 0xfe, 0x38, 0x28, 0x40,
- 0x00, 0x00, 0x2e, 0xbe, 0xf8, 0x00, 0x00,
- 0x00, 0x10, 0x6e, 0x3e, 0xb8, 0xe8, 0x00,
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // S P R I T E : S T R U K T U R A A N I M A C J I d l a D U S Z K Ó W ------------------------------ //
- // ------------------------------------------------------------------------------------------------------------- //
- struct Sprite
- {
- const uint8_t *data;
- uint8_t width;
- uint8_t frames;
- };
- Sprite sprite[] = {
- { walker, W_WALKER, F_WALKER },
- { invader, W_INVADER, F_INVADER },
- { chevron, W_CHEVRON, F_CHEVRON },
- { heart, W_HEART, F_HEART },
- { arrow1, W_ARROW1, F_ARROW1 },
- { steamboat, W_STEAMBOAT, F_STEAMBOAT },
- { fireball, W_FBALL, F_FBALL },
- { rocket, W_ROCKET, F_ROCKET },
- { roll2, W_ROLL2, F_ROLL2 },
- { pacman2, W_PMAN2, F_PMAN2 },
- { lines, W_LINES, F_LINES },
- { roll1, W_ROLL1, F_ROLL1 },
- { sailboat, W_SAILBOAT, F_SAILBOAT },
- { arrow2, W_ARROW2, F_ARROW2 },
- { wave, W_WAVE, F_WAVE },
- { pacman1, W_PMAN1, F_PMAN1 }
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- K A T A L O G E F E K T Ó W --- //
- // ------------------------------------------------------------------------------------------------------------- //
- struct Effect
- {
- textEffect_t effect;
- uint16_t speed;
- uint16_t pause;
- }
- efekt [] =
- {
- { PA_PRINT, 1, 1 },
- { PA_SCROLL_UP, 5, 1 },
- { PA_SCROLL_DOWN, 5, 1 },
- { PA_SCROLL_LEFT, 5, 1 },
- { PA_SCROLL_RIGHT, 5, 1 },
- { PA_SPRITE, 5, 1 },
- { PA_SLICE, 1, 1 },
- { PA_MESH, 20, 1 },
- { PA_FADE, 20, 1 },
- { PA_DISSOLVE, 7, 1 },
- { PA_BLINDS, 7, 1 },
- { PA_RANDOM, 3, 1 },
- { PA_WIPE, 5, 1 },
- { PA_WIPE_CURSOR, 4, 1 },
- { PA_SCAN_HORIZ, 4, 1 },
- { PA_SCAN_HORIZX, 4, 1 },
- { PA_SCAN_VERT, 3, 1 },
- { PA_SCAN_VERTX, 3, 1 },
- { PA_OPENING, 3, 1 },
- { PA_OPENING_CURSOR, 4, 1 },
- { PA_CLOSING, 3, 1 },
- { PA_CLOSING_CURSOR, 4, 1 },
- { PA_SCROLL_UP_LEFT, 7, 1 },
- { PA_SCROLL_UP_RIGHT, 7, 1 },
- { PA_SCROLL_DOWN_LEFT, 7, 1 },
- { PA_SCROLL_DOWN_RIGHT, 7, 1 },
- { PA_GROW_UP, 7, 1 },
- { PA_GROW_DOWN, 7, 1 }
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- K A T A L O G C Y F R --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // DUŻE CYFRY 0 1 2 3 4 5 6 7 8 9
- const char * DuzeCyfry[10] = { "\27", "\1", "\2", "\3", "\4", "\5", "\6", "\7", "\10", "\11" };
- // NORMALNE CYFRY 0 1 2 3 4 5 6 7 8 9
- const char * NormalneCyfry[10] = { "\60", "\61", "\62", "\63", "\64", "\65", "\66", "\67", "\70", "\71" };
- // MAŁE CYFRY 0 1 2 3 4 5 6 7 8 9
- const char * MaleCyfry[10] = { "\12", "\13", "\14", "\15", "\16", "\17", "\20", "\21", "\22", "\23" };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- K L A S A M A X --- //
- // ------------------------------------------------------------------------------------------------------------- //
- class MAX
- {
- private: // metody i zmienne prywatne
- // -------------------------------------------------------------------------------------------- //
- MD_Parola &P; // pseudo obiekt
- uint8_t SpriteSize = 0; // rozmiar tablicy z duszkami
- uint8_t EffectSize = 0; // rozmiar tablicy z efektami
- public: // metody i zmienne publiczne
- // -------------------------------------------------------------------------------------------- //
- MAX(MD_Parola & adrP) : P ( adrP ) { } // konstruktor domyślny
- void Setup(); // Setup klasy MAX
- void ShowBigClock(); // pokaz zegar
- };
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- S E T U P --- //
- // ------------------------------------------------------------------------------------------------------------- //
- void MAX::Setup()
- {
- SpriteSize = ARRAY_SIZE ( sprite );
- EffectSize = ARRAY_SIZE ( efekt );
- }
- // ------------------------------------------------------------------------------------------------------------- //
- // --- M E T O D Y P U B L I C Z N E --- //
- // ------------------------------------------------------------------------------------------------------------- //
- // --- P O K A Z D U Ż Y Z E G A R --- //
- // ------------------------------------------------------------------------------------------------------------- //
- void MAX::ShowBigClock()
- {
- char TimeBufor[20] = " TOMEK "; // bufor do przechowywania czasu
- strcpy(TimeBufor, DuzeCyfry[rtc.getHour(true) / 10]);
- strcat(TimeBufor, DuzeCyfry[rtc.getHour(true) % 10]);
- if(rtc.getSecond() % 2) strcat(TimeBufor, "\24");
- else strcat(TimeBufor, "\26");
- strcat(TimeBufor, DuzeCyfry[rtc.getMinute() / 10]);
- strcat(TimeBufor, DuzeCyfry[rtc.getMinute() % 10]);
- strcat(TimeBufor, "\25");
- strcat(TimeBufor, DuzeCyfry[rtc.getSecond() / 10]);
- strcat(TimeBufor, DuzeCyfry[rtc.getSecond() % 10]);
- P.displayText(TimeBufor, PA_LEFT, 50, 1000, PA_PRINT, PA_SCROLL_UP);
- P.displayAnimate();
- }
Advertisement
Add Comment
Please, Sign In to add comment