DejaVu |
» 2011-01-11 13:17:23 Więc popraw te warunki o których mówiłem. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-11 14:06:19 hmm teraz lewo i góra jest ok a prawo i dół gdy dochodzą dokładnie do krawędzi to cała figura cofa się do mniej więcej połowy okna i leci do tego samego punktu od połowy. #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 = 12; 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 > 71 ) x = 71 - bok; if( x < 1 ) x = 1; if( y - bok > 16 ) y = 16 - 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; }
myśle że to przesuwanie jest teraz ok. Problem jest teraz ze zwiększaniem figury. Plus jak uzyskać ten strzałkowaty kształt boku ? |
|
pekfos |
» 2011-01-11 18:26:55 no wspaniale po prostu.. (sarkazm..) tylko co to do diabła jest?! CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), & csbi ); int console_size_x = 71; int console_size_y = 16; ten temat już traci poziom po prostu. zaczynam odnosić wrażenie ze próbujemy pomóc komuś kto nie ma zbytnio pojęcia o programowaniu. pozdrów nauczyciela, jakbym miał takiego to bym interweniował aby przywrócić porządek w takim cyrku. szkoda gadać po prostu.. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-11 18:38:12 Nie wiem o co Ci chodzi, aczkolwiek byłbym wdzięczny za pomoc, zamiast pisania sarkastycznych postów, zgadzam się, to co póki co się nauczyliśmy to za mało aby zrobić ten program, jakby nie było dlatego zrobiłem topic na tym forum, aby poprosić ludzi którzy siedzą w tym dłużej o pomoc. |
|
pekfos |
» 2011-01-11 19:14:02 ale sam pomyśl co tu wklejasz jako to co już zrobiłeś. wyciągasz od systemu informacje o rozmiarach okna konsoli by zaraz użyć stałych numerycznych. Podałem ci kod realizujący to co chciałeś, czyli uniezależnienie od rozmiarów konsoli. to w sumie żadna filozofia z zaprojektowaniem tego. największy problem to rysowanie. napisze ci w punktach co ma robić program w pętli: 1. pobrać rozmiary okna 2. za pomocą zmiennych double (bądź float) określasz jakie rozmiary ma obraz względem rozmiarów okna 3. rysujesz uwzględniając wyśrodkowanie
co do rysowania to cię nakieruję: rysuj od punktu do punktu. tak zrobisz skosy. do rysowania linii użyj algorytmu Bresenhama. już nie raz go adaptowałem do konsoli i powinieneś sobie poradzić z implementacją. |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-12 11:05:54 będę szczery, nie mam zielonego pojęcia jak zaimplementować rzeczy o których napisałeś ;/ odkąd to napisałeś siedziałem na google, szukałem tutoriali itd, i nic z tego, teraz wkoncu musze się położyć spać bo nie wytrzymuje już. jest jakiś sposób żeby z góry ustalić rozmiar okna konsoli. po prostu np. zrobić go 100x100 i niech taki bedzie nie wiekszy nie mniejszy ? m.in. czegoś takiego szukałem, ogólnie dzięki wielkie za pomoc, niestety moja obecna wiedza to za mało żeby skorzystać z tych wskazówek. |
|
DejaVu |
» 2011-01-12 11:07:42 Dostałeś gotowy kod, który wystaczyło wkleić... |
|
killer625 Temat założony przez niniejszego użytkownika |
» 2011-01-12 14:38:52 hmm przecież wszystko dodałem, a jak coś w złe miejsce dodałem to co i gdzie ? Naprawde wielkie dzięki za pomoc. |
|
1 2 3 « 4 » 5 6 7 |