Paso 7: Programación código (c ++)
::: copia el código siguiente:::
#include
#include
#include
usar namespace std;
bool gameOver;
const int anchura = 50;
const int altura = 20;
int x, y, fruitX, afrutado, puntuación;
int tailX [100], tailY [100];
int nTail;
enum eDirecton {parada = 0, izquierda, derecha, arriba, abajo};
eDirecton dir;
void Setup()
{
gameOver = false;
DIR = parada;
x = ancho / 2;
y = altura / 2; fruitX = rand() % anchura;
Fruta = rand() % altura;
puntaje = 0;
}
void Draw()
{
System("CLS"); System("Clear");
para (int i = 0; i < anchura + 10; i ++)
cout << "#";
cout << endl;
para (int i = 0; i < altura; i ++)
{
para (int j = 0; j < ancho; j ++)
{
Si (j == 0)
cout << "#basit";
Si (i == y & & j == x)
cout << "O";
else if (i == afrutado & & j == fruitX)
cout << "B";
otra cosa
{
bool imprimir = false;
para (int k = 0; k < nTail; k ++)
{
Si (tailX [k] == j & & tailY [k] == i)
{
cout << "o";
imprimir = true;
}
}
Si (! imprimir)
cout << "";
}
Si (j == ancho - 1)
cout << "#basit";
}
cout << endl;
}
para (int i = 0; i < anchura + 10; i ++)
cout << "#";
cout << endl;
cout << "calificación:" << score << endl;
cout << "hecho por hafiz sayed abdul basit";
cout << endl;
cout << "usar w, a, s, d para controlar a la serpiente";
}
void Input()
{
Si (_kbhit())
{
interruptor (_getch())
{
caso 'a':
DIR = izquierda;
rotura;
caso sería ':
DIR = derecho;
rotura;
caso 'w':
dir =;
rotura;
de caso ':
DIR = abajo;
rotura;
caso 'x':
gameOver = true;
rotura;
}
}
}
void Logic()
{
prevX int = tailX [0];
prevY int = tailY [0];
int prev2X, prev2Y;
tailX [0] = x;
tailY [0] = y;
para (int i = 1; i < nTail; i ++)
{
prev2X = tailX [i];
prev2Y = tailY [i];
tailX [i] = prevX;
tailY [i] = prevY;
prevX = prev2X;
prevY = prev2Y;
}
interruptor (dir)
{
caso izquierdo:
x--;
rotura;
caso de derecho:
x ++;
rotura;
caso por:
y--;
rotura;
caso por:
y ++;
rotura;
por defecto:
rotura;
}
Si (x > ancho || x < 0 || y > altura || y < 0)
gameOver = true;
Si (x > = ancho) x = 0; else if (x < 0) x = width - 1;
Si (y > = altura) y = 0; else if (y < 0) y = height - 1;
para (int i = 0; i < nTail; i ++)
Si (tailX [i] == x & & tailY [i] == y)
gameOver = true;
Si (x == fruitX & & y == afrutado)
{
resultado += 10;
fruitX = rand() % anchura;
Fruta = rand() % altura;
nTail ++;
}
}
int main()
{
Setup();
mientras (! gameOver)
{
Draw();
INPUT();
Logic();
Sleep(60); Sleep(60); velocidad recomendada es de 40 a 80;
}
return 0;
}