funkcja przesuwająca figurę
Ostatnio zmodyfikowano 2014-11-21 15:47
bigwig13 Temat założony przez niniejszego użytkownika |
funkcja przesuwająca figurę » 2014-11-21 15:47:58 Program wyświetla figurę, problem polega na tym,że poprzez użycie wywołania funkcji figura jest przesuwana tylko za pomocą jednej ze strzałek do góry i ograniczenie ekranu nie działa. Zaczynam programować nie znam się na tyle, bądź jestem ślepy i nie widzę błędu, za pomoc dziękuję. void Sterowanie( char znak, int wielkosc ) { int x1, y1; int x, y; const int Esq = 27; x = 1; y = 1; char klawisz; gotoxy( 1, 1 ); HideCursor(); _getch(); do { system( "cls" ); Rysowanie( wielkosc, znak, x, y ); gotoxy( 1, 1 ); int gg = 0; int lg =( wielkosc - 1 ) / 2; int pg = 79 -( wielkosc - 1 ) / 2; int dg = 24 - wielkosc; klawisz = _getch(); switch( klawisz ) { case '+': { wielkosc = wielkosc + 2; x--; y--; break; } case '-': { wielkosc = wielkosc - 2; x++; y++; break; } case 75: { if( x > lg ) { x--; } break; } case 77: { if( x > pg ) { x++; } break; } case 72: { if( x > gg ) { y--; } break; } case 80: { if( x > dg ) { y++; } break; } case Esq: { break; } } } while( klawisz != Esq ); }
void Rysowanie( int wielkosc, char znak, int x, int y ) { int x1 = x, y1 = y; for( int i = 1; i <= wielkosc; i++ ) { y1++; gotoxy( x1, y1 ); cout << znak; } for( int i = 1; i <=( wielkosc ) / 2; i++ ) { x1++; y1++; gotoxy( x1, y1 -( wielkosc / 2 ) ); cout << znak; } for( int i = 1; i <=( wielkosc ) / 2; i++ ) { x1++; y1--; gotoxy( x1 -( wielkosc / 2 ), y1 - wielkosc + 1 ); cout << znak; } } |
|
« 1 » |