0% found this document useful (0 votes)
92 views7 pages

C++ Snake Game (Simple!) - Instructables

Uploaded by

akazimirimo19
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views7 pages

C++ Snake Game (Simple!) - Instructables

Uploaded by

akazimirimo19
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

C++ Snake Game (Simple!) - Instructables https://www.instructables.

com/C-Snake-Game-Simple/

C++ Snake Game (Simple!)


By Circuitalist in CircuitsSoftware

Introduction: C++ Snake Game (Simple!)

the snake game is a very popular one, here is a very simple one written in C++ using Visual Studio

the code is only 150 line and can be modified in several ways

Enjoy!

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

You want to support my videos?

You can browse and buy materials from my Amazon Store with the same price. This way I get a sm
all commission:

C++ How to Program (10th Edition)

Beginning C++ Through Game Programming

1 of 7 26/04/2024, 19:52
C++ Snake Game (Simple!) - Instructables https://www.instructables.com/C-Snake-Game-Simple/

Starting out with Visual C# (4th Edition)

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

Step 1: Watch on Youtube...

2 of 7 26/04/2024, 19:52
C++ Snake Game (Simple!) - Instructables https://www.instructables.com/C-Snake-Game-Simple/

Step 2: Coding...

#include < iostream >

#include < conio.h >

using namespace std;

bool gameover;

const int width = 20;

const int height = 17;

int x, y, fruitX, fruitY, score;

int tailX[100], tailY[100]; //snake coordinates

int nTail;

enum eDirecton {STOP = 0, LEFT,RIGHT, UP, DOWN}; // Controls

eDirecton dir;

void Setup() {
gameover = false;

dir = STOP;

x = width / 2;

y = height / 2;

3 of 7 26/04/2024, 19:52
C++ Snake Game (Simple!) - Instructables https://www.instructables.com/C-Snake-Game-Simple/

fruitX = rand() % width; //display fruit in a random place

fruitY = rand() % height; score = 0;

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

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

cout << "#";

cout << endl ;

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

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

if (j == 0)

cout << "#"; //walls

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

cout << "*"; // snake tale

else if (i == fruitY && j == fruitX )

cout << "%"; // change it to change the fruit

else {

bool print = false;

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

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

cout << "*"; print = true;

if (!print) cout << " ";

if (j == width -1)

cout << "#";

4 of 7 26/04/2024, 19:52
C++ Snake Game (Simple!) - Instructables https://www.instructables.com/C-Snake-Game-Simple/

cout << endl;

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

cout << "#";

cout << endl;

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

void Input ()
{

if (_kbhit ()) {

switch (_getch ()) {

case 'a':

dir = LEFT;

break;

case 'd':

dir = RIGHT;

break;

case 'w':

dir = UP;

break;

case 's':

dir = DOWN ;

break;

case 'x':

gameover = true;

break;

5 of 7 26/04/2024, 19:52
C++ Snake Game (Simple!) - Instructables https://www.instructables.com/C-Snake-Game-Simple/

void algorithm()
{

int prevX = tailX [0];

int prevY = tailY [0];

int prev2X, prev2Y;

tailX[0] = x;

tailY[0] = y;

for(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 LEFT:

x--;

break;

case RIGHT:

x++;

break;

case UP:

y--;

break;

case DOWN:

y++;

6 of 7 26/04/2024, 19:52
C++ Snake Game (Simple!) - Instructables https://www.instructables.com/C-Snake-Game-Simple/

break;

default:

break;

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

if (y >= height) y = 0; else if (y < 0) y = height - 1;

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

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


gameover = true;

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

score +=10;

fruitX = rand() % width;

fruitY = rand() % height;

nTail ++;

int main()
{

Setup();

while (!gameover) {

Draw ();

Input ();

algorithm ();

return 0;

7 of 7 26/04/2024, 19:52

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy