Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <Windows.h>
  4. #include <math.h>
  5.  
  6. using namespace std;
  7.  
  8. void bok1(int, int, int, char, int&);
  9. void bok2(int, int, int, char);
  10. void bok3(int, int, int, char, int&);
  11. void rysowanie(int&, int&, int&, char&, char&, char&, int&, int&, int&);
  12. void zmiana (char, int&, int&, int&, int, int );
  13. void menu(void);
  14.  
  15. /*-------------------------------------------------------------------*/
  16.  
  17. int main()
  18. {
  19. int x, y, bok, xx, yy, Esq;
  20. char klawisz;
  21. char znak, wybor;
  22. rysowanie(x, y, bok, klawisz, znak, wybor, Esq, xx, yy);
  23. return 0;
  24.  
  25. }
  26.  
  27. /*---------------------main---------------------------------------*/
  28.  
  29. void menu (void)
  30. { cout << " playerplayer \n\n";
  31. cout << " Witaj w programie rysujacym figure \"Y\" o podanym znaku i rozmiarze \n\n ";
  32. cout << " - Uzyj strzalek do przemieszczania figury po ekranie \n ";
  33. cout << " - Aby powiekszyc lub zmniejszyc figure uzyj odpowienio + lub - \n\n\n ";
  34. cout << " Menu: \n\n";
  35. cout << " - Aby rozpoczac rysowanie wcisnij Enter\n";
  36. cout << " - Aby zakonczyc program lub powrocic do menu w trakcie rysowania wcisnij Esc";
  37.  
  38.  
  39. }
  40.  
  41. /*----------------------rysowanie--------------------------------------*/
  42.  
  43. void rysowanie (int& x, int& y, int& bok, char& klawisz, char& znak, char& wybor, int& Esq, int& xx, int& yy)
  44. {
  45.  
  46. do
  47. { Esq = 27;
  48. x=0; y=0;
  49. system("cls");
  50. menu();
  51. wybor=_getch();
  52. system("cls");
  53.  
  54. if (wybor==13)
  55. {
  56. do{
  57. cout << "Podaj wysokosc figury w przedziale od 3 do 24 ";
  58. cin >> bok;
  59. }
  60. while (bok<3 || bok>24);
  61.  
  62. do{
  63. cout << "Podaj znak kodu ASCII do narysowania figury ";
  64. cin >> znak;
  65. }
  66. while(znak<0 || znak>126);
  67.  
  68. do
  69. { system("cls");
  70.  
  71. bok1(x, y, bok, znak, yy);
  72. bok2(x, y, bok, znak);
  73. bok3(x, y, bok, znak, xx);
  74.  
  75. klawisz = _getch();
  76.  
  77. zmiana(klawisz, bok, x, y, xx, yy);
  78.  
  79. }
  80. while (klawisz != Esq);
  81.  
  82. }
  83.  
  84. }
  85. while (wybor != Esq);
  86.  
  87. }
  88.  
  89. /*----------------------zmiana------------------------------------*/
  90.  
  91. void zmiana (char klawisz, int &bok, int &x, int &y, int xx, int yy)
  92. [b]if[/b] (klawisz=='-' && bok>3) {bok=bok-1;}
  93. [b]if[/b] (klawisz=='+' && (xx[b])<max_x() &[/b]& (yy[b])<max_y()) [/b]{bok=bok+1;}
  94. if (klawisz==75 && x>0) {x--;}
  95. if (klawisz==77 && (xx)<max_x()) {x++;}
  96. if (klawisz==72 && y>0) {y--;}
  97. if (klawisz==80 && (yy)<max_y()) {y++;}
  98.  
  99. }
  100.  
  101. /*-------------------------bok1------------------------------------*/
  102.  
  103. void bok1(int x, int y, int bok, char znak, int &yy)
  104. [b]gotoxy(x,y);[/b]
  105. for (int i = 1; i<=bok; i++)
  106. {
  107. [b]gotoxy(x,y)[/b];
  108. cout << znak << "\n";
  109. y++;
  110.  
  111. }
  112. yy=y;
  113. }
  114.  
  115. /*-----------------------bok2---------------------------------------*/
  116.  
  117. void bok2(int x, int y, int bok, char znak)
  118. {
  119. if (bok%2!=0)
  120. {
  121. for (int i = 1; i<=bok/2; i++)
  122. {
  123.  
  124. [b]gotoxy(x+2,y+(bok/2)-1);[/b]
  125. cout << znak;
  126. x++;y--;
  127. }
  128. }
  129. else
  130. {
  131. for (int i = 1; i<=bok/2; i++)
  132. {
  133.  
  134. [b]gotoxy(x+1,y+(bok/2)-1);[/b]
  135. cout << znak;
  136. x++;y--;
  137. }
  138. }
  139.  
  140.  
  141. /*-----------------------bok3---------------------------------------*/
  142.  
  143. void bok3(int x, int y, int bok, char znak, int &xx)
  144. {
  145. for (int i = 1; i<=bok-(bok/2); i++)
  146. {
  147. [b]gotoxy(x+1,y+(bok/2));[/b]
  148. cout << znak;
  149. x++;y++;
  150. }
  151. xx=x+1;
  152. }
  153.  
  154. /*------------------------koniec-------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement