rysowanie figury za pomocą znaków
Ostatnio zmodyfikowano 2011-01-14 17:02
DejaVu |
» 2011-01-10 21:02:39 No to teraz zamień 80 i 25 wzorami, które zostały podane i będzie gotowe. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-10 21:12:18 z wzorami jest dokładnie tak samo. |
|
DejaVu |
» 2011-01-10 21:59:14 Jak nie dopisałeś warunków, które Ci podałem to nic dziwnego, że nic się nie dzieje. To co dopisałeś jest tylko i wyłącznie do ustalenia szerokości i wysokości konsoli. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-10 22:43:29 okej, dodałem te warunki, aczkolwiek działa to na góre i lewo ale w dół i w prawo figura sie znow przenosi w pojedynczej linii. Nie wiem może źle warunki wpisałem. #include <iostream> #include <conio2.h> #include <windows.h> using namespace std; const int Esq = 27; int main()
{ int x, y, x1, y1, bok; char klawisz, a; x = 40; y = 8; cout << "Podaj rozmiar boku: "; cin >> bok; cout << "Podaj znak z ktorego ma byc zbudowana figura: "; cin >> a; do { CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), & csbi ); int console_size_x = csbi.srWindow.Right - csbi.srWindow.Left + 1; int console_size_y = csbi.srWindow.Bottom - csbi.srWindow.Top + 1; if( x - bok > 80 ) x = 80 - bok; if( x < 1 ) x = 1; if( y - bok > 25 ) y = 25 - bok; if( y < 1 ) y = 1; _setcursortype( _NORMALCURSOR ); clrscr(); x1 = x; y1 = y; gotoxy( x1, y1 ); for( int i = 1; i <= bok; i++ ) cout << a; for( int i = 1; i <= bok - 2; i++ ) { y1++; x1 = x + bok - 2; gotoxy( x1, y1 ); cout << a; x1 = x; } y1++; gotoxy( x1, y1 ); for( int i = 1; i <= bok; i++ ) cout << a; _setcursortype( _NOCURSOR ); klawisz = getch(); switch( klawisz ) { case '+': { bok = bok + 2; x--; y--; break; } case '-': { bok = bok - 2; x++; y++; break; } case 75: { x--; break; } case 77: { x++; break; } case 72: { y--; break; } case 80: { y++; break; } case Esq: { break; } } } while( klawisz != Esq ); return 0; }
|
|
DejaVu |
» 2011-01-10 23:32:47 Ustal o ile za daleko możesz ją przesunąć i popraw warunki oraz wartość maksymalną jaka może być uzyskana na każdej z osi. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-10 23:43:57 hmm, jak ustawiłem np 75 i 20 dla x i y to przy przesuwaniu w góre i lewo jest dalej ok, a w dół i prawo przewija się poza okno aż zniknie cała i pojawia się od nowa w rogu. ehhhh ciężki orzech do zgryzienia. |
|
DejaVu |
» 2011-01-10 23:47:22 No jak kto ciężki? Maksymalna pozycja to rozmiar ekranu minus szerokość rysowanej figury (i minus jeden, jeżeli Twoje gotoxy liczy współrzędne od (1,1)). Czysta matematyka się kłania. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-11 09:37:32 już chyba próbowałem wszystkiego co tylko mi do głowy przyszło i w dalszym ciągu wychodzi poza dolną i prawą krawędź. |
|
1 2 « 3 » 4 5 6 7 |