Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <Windows.h>
- #include <math.h>
- using namespace std;
- void bok1(int, int, int, char, int&);
- void bok2(int, int, int, char);
- void bok3(int, int, int, char, int&);
- void rysowanie(int&, int&, int&, char&, char&, char&, int&, int&, int&);
- void zmiana (char, int&, int&, int&, int, int );
- void menu(void);
- /*-------------------------------------------------------------------*/
- int main()
- {
- int x, y, bok, xx, yy, Esq;
- char klawisz;
- char znak, wybor;
- rysowanie(x, y, bok, klawisz, znak, wybor, Esq, xx, yy);
- return 0;
- }
- /*---------------------main---------------------------------------*/
- void menu (void)
- { cout << " playerplayer \n\n";
- cout << " Witaj w programie rysujacym figure \"Y\" o podanym znaku i rozmiarze \n\n ";
- cout << " - Uzyj strzalek do przemieszczania figury po ekranie \n ";
- cout << " - Aby powiekszyc lub zmniejszyc figure uzyj odpowienio + lub - \n\n\n ";
- cout << " Menu: \n\n";
- cout << " - Aby rozpoczac rysowanie wcisnij Enter\n";
- cout << " - Aby zakonczyc program lub powrocic do menu w trakcie rysowania wcisnij Esc";
- }
- /*----------------------rysowanie--------------------------------------*/
- void rysowanie (int& x, int& y, int& bok, char& klawisz, char& znak, char& wybor, int& Esq, int& xx, int& yy)
- {
- do
- { Esq = 27;
- x=0; y=0;
- system("cls");
- menu();
- wybor=_getch();
- system("cls");
- if (wybor==13)
- {
- do{
- cout << "Podaj wysokosc figury w przedziale od 3 do 24 ";
- cin >> bok;
- }
- while (bok<3 || bok>24);
- do{
- cout << "Podaj znak kodu ASCII do narysowania figury ";
- cin >> znak;
- }
- while(znak<0 || znak>126);
- do
- { system("cls");
- bok1(x, y, bok, znak, yy);
- bok2(x, y, bok, znak);
- bok3(x, y, bok, znak, xx);
- klawisz = _getch();
- zmiana(klawisz, bok, x, y, xx, yy);
- }
- while (klawisz != Esq);
- }
- }
- while (wybor != Esq);
- }
- /*----------------------zmiana------------------------------------*/
- void zmiana (char klawisz, int &bok, int &x, int &y, int xx, int yy)
- [b]if[/b] (klawisz=='-' && bok>3) {bok=bok-1;}
- [b]if[/b] (klawisz=='+' && (xx[b])<max_x() &[/b]& (yy[b])<max_y()) [/b]{bok=bok+1;}
- if (klawisz==75 && x>0) {x--;}
- if (klawisz==77 && (xx)<max_x()) {x++;}
- if (klawisz==72 && y>0) {y--;}
- if (klawisz==80 && (yy)<max_y()) {y++;}
- }
- /*-------------------------bok1------------------------------------*/
- void bok1(int x, int y, int bok, char znak, int &yy)
- [b]gotoxy(x,y);[/b]
- for (int i = 1; i<=bok; i++)
- {
- [b]gotoxy(x,y)[/b];
- cout << znak << "\n";
- y++;
- }
- yy=y;
- }
- /*-----------------------bok2---------------------------------------*/
- void bok2(int x, int y, int bok, char znak)
- {
- if (bok%2!=0)
- {
- for (int i = 1; i<=bok/2; i++)
- {
- [b]gotoxy(x+2,y+(bok/2)-1);[/b]
- cout << znak;
- x++;y--;
- }
- }
- else
- {
- for (int i = 1; i<=bok/2; i++)
- {
- [b]gotoxy(x+1,y+(bok/2)-1);[/b]
- cout << znak;
- x++;y--;
- }
- }
- /*-----------------------bok3---------------------------------------*/
- void bok3(int x, int y, int bok, char znak, int &xx)
- {
- for (int i = 1; i<=bok-(bok/2); i++)
- {
- [b]gotoxy(x+1,y+(bok/2));[/b]
- cout << znak;
- x++;y++;
- }
- xx=x+1;
- }
- /*------------------------koniec-------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement