C ++ Snake Game (einfach!)

Das Snake-Spiel ist sehr beliebt. Hier ist ein sehr einfaches Spiel, das mit Visual Studio in C ++ geschrieben wurde

Der Code besteht nur aus 150 Zeilen und kann auf verschiedene Arten geändert werden

Genießen!

//////////////////////////////////////////////////////// // //

Du willst meine Videos unterstützen?

Sie können Materialien in meinem Amazon Store zum gleichen Preis durchsuchen und kaufen. Auf diese Weise bekomme ich eine kleine Provision:

C ++ Programmieren (10. Ausgabe)

Beginn von C ++ durch Spielprogrammierung

Beginnen Sie mit Visual C # (4. Ausgabe)

//////////////////////////////////////////////////////// // //

Schritt 1: Auf Youtube ansehen ...

Schritt 2: Codierung ...

#umfassen

#umfassen

Verwenden des Namespace std;

Bool Gameover;

const int width = 20;

const int height = 17;

int x, y, obstX, fruchtY, Punktzahl;

int tailX [100], tailY [100]; // Schlangenkoordinaten

int nTail;

enum eDirecton {STOP = 0, LINKS, RECHTS, OBEN, UNTEN}; // Steuerelemente

eDirecton dir;

void Setup () {
gameover = false;

dir = STOP;

x = Breite / 2;

y = Höhe / 2;

FruchtX = Rand ()% Breite; // Früchte an einer zufälligen Stelle anzeigen

Frucht Y = Rand ()% Höhe; Punktzahl = 0;

}}

void Draw () {
System ("cls");

für (int i = 0; i <Breite + 2; i ++)

cout << "#";

cout << endl;

für (int i = 0; i <Höhe; i ++) {

für (int j = 0; j <Breite; j ++) {

if (j == 0)

cout << "#"; //Wände

if (i == y && j == x)

cout << "*"; // Schlangengeschichte

sonst wenn (i == fruchtY && j == fruchtX)

cout << "%"; // ändere es, um die Frucht zu verändern

sonst {

bool print = false;

für (int k = 0; k <nTail; k ++) {

if (tailX [k] == j && tailY [k] == i) {

cout << "*"; print = true;

}}

}}

if (! print) cout << "";

}}

if (j == width -1)

cout << "#";

}}

cout << endl;

}}

für (int i = 0; i <Breite + 2; i ++)

cout << "#";

cout << endl;

cout << "Score:" << score << endl;

}}

void Input ()
{

if (_kbhit ()) {

switch (_getch ()) {

Fall 'a':

dir = LINKS;

brechen;

Fall 'd':

dir = RECHTS;

brechen;

Fall 'w':

dir = UP;

brechen;

Fälle':

dir = DOWN;

brechen;

Fall 'x':

gameover = true;

brechen;

}}

}}

}}

void algorithm ()
{

int prevX = tailX [0];

int prevY = tailY [0];

int prev2X, prev2Y;

tailX [0] = x;

tailY [0] = y;

für (int i = 1; i <nTail; i ++) {

prev2X = tailX [i];

prev2Y = tailY [i];

tailX [i] = prevX;

tailY [i] = prevY;

prevX = prev2X;

prevY = prev2Y;

}}

switch (dir) {

Fall LINKS:

x--;

brechen;

Fall RECHTS:

x ++;

brechen;

Fall UP:

y--;

brechen;

Fall UNTEN:

y ++;

brechen;

Standard:

brechen;

}}

wenn (x> = Breite) x = 0, sonst wenn (x <0) x = Breite -1;

wenn (y> = Höhe) y = 0; sonst wenn (y <0) y = Höhe - 1;

für (int i = 0; i <nTail; i ++)

if (tailX [i] == x && tailY [i] == y)
gameover = true;

if (x == FruchtX && y == FruchtY) {

Punktzahl + = 10;

FruchtX = Rand ()% Breite;

Frucht Y = Rand ()% Höhe;

nTail ++;

}}

}}

int main ()
{

Installieren();

while (! gameover) {

Zeichnen ();

Eingabe ();

Algorithmus ();

}}

return 0;

}}

Ähnlicher Artikel