Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <math.h>
- #include "wtypes.h"
- using namespace std;
- void wstep();
- void pobierz_znak (char &akcja,int &rozmiar, int &x,int &y);
- void wczytaj_dane (char &wybor, int &rozmiar);
- void rysuj(int rozmiar, char zanak,int x,int y);
- void GetDesktopResolution(int& horizontal, int& vertical);
- //------------------------------------
- int main ()
- {
- char wybor;
- char akcja = '000';
- int rozmiar;
- int x=0;
- int y=0;
- int horizontal = 0;
- int vertical = 0;
- GetDesktopResolution(horizontal, vertical);
- cout << horizontal << '\n' << vertical << '\n';
- wstep ();
- wczytaj_dane (wybor, rozmiar);
- rysuj(rozmiar, wybor, x, y);
- while(akcja != 'k'){ // pobiera znak, dopóki nie wciśniemy "k"
- pobierz_znak(akcja,rozmiar,x,y);
- GetDesktopResolution(horizontal,vertical);
- cout << horizontal << '\n' << vertical << '\n';
- if(akcja == '+'){
- rozmiar+=1;
- }
- else if(akcja == '-'){
- rozmiar-=1;
- }
- else if(akcja == 80){ //strzałka w dół
- y+=1;
- }
- else if(akcja == 72){ //strzałka w górę
- y-=1;
- }
- else if(akcja == 77){ //strzałka w prawo
- x+=1;
- }
- else if(akcja == 75){ //strzałka w lewo
- x-=1;
- }
- rysuj(rozmiar,wybor,x,y);
- }
- system("pause");
- return 0;
- }
- //------------------------------------
- void GetDesktopResolution(int& horizontal, int& vertical)
- {
- RECT desktop;
- // Get a handle to the desktop window
- const HWND hDesktop = GetConsoleWindow();
- // Get the size of screen to the variable desktop
- GetWindowRect(hDesktop, &desktop);
- // The top left corner will have coordinates (0,0)
- // and the bottom right corner will have coordinates
- // (horizontal, vertical)
- horizontal = desktop.right;
- vertical = desktop.bottom;
- }
- void wstep ()
- {
- cout<<"Program do rysowania znakiem ASCII ponizszej figury:\n";
- cout<<" * *\n";
- cout<<" * * \n";
- cout<<" * * \n";
- cout<<" * \n";
- cout<<" * *\n";
- cout<<" * *\n";
- cout<<" * *\n\n";
- cout<<"Program umozliwia:\n";
- cout<<"- wybor znaku ASCII\n- wczytanie poczatkowych rozmiarow figury\n";
- cout<<"- przesuwanie figury klawiszami lewo, prawo, gora, dol\n" ;
- cout<<"- ograniczenie przesuwania do obszaru ekranu\n";
- cout<<"- powiekszanie oraz zmnijszanie rozmiaru figury za pomoca klawiszy + i -\n\n\n";
- cout<<" ...::: Wcisnij dowolny klawisz aby kontynuowac :::... ";
- _getch();
- }
- //--------------------------------------------------------------------------------------------
- void wczytaj_dane(char &wybor, int &rozmiar)
- {
- system("cls");
- cout << "Wpisz znak do rysowania figury" << endl;
- cin >> wybor;
- cout << "Wybrany znak: " << wybor << endl;
- cout << "Wpisz rozmiar figury" << endl;
- cin >> rozmiar;
- cout << "Wybrany rozmiar: " << rozmiar << endl;
- }
- void pobierz_znak (char &akcja,int &rozmiar, int &x,int &y)
- {
- cout << "rozmiar="<<rozmiar << " x="<<x<<" y=" <<y<< " Wpisz znak +/- lub kieruj strzalkami klawiatury, wpisz k aby zakonczyc" << endl;
- akcja =getch();
- }
- void rysuj(int rozmiar, char znak, int x, int y){
- system("cls");
- for(int i =0;i<y;i++){
- cout << endl;
- }
- for(int k=0;k<rozmiar;k++)
- {
- for(int j=0;j<x;j++){
- cout<< " ";
- }
- for(int l=0;l<rozmiar+x;l++)
- {
- if((l==k || l+k == (rozmiar-1))){
- cout<< znak;
- }
- else{
- cout<< " ";
- }
- }
- cout << endl;
- }
- }
Add Comment
Please, Sign In to add comment