Stap 7: Programmering code (c ++)
::: Kopieer de onderstaande code:::
#include
#include
#include
met behulp van namespace std;
BOOL gameOver;
Const int breedte = 50;
Const int hoogte = 20;
int x, y, fruitX, fruitig, score;
int tailX [100], tailY [100];
int nTail;
Enum eDirecton {stoppen = 0, links, rechts, omhoog, omlaag};
eDirecton dir;
VOID Setup
{
gameOver = false;
dir = STOP;
x = breedte / 2;
y = hoogte / 2; fruitX = ASELECT() % breedte;
Fruitige = ASELECT() % hoogte;
Score = 0;
}
VOID Draw()
{
System("CLS"); System("Clear");
for (int i = 0; ik < breedte + 10; i ++)
Cout << "#";
Cout << endl;
for (int i = 0; ik < hoogte; i ++)
{
for (int j = 0; j < breedte; j ++)
{
Als (j == 0)
Cout << "#basit";
Als (ik == y & & j == x)
Cout << "O";
anders als (ik == fruitig & & j == fruitX)
Cout << "B";
anders
{
BOOL print = false;
voor (int k = 0; k < nTail; k ++)
{
Als (tailX [k] == j & & tailY [k] == ik)
{
Cout << "o";
afdrukken = true;
}
}
Als (! afdrukken)
Cout << "";
}
Als (j == breedte - 1)
Cout << "#basit";
}
Cout << endl;
}
for (int i = 0; ik < breedte + 10; i ++)
Cout << "#";
Cout << endl;
Cout << "Score:" << score << endl;
Cout << "made by hafiz sayed abdul basit";
Cout << endl;
Cout << "gebruiken w, a, s, d om te controleren de slang";
}
VOID Input()
{
Als (_kbhit())
{
schakelaar (_getch())
{
geval 'a':
dir = links;
breken;
geval zou ':
dir = rechts;
breken;
Case 'w':
dir =;
breken;
geval van ':
dir = beneden;
breken;
Case 'x':
gameOver = true;
breken;
}
}
}
VOID Logic()
{
int prevX = tailX [0];
int prevY = tailY [0];
int prev2X, prev2Y;
tailX [0] = x;
tailY [0] = y;
for (int i = 1; ik < nTail; i ++)
{
prev2X = tailX [i];
prev2Y = tailY [i];
tailX [i] = prevX;
tailY [i] = prevY;
prevX = prev2X;
prevY = prev2Y;
}
schakelaar (acroniem dir)
{
Case links:
x--;
breken;
geval recht:
x ++;
breken;
Case UP:
y--;
breken;
Case neer:
y ++;
breken;
standaard:
breken;
}
Als (x > breedte || x < 0 || y > hoogte || y < 0)
gameOver = true;
Als (x > = breedte) x = 0; anders als (x < 0) x = breedte - 1;
Als (y > = hoogte) y = 0; anders als (y < 0) y = hoogte - 1;
for (int i = 0; ik < nTail; i ++)
Als (tailX [i] == x & & tailY [i] == y)
gameOver = true;
Als (x == fruitX & & y == fruitig)
{
Score van += 10;
fruitX = ASELECT() % breedte;
Fruitige = ASELECT() % hoogte;
nTail ++;
}
}
int main()
{
Setup;
terwijl (! gameOver)
{
Draw();
Input();
Logic();
Sleep(60); Sleep(60); Recomended snelheid is 40 tot 80;
}
keren 0;
}