Cześć wszystkim,
Piszę program, który ma rysować znakiem ASCII figure X. Rozkminilem jak wypisac X w konsoli, wybor poczatkowego rozmiaru, jak i kodu ASCII tez mam. Nie wiem jak ustawic punkt zaczepienia na lewym dolnym rogu figury, a podejrzewam, ze to jest kluczem do przesuwania, jak i zmiany rozmiaru. Probowalem przesuwac za pomoca if w nieskonczonej petli po stworzenie funkcji bool IsVirtualKeyPressed(klawisz), ale przesuwal mi sie tylko pierwszy wiersz mojego X. Jakis pomysl jak to ogarnac?
#include <iostream> #include <conio.h> void Intro(); void Draw(); int main() { Intro(); Draw(); return 0; } void Intro() { std::cout << "Napisz program rysowania znakiem ponizszej figury:\n"; std::cout << " * * \n"; std::cout << " * * \n"; std::cout << " * \n"; std::cout << " * * \n"; std::cout << " * * \n"; std::cout << std::endl; std::cout << "Program powinien umozliwiac:\n"<< " - Wybor znaku kodu ASII,\n"<< " - Wczytanie poczatkowych rozmiarow figury,\n"<< " - Zmiane wielkosci figury klawiszami '+' i '-',\n"<< " - Przesuwanie figury w czterech kierunkach za pomoca kursorow,\n"<< " - Ograniczenie przesuwania i rozmiarow figury do obszaru ekranu.\n"; _getch(); return; } void Draw() { int Size; char AsciiChar; system("cls"); std::cout << "Enter the size: "; std::cin >> Size; std::cout << std::endl; std::cout << "Enter the ASCII char from the keyboard: "; std::cin >> AsciiChar; std::cout << std::endl; for (int Rows = 1; Rows <= Size; Rows++) { for (int Cols = 1; Cols <= Size; Cols++) { if (Rows == Cols || Cols == (Size + 1) - Rows) { std::cout << AsciiChar; } else { std::cout << ""; } } std::cout << std::endl; } return; }