Cześć wszystkim,
Piszę program, który ma rysować znakiem ASCII figure X. Program ma umozliwiac:

  • wybor znaku kodu ASCII,
  • wczytanie poczatkowego rozmiaru,
  • zmiane wielkosci figury klawiszami + i -,
  • przesuwanie figury w 4 kierunkach za pomoca kursorow, jak i ograniczenie przesuwania do rozmiaru ekranu.
    Punkt zaczepienia: lewy dolny rog.

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.
Za wszelkie sugestie bede mega wdzieczny.

#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;
}