Witam pracuje nad prostym snakiem,bez użycia struktur itp.Chce zrobić to tak,że najpierw rysuje ramki i rysowanie węża będzie w innej funkcji,żeby nie migało,dodatkowo potem przy dodawaniu będę w ogonie dawaj znak spacji,też zeby nie migało,bo widziałem,że sporo osób ma ten problem i to według mnie będzie działać dobrze,ale mam taki problem,że po narysowaniu ramek muszę się cofnąć do początku konsoli.Używam tej funkcji:
void gotoxy(int x, int y)
{
static HANDLE h = NULL;
if (!h)
h = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c = { x, y };
SetConsoleCursorPosition(h, c);
Ale coś nie działa cały kod wygląda tak:
#include <iostream>
#include <conio.h>
#include <windows.h>
#define hight 20
#define width 20
using namespace std;
void map();
void vizual(int x,int y);
void gotoxy(int x, int y);
int main()
{
int x = 10;
int y = 10;
bool gameover = false;
map();
gotoxy(0, 0);
vizual(x,y);
getchar();
}
void map()
{
for (int i = 0; i < width; ++i)
{
cout << "#";
}
cout << endl;
for (int i = 0; i < hight; ++i)
{
cout << "#";
for (int j = 0; j < width-2; ++j)
{
cout << " ";
}
cout << "#" << endl;
}
for (int i = 0; i < width; ++i)
{
cout << "#";
}
}
void vizual(int x, int y)
{
for (int i = 0; i < width; ++i)
{
for (int j = 0; j < hight; ++j)
{
cout << " ";
if ((i == x) && (j == y))
{
cout << 'O';
}
}
cout << endl;
}
}
void gotoxy(int x, int y)
{
static HANDLE h = NULL;
if (!h)
h = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c = { x, y };
SetConsoleCursorPosition(h, c);
}