C ++ Snake Game (Sederhana!)

permainan ular adalah yang sangat populer, di sini adalah sangat sederhana yang ditulis dalam C ++ menggunakan Visual Studio

kode ini hanya 150 baris dan dapat dimodifikasi dengan beberapa cara

Nikmati!

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

Anda ingin mendukung video saya?

Anda dapat menelusuri dan membeli bahan dari Amazon Store saya dengan harga yang sama. Dengan cara ini saya mendapat komisi kecil:

C ++ Cara Memprogram (Edisi 10)

Mulai C ++ Melalui Pemrograman Game

Dimulai dengan Visual C # (Edisi ke-4)

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

Langkah 1: Tonton di Youtube ...

Langkah 2: Pengodean ...

#termasuk

#termasuk

menggunakan namespace std;

bool gameover;

Lebar konstanta = 20;

tinggi konstanta = 17;

int x, y, fruitX, fruitY, skor;

int tailX [100], tailY [100]; // koordinat ular

int nTail;

enum eDirecton {STOP = 0, KIRI, KANAN, ATAS, BAWAH}; // Kontrol

dir eDirecton;

void Setup () {
gameover = false;

dir = STOP;

x = lebar / 2;

y = tinggi / 2;

fruitX = rand ()% lebar; // tampilkan buah di tempat acak

fruitY = rand ()% tinggi; skor = 0;

}

membatalkan Draw () {
sistem ("cls");

untuk (int i = 0; i <width + 2; i ++)

cout << "#";

cout << endl;

untuk (int i = 0; i <height; i ++) {

untuk (int j = 0; j <width; j ++) {

jika (j == 0)

cout << "#"; // dinding

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

cout << "*"; // kisah ular

lain jika (i == fruitY && j == fruitX)

cout << "%"; // ubahlah untuk mengubah buahnya

lain {

bool print = false;

untuk (int k = 0; k <nTail; k ++) {

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

cout << "*"; print = true;

}

}

if (! print) cout << "";

}

jika (j == width -1)

cout << "#";

}

cout << endl;

}

untuk (int i = 0; i <width + 2; i ++)

cout << "#";

cout << endl;

cout << "Skor:" << skor << endl;

}

batal Input ()
{

if (_kbhit ()) {

switch (_getch ()) {

huruf 'a':

dir = LEFT;

istirahat;

huruf 'd':

dir = KANAN;

istirahat;

huruf 'w':

dir = UP;

istirahat;

huruf 's':

dir = BAWAH;

istirahat;

huruf 'x':

gameover = true;

istirahat;

}

}

}

algoritma batal ()
{

int prevX = tailX [0];

int prevY = tailY [0];

int prev2X, prev2Y;

tailX [0] = x;

tailY [0] = y;

untuk (int i = 1; i <nTail; i ++) {

prev2X = tailX [i];

prev2Y = tailY [i];

tailX [i] = prevX;

tailY [i] = prevY;

prevX = prev2X;

prevY = prev2Y;

}

switch (dir) {

case KIRI:

x--;

istirahat;

huruf KANAN:

x ++;

istirahat;

huruf besar-kecil:

y--;

istirahat;

kasing BAWAH:

y ++;

istirahat;

default:

istirahat;

}

if (x> = width) x = 0; kalau tidak (x <0) x = width -1;

jika (y> = tinggi) y = 0; lain jika (y <0) y = tinggi - 1;

untuk (int i = 0; i <nTail; i ++)

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

if (x == fruitX && y == fruitY) {

skor + = 10;

fruitX = rand ()% lebar;

fruitY = rand ()% tinggi;

nTail ++;

}

}

int main ()
{

Mempersiapkan();

while (! gameover) {

Seri ();

Memasukkan ();

algoritma ();

}

return 0;

}

Artikel Terkait