Siema!
Jakis czas temu prosiłem was o pomoc w zadaniu z projektu gdzie miałem wypisać określony kształt w konsoli. Dziś wracam do tego zadania, gdyż niestety kompletnie nie mam pomyslu na to jak zaimplementować przesuwanie danego kształtu/obiektu. Wiem że istnieją zmienne typu COORD, ale nie mogłem znaleźć zbyt wielu informacji o nich. Jeśli ktoś byłby w stanie jakoś to klarownie wytłumaczyć bądź też podrzucić linka do poradnika, (oczywiście anglojęzyczne też wchodzą w gre) byłbym bardzo wdzięczny. Fragment kodu próbowałem użyć z podobnego projektu który znalazłem na jednym forum, ale niezbyt mi wychodziło
Podrzucam mój kod i zadanie.
Z góry dzięki!
#include <iostream>
using namespace std;
//const int GORA=72, DOL=80, LEWO=75, PRAWO=77;
/*
void gotoxy(int x,int y)
{
COORD c;
c.X=x;
c.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
int wherex()
{
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
return csbi.dwCursorPosition.X;
}
int wherey()
{
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
return csbi.dwCursorPosition.Y;
}
*/ // te dziwne funkcje niby od kordow
void rysuj(int w, char z, int x, int y)
{
for (int i = x; i <w; ++i) {
for (int j = x; j <w; ++j) {
if ((j == x) || (j == (w - 1)) || (i == j && j > w / 2) || (j + i - (w - 1) == x && j < (w - 1) / 2))
cout << z;
else
cout << " ";
}
cout << endl;
}
}
int main()
{
int n=0;
char znak;
int x=0;
int y=0;
cout<<"Podaj rozmiar figury: ";
cin>>n;
cout<<"Podaj znak z klawiatury z ktorego ma sie skladac figura:";
cin>>znak;
cout<<"aby powiekszyc figure wcisnij +, by zmniejszyc -"<<endl;
rysuj(n, znak, 1, 1);
// w1.przesun(n, x, y, znak);
return 0;
}