Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <progbase.h>
- #include <pbconsole.h>
- int main(void) {
- /* colors encoding table */
- const char colorsTable[16][2] = {
- {'0', BG_BLACK},
- {'2', BG_RED},
- {'4', BG_GREEN},
- {'6', BG_YELLOW},
- {'8', BG_BLUE},
- {'A', BG_MAGENTA},
- {'C', BG_CYAN},
- {'E', BG_WHITE},
- {'1', BG_INTENSITY_BLACK},
- {'3', BG_INTENSITY_RED},
- {'5', BG_INTENSITY_GREEN},
- {'7', BG_INTENSITY_YELLOW},
- {'9', BG_INTENSITY_BLUE},
- {'B', BG_INTENSITY_MAGENTA},
- {'D', BG_INTENSITY_CYAN},
- {'F', BG_INTENSITY_WHITE}
- };
- char image[28][28] = {
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '4','4','4','F','2','2','2','2','2','2','2','2','2','2','F','F','F','F','4','4','4','4','4','F','F','6','6','6' },
- { '4','4','4','2','2','2','2','2','2','2','2','2','2','2','2','F','F','4','4','4','4','4','4','4','F','6','6','6' },
- { '4','4','2','2','2','2','2','2','2','2','2','2','2','2','2','2','F','4','4','4','4','4','4','4','F','F','6','6' },
- { '0','4','4','7','7','7','7','7','7','7','7','7','7','7','7','F','F','4','4','4','0','4','4','4','F','F','F','F' },
- { '0','4','4','7','D','D','D','7','7','7','3','3','3','7','7','F','F','F','4','4','0','4','4','F','F','F','F','F' },
- { '0','4','F','7','D','D','D','7','7','7','3','3','3','7','7','F','F','F','F','4','0','4','F','F','F','F','F','F' },
- { '0','F','F','7','7','7','7','7','7','7','3','3','3','7','7','F','F','F','F','F','0','F','F','F','F','F','F','F' },
- { '5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','5','C','C','C','C','C','C','C' },
- { '5','5','5','5','5','5','2','5','5','5','5','5','5','5','5','5','C','C','C','C','C','C','C','C','C','C','C','C' },
- { '4','4','4','5','5','5','5','5','5','5','5','5','5','5','C','C','C','C','C','C','C','C','C','C','5','5','5','5' },
- { '4','2','4','4','5','5','5','5','5','5','5','5','C','C','C','C','C','C','C','C','5','5','5','5','5','5','5','5' },
- { '4','4','4','4','2','4','4','4','4','C','C','C','C','C','C','C','C','5','5','5','5','5','5','5','5','5','5','5' },
- { '4','4','4','4','4','4','4','C','C','C','C','C','C','C','5','5','5','5','5','5','5','5','5','5','2','5','5','5' },
- { '4','4','4','4','4','4','4','4','C','C','C','C','C','C','5','5','5','5','5','2','5','5','5','5','5','5','5','2' },
- { '4','2','4','4','4','4','4','4','4','4','C','C','C','C','C','C','C','5','5','5','5','5','5','5','5','5','5','5' },
- { '4','4','4','4','4','4','4','4','4','4','4','4','C','C','C','C','C','C','4','4','4','4','4','4','2','4','4','4' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
- { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' }
- };
- int colorsTableLength = sizeof(colorsTable) / sizeof(colorsTable[0]);
- const unsigned long MILLIS = 50;
- char colorsPalette[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
- int colorsPaletteLength = sizeof(colorsPalette) / sizeof(colorsPalette[0]);
- int i = 0;
- int j = 0;
- int dir;
- int count;
- int size = 28;
- int colorPairIndex = 0;
- char colorPairCode;
- char colorPairColor;
- char colorCode;
- char color;
- conClear();
- for (i = 0; i < colorsPaletteLength; i++)
- {
- colorCode = '\0';
- color = '\0';
- /* get current color code from colorsPalette */
- colorCode = colorsPalette[i];
- /* find corresponding color in table */
- for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
- {
- colorPairCode = colorsTable[colorPairIndex][0];
- colorPairColor = colorsTable[colorPairIndex][1];
- if (colorCode == colorPairCode)
- {
- color = colorPairColor;
- break; /* we have found our color, break the loop */
- }
- }
- /* print space with founded color background */
- conSetAttr(color);
- putchar(' ');
- }
- puts("");
- conReset();
- for (i = 0; i < 28; i++)
- {
- for(j = 0; j<28;j++){
- colorCode = '\0';
- color = '\0';
- /* get current color code from colorsPalette */
- colorCode = image[i][j];
- /* find corresponding color in table */
- /* print space with founded color background */
- for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
- {
- colorPairCode = colorsTable[colorPairIndex][0];
- colorPairColor = colorsTable[colorPairIndex][1];
- if (colorCode == colorPairCode)
- {
- color = colorPairColor;
- break; /* we have found our color, break the loop */
- }
- }
- conSetAttr(color);
- conMove(3+i,j);
- putchar(' ');
- }
- }
- puts("");
- conReset();
- for (i = 27; i > 0; i--)
- {
- for(j = 0; j <28;j++){
- colorCode = '\0';
- color = '\0';
- colorCode = image[j][i];
- for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
- {
- colorPairCode = colorsTable[colorPairIndex][0];
- colorPairColor = colorsTable[colorPairIndex][1];
- if (colorCode == colorPairCode)
- {
- color = colorPairColor;
- break;
- /* we have found our color, break the loop */
- }
- }
- i = 27;
- j = 0;
- dir = 1;
- for (count = 0; count < size*size; count++) {
- conMove(3+j,i+30);
- conSetAttr(color);
- putchar(' ');
- fflush(stdout);
- sleepMillis(MILLIS);
- j += dir;
- if (j == size) {
- j--;
- i--;
- dir = -dir;
- }
- if (j == -1) {
- j++;
- i--;
- dir = -dir;
- }
- }
- }
- XZS;L/.RFGV
- }
- puts("");
- conReset();
- for (i = 0; i < 28; i++)
- {
- for(j = 0; j<28;j++){
- colorCode = '\0';
- color = '\0';
- /* get current color code from colorsPalette */
- colorCode = image[i][j];
- /* find corresponding color in table */
- /* print space with founded color background */
- for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
- {
- colorPairCode = colorsTable[colorPairIndex][0];
- colorPairColor = colorsTable[colorPairIndex][1];
- if (colorCode == colorPairCode)
- {
- color = colorPairColor;
- break; /* we have found our color, break the loop */
- }
- }
- conSetAttr(color);
- conMove(30-i,j+60);
- putchar(' ');
- }
- }
- puts("");
- conReset();
- conMove(31,1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement