I need help with moving my enemies for a top "snake" view type of game. The objective is to get points and avoid enemies but I can't seem to figure out a way to make them move, in sort of a path OR randomly around the screen without disrupting the game.
Sorry if some of it is in Swedish but if there's anything you don't understand, ask.
It's a fairly simple game, but it's something I have to be done with until 7 feb. I'm nearly done with the actual game except dying and be able to lose.
void runGame() //The game
{
system("CLS");
dY = 0; // "Resetar" x och y värdet för gubben ifall man avslutar spelet till menyn och sen startar det igen
dX = 0; // Så den inte spårar vidare där den var
textbackground(BLACK);
textcolor(LIGHTCYAN);
int cl = 60;
int score = 0;
int l = 0; //räknar antalet loopar
int r = rand() % 800 + 200; //Random antal loopar som den ska räkna upp till för att spawna supermat
printmap(); //ritar ut spelplanen
instruct(); //instruktionerna
printmap();
enemyspawn();
gotoxy(15, 32);
textcolor(RED);
cout << "Lives left:" << lives << " " << char(3);
gotoxy(60, 32);
textcolor(LIGHTCYAN);
cout << "Your points:" << score << endl;
getpoints2(); //Placerar ut maten
int key = 0;
while (key != 27)
{
/*gotoxy(40, 32);
textcolor(LIGHTGRAY);
cout << cl;*/
if (l >= r)
{
getpoints1(); //super
l = 0;
r = rand() % 800 + 200;
}
gotoxy(x, y); //Sudd
cout << " ";
if (_kbhit()) // Tangent nedtryckt
{
key = _getch();
checkKeygame(key);
}
//Ändra position
x = x + dX;
y = y + dY;
collision(); //Kollar om gubben tar i väggen.
gotoxy(x, y);
if (x == gX2 & y == gY2) //Byter position och uppdaterar poäng om gubbens och matens x y är samma.
{
getpoints2();
score = score + 350;
textcolor(LIGHTCYAN);
gotoxy(60, 32);
cout << "Your points:" << score << endl;
}
if (x == gX1 & y == gY1) //Byter position och uppdaterar poäng om gubbens och matens x y är samma.
{
getpoints1();
score = score + 1250;
textcolor(LIGHTCYAN);
gotoxy(60, 32);
cout << "Your points:" << score << endl;
}
gotoxy(x, y); // Rita nya positionen
textcolor(LIGHTCYAN);
cout << char(190);
l++;
Sleep(40); //Hastighet
}
return;
}
//------------------------------------------------------
void checkKeygame(int key) //Tangentnedtryckningen i spelet
{
if (key == 72) //pil upp
{
dY = -1;
dX = 0;
}
elseif (key == 80) //pil ned
{
dY = 1;
dX = 0;
}
if (key == 75) //pil vänster
{
dX = -1;
dY = 0;
}
elseif (key == 77) //pil höger
{
dX = 1;
dY = 0;
}
}