Advertisement
patryk

Untitled

Oct 12th, 2011
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.19 KB | None | 0 0
  1. #include <iostream>
  2. #include<dos.h>
  3. #include <conio.h>
  4. #include<stdio.h>
  5. #include<string>
  6. #include<string.h>
  7. #include<windows.h>
  8.  
  9. // --------- DZWIEKI --------- //
  10.  
  11. #define C 16.35
  12. #define Cis 17.325
  13. #define D 18.35625
  14. #define Dis 19.44375
  15. #define E 20.6
  16. #define F 21.825
  17. #define Fis 23.125
  18. #define G 24.5
  19. #define Gis 25.95625
  20. #define A 27.5
  21. #define B 29.1375
  22. #define H 30.86875
  23. #define C2 32.70625
  24.  
  25. // --------- DZWIEKI ----------//
  26.  
  27. // --------- OKTAWY -----------//
  28.  
  29. #define OK_Sk 1
  30. #define OK_K 2
  31. #define OK_W 4
  32. #define OK_M 8
  33. #define OK_R 16
  34. #define OK_D 32
  35. #define OK_T 64
  36. #define OK_C 128
  37. #define OK_P 256
  38. #define OK_S 512
  39.  
  40. // --------- OKTAWY -----------//
  41.  
  42. class keyboard
  43. {
  44. public:
  45. int tempo, Hz;
  46. char key, oktawa, dzwiek, wybor;
  47.  
  48. keyboard();
  49. void graj();
  50. void menu();
  51. void rysuj();
  52. void oktawy();
  53. void utwory();
  54. void pomoc();
  55. };
  56. //-----------class keyboard----------------//
  57. keyboard::keyboard()
  58. {
  59. clrscr();
  60. }
  61. //-------------konstruktor---------------//
  62.  
  63.  
  64. void keyboard::graj()
  65. {
  66. rysuj(); // rysowanie klawiszy
  67. tempo = 0;
  68. pomoc();
  69. do{
  70. gotoxy(60, 3);
  71. textcolor(15); cprintf("Tempo: "); textcolor(14); cprintf("%d", tempo);
  72. gotoxy(60,4);
  73. textcolor(15); cprintf("Oktawa: "); textcolor(14); cprintf("%c", oktawa);
  74. gotoxy(1, 16);
  75. gotoxy(60,5);
  76. textcolor(15); cprintf("Grany dzwiek: ");textcolor(13); cprintf("%c", dzwiek);
  77. gotoxy(1, 16);
  78. // textcolor(15); cprintf("Aby zobaczyc pomoc wcisnij: "); textcolor(14); cprintf("F1");
  79. key = getch();
  80. gotoxy(60, 6);
  81. printf(" ");
  82.  
  83. switch(key)
  84. {
  85. case 122:
  86. {
  87. Beep(C * Hz, tempo);
  88. dzwiek = 'C';
  89. break;
  90. }
  91. case 115:
  92. {
  93. Beep(Cis * Hz, tempo);
  94. dzwiek = 'C';
  95. break;
  96. }
  97. case 120:
  98. {
  99. Beep(D * Hz, tempo);
  100. dzwiek = 'D';
  101. break;
  102. }
  103. case 100:
  104. {
  105. Beep(Dis * Hz, tempo);
  106. dzwiek = 'D';
  107. break;
  108. }
  109. case 99:
  110. {
  111. Beep(E * Hz, tempo);
  112. dzwiek = 'E';
  113. break;
  114. }
  115. case 118:
  116. {
  117. Beep(F * Hz, tempo);
  118. dzwiek = 'F';
  119. break;
  120. }
  121. case 103:
  122. {
  123. Beep(Fis * Hz, tempo);
  124. dzwiek = 'F';
  125. break;
  126. }
  127. case 98:
  128. {
  129. Beep(G * Hz, tempo);
  130. dzwiek = 'G';
  131. break;
  132. }
  133. case 104:
  134. {
  135. Beep(Gis * Hz, tempo);
  136. dzwiek = 'G';
  137. break;
  138. }
  139. case 110:
  140. {
  141. Beep(A * Hz, tempo);
  142. dzwiek = 'A';
  143. break;
  144. }
  145. case 106:
  146. {
  147. Beep(B * Hz, tempo);
  148. dzwiek = 'B';
  149. break;
  150. }
  151. case 109:
  152. {
  153. Beep(H * Hz, tempo);
  154. dzwiek = 'H';
  155. break;
  156. }
  157. case 44:
  158. {
  159. Beep(C2 * Hz, tempo);
  160. dzwiek = 'C';
  161. break;
  162. }
  163. case 9:
  164. {
  165. gotoxy(67, 3);
  166. printf(" ");
  167. gotoxy(67, 3);
  168. scanf("%d", &tempo);
  169. break;
  170. }
  171. case 49:
  172. {
  173. Hz = OK_Sk;
  174. oktawa = 'S';
  175. break;
  176. }
  177. case 50:
  178. {
  179. Hz = OK_K;
  180. oktawa = 'K';
  181. break;
  182. }
  183. case 51:
  184. {
  185. Hz = OK_W;
  186. oktawa = 'W';
  187. break;
  188. }
  189. case 52:
  190. {
  191. Hz = OK_M;
  192. oktawa = 'M';
  193. break;
  194. }
  195. case 53:
  196. {
  197. Hz = OK_R;
  198. oktawa = 'R';
  199. break;
  200. }
  201. case 54:
  202. {
  203. Hz = OK_D;
  204. oktawa = 'D';
  205. break;
  206. }
  207. case 55:
  208. {
  209. Hz = OK_T;
  210. oktawa = 'T';
  211. break;
  212. }
  213. case 56:
  214. {
  215. Hz = OK_C;
  216. oktawa = 'C';
  217. break;
  218. }
  219. case 57:
  220. {
  221. Hz = OK_P;
  222. oktawa = 'P';
  223. break;
  224. }
  225. case 48:
  226. {
  227. Hz = OK_S;
  228. oktawa = 'S';
  229. break;
  230. }
  231. case 96:
  232. {
  233. oktawy();
  234. break;
  235. }
  236. case 59:
  237. {
  238. pomoc();
  239. break;
  240. }
  241. case 60:
  242. {
  243. utwory();
  244. break;
  245.  
  246. }
  247. default:
  248. {
  249. gotoxy(60, 6);
  250. textcolor(11);
  251. cprintf("Niewlasciwy wybor");
  252. break;
  253. }
  254.  
  255. }
  256.  
  257. }while(key!='q');
  258. getch();
  259. }
  260. //-----------void graj---------------//
  261.  
  262. void keyboard::pomoc()
  263. {
  264. gotoxy(1, 16);
  265. textcolor(15); cprintf("Aby zmienic tempo wcisnij: ");textcolor(14); cprintf("TAB");
  266. gotoxy(1, 17);
  267. textcolor(15); cprintf("Aby zmienic oktawe wcisnij: ");textcolor(14); cprintf("TYLDA");
  268. gotoxy(1, 18);
  269. textcolor(13); cprintf("Badz, ");
  270. gotoxy(1, 19);
  271. textcolor(15); cprintf("Wcisnij jeden z klawiszy: ");
  272. gotoxy(1, 20);
  273. textcolor(14); cprintf("1 - Subkontra");
  274. gotoxy(20, 20);
  275. cprintf("2 - Kontra");
  276. gotoxy(1, 21);
  277. cprintf("3 - Wielka");
  278. gotoxy(20, 21);
  279. cprintf("4 - Mala");
  280. gotoxy(1, 22);
  281. cprintf("5 - Razkreslna");
  282. gotoxy(20, 22);
  283. cprintf("6 - Dwukreslna");
  284. gotoxy(1, 23);
  285. cprintf("7 - Trzykreslna");
  286. gotoxy(20, 23);
  287. cprintf("8 - Czterokreslna");
  288. gotoxy(1, 24);
  289. cprintf("9 - Pieciokreslna");
  290. gotoxy(20, 24);
  291. cprintf("0 - Szesckreslna");
  292. gotoxy(50, 24);
  293. textcolor(11);cprintf("Aby wrocic do MENU wcisnij: ");textcolor(14);cprintf("F2");
  294. }
  295. void keyboard::menu()
  296. {
  297. clrscr();
  298. gotoxy(1,1);
  299. textcolor(12);
  300. textbackground(3);
  301. cprintf(" VIRTUAL KEYBOARD ");
  302. textbackground(0);
  303. gotoxy(1,3);
  304. textcolor(15); cprintf("Co chcesz zrobic: ");
  305. gotoxy(1, 4);
  306. textcolor(14); cprintf("* G - Grac na Instrumencie");
  307. gotoxy(1, 5);
  308. textcolor(14); cprintf("* P - Posluchac Utworow");
  309. gotoxy(1,6);
  310. textcolor(14); cprintf("* Q - Wylaczyc Program");
  311. gotoxy(1, 7);
  312. printf(": ");
  313. scanf("%c", &wybor);
  314. switch(wybor)
  315. {
  316. case 'g':
  317. case 'G':
  318. {
  319. graj();
  320. break;
  321. }
  322. case 'p':
  323. case 'P':
  324. {
  325. gotoxy(1, 9);
  326. textcolor(15);cprintf("Co chcesz zagrac: ");
  327. gotoxy(1, 10);
  328. textcolor(14);cprintf("* S - Sweet Child 'O Mine");
  329. gotoxy(1, 11);
  330. textcolor(14);cprintf("* K - Wlazl Kotek na Plotek");
  331. gotoxy(1, 12);
  332. printf(": ");
  333.  
  334. scanf("%c", &wybor);
  335. scanf("%c", &wybor);
  336. utwory();
  337. break;
  338. case 'q':
  339. case 'Q':
  340. {
  341. exit(0);
  342. }
  343. }
  344. }
  345.  
  346.  
  347. }
  348. //-------------void menu------------//
  349.  
  350.  
  351. void keyboard::oktawy()
  352. {
  353. Hz = 0;
  354. gotoxy(68, 4);
  355. printf(" ");
  356. gotoxy(68,4);
  357. scanf("%c", &oktawa);
  358. scanf("%c", &oktawa);
  359. textbackground(16);
  360. switch(oktawa)
  361. {
  362. case 'sk':
  363. case 'SK':
  364. case 'Sk':
  365. case 'sK':
  366. {
  367. Hz = OK_Sk;
  368.  
  369. break;
  370. }
  371. case 'k':
  372. case 'K':
  373. {
  374. Hz = OK_K;
  375. break;
  376. }
  377. case 'w':
  378. case 'W':
  379. {
  380. Hz = OK_W;
  381.  
  382. break;
  383. }
  384. case 'm':
  385. case 'M':
  386. {
  387. Hz = OK_M;
  388.  
  389. break;
  390. }
  391. case 'r':
  392. case 'R':
  393. {
  394. Hz = OK_R;
  395.  
  396. break;
  397. }
  398. case 'd':
  399. case 'D':
  400. {
  401. Hz = OK_D;
  402.  
  403. break;
  404. }
  405. case 't':
  406. case 'T':
  407. {
  408. Hz = OK_T;
  409.  
  410. break;
  411. }
  412. case 'c':
  413. case 'C':
  414. {
  415. Hz = OK_C;
  416.  
  417. break;
  418. }
  419. case 'p':
  420. case 'P':
  421. {
  422. Hz = OK_P;
  423.  
  424. break;
  425. }
  426. case 's':
  427. case 'S':
  428. {
  429. Hz = OK_S;
  430.  
  431. break;
  432. }
  433. default :
  434. {
  435. menu();
  436. break;
  437. }
  438. }
  439. }
  440.  
  441.  
  442. void keyboard::utwory()
  443. {
  444. switch(wybor)
  445. {
  446. case 's':
  447. case 'S':
  448. {
  449. for(int i=1; i<=1;i++)
  450. {
  451. for(int i =1 ; i<=2; i++)
  452. {
  453. Beep(32* 18.35625, 230);
  454. Beep(64*18.35625, 230);
  455. Beep(32* 27.5, 230);
  456. Beep(32* 24.5, 230);
  457. Beep(128* 24.5, 230);
  458. Beep(128* 17.325, 230);
  459. Beep(128* 23.125, 230);
  460. Beep(128* 17.325, 230);
  461. }
  462. for(int i=1;i<=2;i++)
  463. {
  464. Beep(32* 27.5, 230);
  465. Beep(64*18.35625, 230);
  466. Beep(32* 27.5, 230);
  467. Beep(32* 24.5, 230);
  468. Beep(128* 24.5, 230);
  469. Beep(128* 17.325, 230);
  470. Beep(128* 23.125, 230);
  471. Beep(128* 17.325, 230);
  472. }
  473. for(int i=1;i<=2;i++)
  474. {
  475. Beep(128* 18.35625, 230);
  476. Beep(64*18.35625, 230);
  477. Beep(32* 27.5, 230);
  478. Beep(32* 24.5, 230);
  479. Beep(128* 24.5, 230);
  480. Beep(128* 17.325, 230);
  481. Beep(128* 23.125, 230);
  482. Beep(128* 17.325, 230);
  483. }
  484. for(int i =1 ; i<=2; i++)
  485. {
  486. Beep(32* 18.35625, 230);
  487. Beep(64*18.35625, 230);
  488. Beep(32* 27.5, 230);
  489. Beep(32* 24.5, 230);
  490. Beep(128* 24.5, 230);
  491. Beep(128* 17.325, 230);
  492. Beep(128* 23.125, 230);
  493. Beep(128* 17.325, 230);
  494. }
  495. }
  496. for(int i =1 ; i<=2; i++)
  497. {
  498. Beep(32* 18.35625, 230);
  499. Beep(64*18.35625, 230);
  500. Beep(32* 27.5, 230);
  501. Beep(32* 24.5, 230);
  502. Beep(128* 24.5, 230);
  503. Beep(128* 17.325, 230);
  504. Beep(128* 23.125, 230);
  505. Beep(128* 17.325, 230);
  506. }
  507. for(int i=1;i<=2;i++)
  508. {
  509. Beep(32* 27.5, 230);
  510. Beep(64*18.35625, 230);
  511. Beep(32* 27.5, 230);
  512. Beep(32* 24.5, 230);
  513. Beep(128* 24.5, 230);
  514. Beep(128* 17.325, 230);
  515. Beep(128* 23.125, 230);
  516. Beep(128* 17.325, 230);
  517. }
  518. for(int i=1;i<=2;i++)
  519. {
  520. Beep(128* 18.35625, 230);
  521. Beep(64*18.35625, 230);
  522. Beep(32* 27.5, 230);
  523. Beep(32* 24.5, 230);
  524. Beep(128* 24.5, 230);
  525. Beep(128* 17.325, 230);
  526. Beep(128* 23.125, 230);
  527. Beep(128* 17.325, 230);
  528. }
  529. Beep(128* 20.6, 230);
  530. Beep(32* 27.5, 230);
  531. Beep(64* 18.35625, 230);
  532. Beep(32* 27.5, 230);
  533. Beep(128* 20.6, 230);
  534. Beep(32* 27.5, 230);
  535. Beep(128* 23.125, 230);
  536. Beep(32* 27.5, 230);
  537. Beep(128* 24.5, 230);
  538. Beep(32* 27.5, 230);
  539. Beep(128* 23.125, 230);
  540. Beep(32* 20.6, 230);
  541. Beep(128* 20.6, 230);
  542. Beep(32* 27.5, 230);
  543. Beep(64* 18.35625 , 230);
  544. Beep(32* 27.5, 230);
  545. Beep(64 * 18.35625, 230);
  546. menu();
  547. break;
  548. }
  549. case 'k':
  550. case 'K':
  551. {
  552. Beep(32 * 24.5, 400);
  553. Beep(32* 20.6, 400);
  554. Beep(32* 20.6, 400);
  555. Beep(32* 21.825, 400);
  556. Beep(32* 18.35625, 400);
  557. Beep(32* 18.35625, 400);
  558. Beep(32* 16.35, 200);
  559. Beep(32* 20.6, 200);
  560. Beep(32* 24.5, 200);
  561. Beep(20, 1000);
  562. Beep(32* 16.35, 200);
  563. Beep(32* 20.6, 200);
  564. Beep(32* 24.5, 200);
  565. Beep(20, 1000);
  566. Beep(32 * 24.5, 400);
  567. Beep(32* 20.6, 400);
  568. Beep(32* 20.6, 400);
  569. Beep(32* 21.825, 400);
  570. Beep(32* 18.35625, 400);
  571. Beep(32* 18.35625, 400);
  572. Beep(32* 16.35, 200);
  573. Beep(32* 20.6, 200);
  574. Beep(32* 16.35, 200);
  575. menu();
  576. break;
  577. }
  578. }
  579. menu();
  580. menu();
  581. menu();
  582. }
  583. void keyboard::rysuj()
  584. {
  585. clrscr();
  586. gotoxy(1,1);
  587. textcolor(12);
  588. textbackground(3);
  589. cprintf(" VIRTUAL KEYBOARD ");
  590. printf(" _______________________________________________________\n");
  591. printf("| | | | | | | | | | | | |\n");
  592. printf("| | | | | | | | | | | | |\n");
  593. printf("| | | | | | | | | | | | |\n");
  594. printf("| | | | | | | | | | | | |\n");
  595. printf("| | S | | D | | | G | | H | | J | |\n");
  596. printf("| | | | | | | | | | | | |\n");
  597. printf("| |___| |___| | |___| |___| |___| |\n");
  598. printf("| | | | | | | |\n");
  599. printf("| | | | | | | |\n");
  600. printf("| Z | X | V | B | N | M | < |\n");
  601. printf("| | | | | | | |\n");
  602. printf("|_______|_______|_______|_______|_______|_______|_______|\n");
  603. textbackground(16);
  604. }
  605. //-----------void rysuj--------------//
  606.  
  607.  
  608.  
  609. int main()
  610. {
  611. //------------------OKNO STARTOWE-------------------------//
  612. char znaki[40]="-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/";
  613. gotoxy(26,2);
  614. textcolor(8);
  615. cprintf("\n VIRTUAL KEYBOARD");
  616. gotoxy(27.5,10);
  617. textcolor(3);
  618. cprintf("\nWykonanie: Patryk Gliszczynski\n");
  619. gotoxy(20, 16);
  620. printf("|__________________________________________|");
  621. gotoxy(20,17);
  622. printf("| |");
  623. for(int i=0;i<20;i++)
  624. {
  625. gotoxy(30.5,13);
  626. textcolor(3);
  627. cprintf(" Loading... %c",znaki[i]);
  628. Sleep(100);
  629. }
  630. keyboard instrument;
  631. instrument.menu();
  632. }
  633.  
  634.  
  635.  
  636.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement