Pages

Wednesday, May 28, 2014

Animated Name Printer in C++ Programming

This program generates pattern of ‘*’ of given input string.It has also chessboard type background. It is animated and continuously changes colour.

  1. /*This Program Makes Pattern Of String You Enter.

  2. Input must be string without numbers and capital letters.*/


  3. /* Variable info

  4. r = radius of curve in characters like B and O

  5. bkp = horisontal position of cursor

  6. hkp = vertical position of cursor

  7. dly = time delay in miliseconds between to animation screens

  8. name = input string

  9. other are temporary variables

  10. */


  11. #include

  12. #include

  13. #define r 5

  14. #include

  15. #include


  16. void main()

  17. {

  18. clrscr();

  19. int i,bkp=0,hkp=1,x,y,k=30,dly,cc,j,m=0;

  20. char name[12],p;

  21. //textbackground(BLACK);

  22. cprintf("Enter Your name(only small chars eg. hello): ");

  23. scanf("%s",name);

  24. cprintf("Enter color change speed(eg. 30) : ");

  25. scanf("%d",&dly);

  26. gotoxy(40,1);

  27. cprintf("\tBhargav Patel");

  28. _setcursortype(_NOCURSOR);

  29. bkp:

  30. bkp=0;

  31. hkp=1;

  32. clrscr();

  33. //klp:

  34. for(cc=0;cc<24;cc++)

  35. {

  36. for(j=0;j<72;j++)

  37. {

  38. if(cc%8<4)

  39. {

  40. if(j%16<8)

  41. {

  42. textcolor(m);

  43. }

  44. else

  45. {

  46. textcolor(m+1);

  47. }

  48. }

  49. else

  50. {

  51. if(j%16>=8)

  52. {


  53. textcolor(m);

  54. }

  55. else

  56. {

  57. textcolor(m+1);

  58. }


  59. }


  60. cprintf("%c",219);


  61. }

  62. printf("\n");

  63. }

  64. m++;

  65. delay(500);

  66. //goto klp;



  67. for(i=0;name[i]!='\0';i++)

  68. {

  69. textcolor(k-(i%9));

  70. //cprintf("%c",name[i]);


  71. switch(name[i])

  72. {


  73. case 'a':


  74. for(x=1;x<=8;x++)

  75. {

  76. y=x;

  77. delay(dly);

  78. gotoxy(bkp+(7+y),hkp+(x));

  79. cprintf("**");

  80. delay(dly);

  81. gotoxy(bkp+(9-x),hkp+(y));

  82. cprintf("**");

  83. }

  84. gotoxy(bkp+(6),hkp+(5));

  85. for(x=1;x<=7;x++)

  86. {

  87. delay(dly);

  88. cprintf("*");

  89. }

  90. bkp+=17;

  91. break;



  92. case 'b':


  93. for(x=1;x<=4;x++)

  94. {

  95. y=2*sqrt((r*r)-(x*x));

  96. gotoxy(bkp+(y-3),hkp+(3+x));

  97. delay(dly);

  98. cprintf("***");

  99. gotoxy(bkp+(y-3),hkp+(5-x));

  100. delay(dly);

  101. cprintf("***");

  102. gotoxy(bkp+(y-3),hkp+(9+x));

  103. delay(dly);cprintf("***");

  104. gotoxy(bkp+(y-3),hkp+(11-x));

  105. delay(dly);cprintf("***");

  106. }

  107. for(x=1;x<=13;x++)

  108. {

  109. gotoxy(bkp+(1),hkp+(x));

  110. delay(dly);cprintf("**");

  111. }

  112. bkp+=9;

  113. break;



  114. case 'c':


  115. for(x=1;x<=4;x++)

  116. {

  117. y=4*sqrt((r*r)-(x*x));

  118. gotoxy(bkp+(20-y),hkp+(4+x));

  119. delay(dly);cprintf("***");

  120. gotoxy(bkp+(20-y),hkp+(6-x));

  121. delay(dly);cprintf("***");

  122. }

  123. bkp+=11;

  124. break;




  125. case 'd':



  126. for(x=1;x<=5;x++)

  127. {

  128. y=4*sqrt((100)-(x*x));

  129. gotoxy(bkp+(y-31),hkp+(4+x));

  130. delay(dly);cprintf("***");

  131. gotoxy(bkp+(y-31),hkp+(6-x));

  132. delay(dly);cprintf("***");

  133. }

  134. for(x=1;x<=9;x++)

  135. {

  136. gotoxy(bkp+(1),hkp+(x));

  137. delay(dly);cprintf("**");

  138. }


  139. bkp+=11;

  140. break;





  141. case 'e':


  142. for(x=1;x<=10;x++)

  143. {

  144. gotoxy(bkp+1,hkp+x);

  145. delay(dly);cprintf("**");

  146. }

  147. for(x=3;x<=7;x++)

  148. {

  149. gotoxy(bkp+x,hkp+1);

  150. delay(dly);cprintf("*");

  151. gotoxy(bkp+x,hkp+2);

  152. delay(dly);cprintf("*");

  153. gotoxy(bkp+x,hkp+5);

  154. delay(dly);cprintf("*");

  155. gotoxy(bkp+x,hkp+6);

  156. delay(dly);cprintf("*");

  157. gotoxy(bkp+x,hkp+9);

  158. delay(dly);cprintf("*");

  159. gotoxy(bkp+x,hkp+10);

  160. delay(dly);cprintf("*");

  161. }

  162. bkp+=8;


  163. break;




  164. case 'f':


  165. for(x=1;x<=10;x++)

  166. {

  167. gotoxy(bkp+1,hkp+x);

  168. delay(dly);cprintf("**");

  169. }

  170. for(x=3;x<=7;x++)

  171. {

  172. gotoxy(bkp+x,hkp+1);

  173. delay(dly);cprintf("*");

  174. gotoxy(bkp+x,hkp+2);

  175. delay(dly);cprintf("*");

  176. gotoxy(bkp+x,hkp+5);

  177. delay(dly);cprintf("*");

  178. gotoxy(bkp+x,hkp+6);

  179. delay(dly);cprintf("*");


  180. }

  181. bkp+=8;

  182. break;




  183. case 'g':



  184. for(x=1;x<=5;x++)

  185. {

  186. y=3*sqrt((100)-(x*x));

  187. gotoxy(bkp+(30-y),hkp+(4+x));

  188. delay(dly);cprintf("***");

  189. gotoxy(bkp+(30-y),hkp+(6-x));

  190. delay(dly);cprintf("***");

  191. gotoxy(bkp+(y-19),hkp+(4+x));

  192. delay(dly);cprintf("***");

  193. }

  194. gotoxy(bkp+7,hkp+5);

  195. for(x=1;x<=7;x++)

  196. {

  197. delay(dly);cprintf("*");

  198. }

  199. bkp+=13;

  200. break;



  201. case 'h':


  202. for(x=1;x<=10;x++)

  203. {

  204. gotoxy(bkp+1,hkp+x);

  205. delay(dly);cprintf("**");

  206. gotoxy(bkp+7,hkp+x);

  207. delay(dly);cprintf("**");

  208. }

  209. for(x=3;x<=7;x++)

  210. {

  211. gotoxy(bkp+x,hkp+5);

  212. delay(dly);cprintf("*");

  213. gotoxy(bkp+x,hkp+6);

  214. delay(dly);cprintf("*");

  215. }

  216. bkp+=9;

  217. break;



  218. case 'i':


  219. for(x=1;x<=10;x++)

  220. {

  221. gotoxy(bkp+4,hkp+x);

  222. delay(dly);cprintf("**");

  223. }

  224. for(x=1;x<=8;x++)

  225. {

  226. gotoxy(bkp+x,hkp+1);

  227. delay(dly);cprintf("*");

  228. gotoxy(bkp+x,hkp+2);

  229. delay(dly);cprintf("*");

  230. gotoxy(bkp+x,hkp+9);

  231. delay(dly);cprintf("*");

  232. gotoxy(bkp+x,hkp+10);

  233. delay(dly);cprintf("*");

  234. }

  235. bkp+=9;

  236. break;




  237. case 'j':



  238. for(x=1;x<=5;x++)

  239. {

  240. y=3*sqrt((100)-(x*x));

  241. gotoxy(bkp+(30-y),hkp+(6+x));

  242. delay(dly);cprintf("**");

  243. //gotoxy(bkp+(30-y),hkp+(6-x));

  244. //delay(dly);cprintf("***");

  245. gotoxy(bkp+(y-21),hkp+(6+x));

  246. delay(dly);cprintf("**");

  247. }

  248. for(x=1;x<=7;x++)

  249. {

  250. gotoxy(bkp+8,hkp+x);

  251. delay(dly);cprintf("**");

  252. }

  253. for(x=3;x<=13;x++)

  254. {

  255. gotoxy(bkp+x,hkp+1);

  256. delay(dly);cprintf("*");

  257. gotoxy(bkp+x,hkp+2);

  258. delay(dly);cprintf("*");

  259. }

  260. bkp+=14;

  261. break;




  262. case 'k':



  263. for(x=1;x<=10;x++)

  264. {

  265. gotoxy(bkp+1,hkp+x);

  266. delay(dly);cprintf("**");

  267. }

  268. for(x=1;x<=6;x++)

  269. {

  270. y=x;

  271. gotoxy(bkp+(y),hkp+(x+4));

  272. delay(dly);cprintf("**");

  273. gotoxy(bkp+(8-x),hkp+(y));

  274. delay(dly);cprintf("**");

  275. }


  276. bkp+=9;

  277. break;



  278. case 'l':



  279. for(x=1;x<=10;x++)

  280. {

  281. gotoxy(bkp+1,hkp+x);

  282. delay(dly);cprintf("**");

  283. }

  284. for(x=3;x<=7;x++)

  285. {

  286. gotoxy(bkp+x,hkp+9);

  287. delay(dly);cprintf("*");

  288. gotoxy(bkp+x,hkp+10);

  289. delay(dly);cprintf("*");

  290. }


  291. bkp+=8;

  292. break;




  293. case 'm':



  294. for(x=1;x<=10;x++)

  295. {

  296. gotoxy(bkp+1,hkp+x);

  297. delay(dly);cprintf("**");

  298. gotoxy(bkp+11,hkp+x);

  299. delay(dly);cprintf("**");

  300. }

  301. for(x=1;x<=6;x++)

  302. {

  303. y=x;

  304. gotoxy(bkp+(y),hkp+(x));

  305. delay(dly);cprintf("**");

  306. gotoxy(bkp+(12-x),hkp+(y));

  307. delay(dly);cprintf("**");

  308. }



  309. bkp+=13;

  310. break;



  311. case 'n':



  312. for(x=1;x<=10;x++)

  313. {

  314. gotoxy(bkp+1,hkp+x);

  315. delay(dly);cprintf("**");

  316. gotoxy(bkp+10,hkp+x);

  317. delay(dly);cprintf("**");

  318. }

  319. for(x=1;x<=10;x++)

  320. {

  321. y=x;

  322. gotoxy(bkp+(y),hkp+(x));

  323. delay(dly);cprintf("**");

  324. }


  325. bkp+=13;

  326. break;




  327. case 'o':




  328. for(x=1;x<=5;x++)

  329. {

  330. y=2*sqrt((100)-(x*x));

  331. gotoxy(bkp+(20-y),hkp+(4+x));

  332. delay(dly);cprintf("***");

  333. gotoxy(bkp+(20-y),hkp+(6-x));

  334. delay(dly);cprintf("***");

  335. gotoxy(bkp+(y-11),hkp+(4+x));

  336. delay(dly);cprintf("***");

  337. gotoxy(bkp+(y-11),hkp+(6-x));

  338. delay(dly);cprintf("***");

  339. }


  340. bkp+=10;

  341. break;



  342. case 'p':



  343. for(x=1;x<=4;x++)

  344. {

  345. y=2*sqrt((r*r)-(x*x));

  346. gotoxy(bkp+(y-3),hkp+(3+x));

  347. delay(dly);cprintf("***");

  348. gotoxy(bkp+(y-3),hkp+(5-x));

  349. delay(dly);cprintf("***");

  350. }

  351. for(x=1;x<=11;x++)

  352. {

  353. gotoxy(bkp+(1),hkp+(x));

  354. delay(dly);cprintf("**");

  355. }

  356. bkp+=8;

  357. break;




  358. case 'q':



  359. for(x=1;x<=5;x++)

  360. {

  361. y=2*sqrt((100)-(x*x));

  362. gotoxy(bkp+(20-y),hkp+(4+x));

  363. delay(dly);cprintf("***");

  364. gotoxy(bkp+(20-y),hkp+(6-x));

  365. delay(dly);cprintf("***");

  366. gotoxy(bkp+(y-11),hkp+(4+x));

  367. delay(dly);cprintf("***");

  368. gotoxy(bkp+(y-11),hkp+(6-x));

  369. delay(dly);cprintf("***");

  370. }

  371. for(x=1;x<=5;x++)

  372. {

  373. y=x;

  374. gotoxy(bkp+(y+4),hkp+(x+5));

  375. delay(dly);cprintf("**");

  376. }

  377. bkp+=11;

  378. break;




  379. case 'r':



  380. for(x=1;x<=4;x++)

  381. {

  382. y=2*sqrt((r*r)-(x*x));

  383. gotoxy(bkp+(y-3),hkp+(3+x));

  384. delay(dly);cprintf("***");

  385. gotoxy(bkp+(y-3),hkp+(5-x));

  386. delay(dly);cprintf("***");

  387. }

  388. for(x=1;x<=11;x++)

  389. {

  390. gotoxy(bkp+(1),hkp+(x));

  391. delay(dly);cprintf("**");

  392. }

  393. for(x=1;x<=5;x++)

  394. {

  395. y=x;

  396. gotoxy(bkp+(y+3),hkp+(x+6));

  397. delay(dly);cprintf("**");

  398. }

  399. bkp+=9;

  400. break;





  401. case 's':



  402. for(x=1;x<=4;x++)

  403. {

  404. y=3*sqrt((r*r)-(x*x));

  405. gotoxy(bkp+(y-7),hkp+(x+9));

  406. delay(dly);cprintf("**");

  407. gotoxy(bkp+(y-7),hkp+(10-x));

  408. delay(dly);cprintf("**");

  409. gotoxy(bkp+(15-y),hkp+(x+4));

  410. delay(dly);cprintf("**");

  411. gotoxy(bkp+(15-y),hkp+(5-x));

  412. delay(dly);cprintf("**");

  413. }

  414. bkp+=9;

  415. break;



  416. case 't':



  417. for(x=1;x<=10;x++)

  418. {

  419. gotoxy(bkp+4,hkp+x);

  420. delay(dly);cprintf("**");

  421. }

  422. for(x=1;x<=8;x++)

  423. {

  424. gotoxy(bkp+x,hkp+1);

  425. delay(dly);cprintf("*");

  426. gotoxy(bkp+x,hkp+2);

  427. delay(dly);cprintf("*");

  428. }

  429. bkp+=9;

  430. break;



  431. case 'u':


  432. for(x=1;x<=5;x++)

  433. {

  434. y=3*sqrt((100)-(x*x));

  435. gotoxy(bkp+(30-y),hkp+(5+x));

  436. delay(dly);cprintf("**");

  437. //gotoxy(bkp+(30-y),hkp+(6-x));

  438. //delay(dly);cprintf("***");

  439. gotoxy(bkp+(y-20),hkp+(5+x));

  440. delay(dly);cprintf("**");

  441. }

  442. for(x=1;x<=5;x++)

  443. {

  444. gotoxy(bkp+1,hkp+x);

  445. delay(dly);cprintf("**");

  446. gotoxy(bkp+9,hkp+x);

  447. delay(dly);cprintf("**");

  448. }

  449. bkp+=11;

  450. break;



  451. case 'v':



  452. for(x=1;x<=3;x++)

  453. {

  454. gotoxy(bkp+1,hkp+x);

  455. delay(dly);cprintf("**");

  456. gotoxy(bkp+10,hkp+x);

  457. delay(dly);cprintf("**");

  458. }

  459. for(x=1;x<=4;x++)

  460. {

  461. y=x;

  462. gotoxy(bkp+(y+1),hkp+(x+3));

  463. delay(dly);cprintf("**");

  464. gotoxy(bkp+(10-x),hkp+(y+3));

  465. delay(dly);cprintf("**");

  466. }

  467. bkp+=12;

  468. break;




  469. case 'w':




  470. for(x=1;x<=3;x++)

  471. {

  472. gotoxy(bkp+1,hkp+x);

  473. delay(dly);cprintf("**");

  474. gotoxy(bkp+15,hkp+x);

  475. delay(dly);cprintf("**");

  476. }

  477. for(x=1;x<=4;x++)

  478. {

  479. y=x;

  480. gotoxy(bkp+(y),hkp+(x+2));

  481. delay(dly);cprintf("**");

  482. gotoxy(bkp+(9-x),hkp+(y+2));

  483. delay(dly);cprintf("**");

  484. }

  485. for(x=1;x<=4;x++)

  486. {

  487. y=x;

  488. gotoxy(bkp+(y+6),hkp+(x+2));

  489. delay(dly);cprintf("**");

  490. gotoxy(bkp+(16-x),hkp+(y+2));

  491. delay(dly);cprintf("**");

  492. }

  493. bkp+=17;

  494. break;



  495. case 'x':



  496. for(x=1;x<=8;x++)

  497. {

  498. y=x;

  499. gotoxy(bkp+(y),hkp+(x));

  500. delay(dly);cprintf("**");

  501. gotoxy(bkp+(9-x),hkp+(y));

  502. delay(dly);cprintf("**");

  503. }

  504. bkp+=10;

  505. break;



  506. case 'y':



  507. for(x=1;x<=4;x++)

  508. {

  509. y=x;

  510. gotoxy(bkp+(y),hkp+(x));

  511. delay(dly);cprintf("**");

  512. gotoxy(bkp+(8-x),hkp+(y));

  513. delay(dly);cprintf("**");

  514. }

  515. for(x=3;x<=6;x++)

  516. {

  517. gotoxy(bkp+4,hkp+x);

  518. delay(dly);cprintf("**");

  519. }

  520. bkp+=8;

  521. break;



  522. case 'z':


  523. for(x=1;x<=8;x++)

  524. {

  525. y=x;

  526. gotoxy(bkp+(9-x),hkp+(y));

  527. delay(dly);cprintf("**");

  528. }

  529. for(x=1;x<=8;x++)

  530. {

  531. gotoxy(bkp+x,hkp+1);

  532. delay(dly);cprintf("*");

  533. gotoxy(bkp+x,hkp+2);

  534. delay(dly);cprintf("*");

  535. gotoxy(bkp+(x),hkp+8);

  536. delay(dly);cprintf("*");

  537. gotoxy(bkp+(x),hkp+9);

  538. delay(dly);cprintf("*");

  539. }

  540. bkp+=10;

  541. break;




  542. default:

  543. delay(dly);cprintf("Error in Input Or String is large to fit in Screen. Try Again");

  544. break;

  545. }

  546. bkp++;


  547. if(bkp>=70)

  548. {

  549. bkp=0;

  550. hkp+=11;

  551. }


  552. }

  553. k++;

  554. delay(1500);

  555. goto bkp;

  556. }



No comments:

Post a Comment