Advertisement
Guest User

matrix

a guest
Oct 21st, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.99 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <progbase.h>
  3. #include <pbconsole.h>
  4.  
  5. int main(void) {
  6. /* colors encoding table */
  7. const char colorsTable[16][2] = {
  8. {'0', BG_BLACK},
  9. {'2', BG_RED},
  10. {'4', BG_GREEN},
  11. {'6', BG_YELLOW},
  12. {'8', BG_BLUE},
  13. {'A', BG_MAGENTA},
  14. {'C', BG_CYAN},
  15. {'E', BG_WHITE},
  16. {'1', BG_INTENSITY_BLACK},
  17. {'3', BG_INTENSITY_RED},
  18. {'5', BG_INTENSITY_GREEN},
  19. {'7', BG_INTENSITY_YELLOW},
  20. {'9', BG_INTENSITY_BLUE},
  21. {'B', BG_INTENSITY_MAGENTA},
  22. {'D', BG_INTENSITY_CYAN},
  23. {'F', BG_INTENSITY_WHITE}
  24. };
  25. char image[28][28] = {
  26. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  27. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  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' },
  29. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  30. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  31. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  32. { '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' },
  33. { '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' },
  34. { '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' },
  35. { '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' },
  36. { '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' },
  37. { '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' },
  38. { '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' },
  39. { '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' },
  40. { '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' },
  41.  
  42. { '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' },
  43.  
  44. { '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' },
  45. { '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' },
  46. { '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' },
  47. { '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' },
  48. { '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' },
  49. { '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' },
  50. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  51. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  52. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  53. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  54. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' },
  55. { '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' }
  56. };
  57.  
  58. int colorsTableLength = sizeof(colorsTable) / sizeof(colorsTable[0]);
  59. const unsigned long MILLIS = 50;
  60. char colorsPalette[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
  61.  
  62.  
  63. int colorsPaletteLength = sizeof(colorsPalette) / sizeof(colorsPalette[0]);
  64. int i = 0;
  65. int j = 0;
  66. int dir;
  67. int count;
  68. int size = 28;
  69. int colorPairIndex = 0;
  70. char colorPairCode;
  71. char colorPairColor;
  72. char colorCode;
  73. char color;
  74.  
  75. conClear();
  76.  
  77. for (i = 0; i < colorsPaletteLength; i++)
  78. {
  79. colorCode = '\0';
  80. color = '\0';
  81. /* get current color code from colorsPalette */
  82. colorCode = colorsPalette[i];
  83. /* find corresponding color in table */
  84. for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
  85. {
  86. colorPairCode = colorsTable[colorPairIndex][0];
  87. colorPairColor = colorsTable[colorPairIndex][1];
  88. if (colorCode == colorPairCode)
  89. {
  90. color = colorPairColor;
  91. break; /* we have found our color, break the loop */
  92. }
  93. }
  94. /* print space with founded color background */
  95. conSetAttr(color);
  96. putchar(' ');
  97. }
  98. puts("");
  99. conReset();
  100. for (i = 0; i < 28; i++)
  101. {
  102. for(j = 0; j<28;j++){
  103. colorCode = '\0';
  104. color = '\0';
  105. /* get current color code from colorsPalette */
  106. colorCode = image[i][j];
  107. /* find corresponding color in table */
  108.  
  109. /* print space with founded color background */
  110.  
  111. for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
  112. {
  113. colorPairCode = colorsTable[colorPairIndex][0];
  114. colorPairColor = colorsTable[colorPairIndex][1];
  115. if (colorCode == colorPairCode)
  116. {
  117. color = colorPairColor;
  118. break; /* we have found our color, break the loop */
  119. }
  120. }
  121. conSetAttr(color);
  122. conMove(3+i,j);
  123. putchar(' ');
  124. }
  125. }
  126. puts("");
  127. conReset();
  128. for (i = 27; i > 0; i--)
  129. {
  130. for(j = 0; j <28;j++){
  131. colorCode = '\0';
  132. color = '\0';
  133. colorCode = image[j][i];
  134. for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
  135. {
  136. colorPairCode = colorsTable[colorPairIndex][0];
  137. colorPairColor = colorsTable[colorPairIndex][1];
  138. if (colorCode == colorPairCode)
  139. {
  140. color = colorPairColor;
  141. break;
  142. /* we have found our color, break the loop */
  143. }
  144. }
  145.  
  146. i = 27;
  147. j = 0;
  148. dir = 1;
  149. for (count = 0; count < size*size; count++) {
  150. conMove(3+j,i+30);
  151. conSetAttr(color);
  152. putchar(' ');
  153. fflush(stdout);
  154. sleepMillis(MILLIS);
  155. j += dir;
  156. if (j == size) {
  157. j--;
  158. i--;
  159. dir = -dir;
  160. }
  161. if (j == -1) {
  162. j++;
  163. i--;
  164. dir = -dir;
  165. }
  166.  
  167. }
  168.  
  169. }
  170. XZS;L/.RFGV
  171. }
  172. puts("");
  173. conReset();
  174.  
  175.  
  176. for (i = 0; i < 28; i++)
  177. {
  178. for(j = 0; j<28;j++){
  179. colorCode = '\0';
  180. color = '\0';
  181. /* get current color code from colorsPalette */
  182. colorCode = image[i][j];
  183. /* find corresponding color in table */
  184.  
  185. /* print space with founded color background */
  186.  
  187. for (colorPairIndex = 0; colorPairIndex < colorsTableLength; colorPairIndex++)
  188. {
  189. colorPairCode = colorsTable[colorPairIndex][0];
  190. colorPairColor = colorsTable[colorPairIndex][1];
  191. if (colorCode == colorPairCode)
  192. {
  193. color = colorPairColor;
  194. break; /* we have found our color, break the loop */
  195. }
  196. }
  197. conSetAttr(color);
  198. conMove(30-i,j+60);
  199. putchar(' ');
  200. }
  201. }
  202. puts("");
  203. conReset();
  204. conMove(31,1);
  205. return 0;
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement