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