How to write C++ Program to make a Simple Snake Game | Virtual Study Solutions

Adsetra Ads

 

C++ Program to make a Simple Snake Game

Today in C++ Tutorial we will learn how to write C++ Program to make a Simple Snake Game. In this tutorial i will going to show you how to make a fun snake game using c++ programming language.
How to write C++ Program to make a Simple Snake Game
How to write C++ Program to make a Simple Snake Game

Simple Snake Game

Snake Game is actually a mini project for first semester students .It is console application without graphic library that's why it is more interesting.This game is perfect without any error and better user interface.It is complied in c++ language.Here goes a source code you can copy and compile it . I hope it will be helpful.

Source code:

Here is the source Code of C++ Program to make a Simple Snake Game.

#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
bool gameOver;
const int width = 20;
const int height = 20;
int x, y, fruitX, fruitY, score;
int tailX[100], tailY[100];
int nTail;
enum eDirecton { STOP = 0, LEFT, RIGHT, UP, DOWN};
eDirecton dir;
void Setup()
{
gameOver = false;
dir = STOP;
x = width / 2;
y = height / 2;
fruitX = rand() % width;
fruitY = rand() % height;
score = 0;
}
void Draw()
{
system("cls"); //system("clear");
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 << "#";
if (i == y && j == x)
cout << "O";
else if (i == fruitY && j == fruitX)
cout << "F";
else
{
bool print = false;
for (int k = 0; k < nTail; k++)
{
if (tailX[k] == j && tailY[k] == i)
{
cout << "o";
print = true;
}
}
if (!print)
cout << " ";
}

if (j == width - 1)
cout << "#";
}
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;
}
}
}
void Logic()
{
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++;
break;
default:
break;
}
//if (x > width || x < 0 || y > height || y < 0)
// gameOver = true;
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();
Logic();
Sleep(10); //sleep(10);
}
return 0;
}

More C++ Programming Example Codes

Write ALLAH Using C++ Program

How to write C++ program to find Fibonacci Series

How to Write C++ Program to Find Prime Number

How to write C++ Program to find factorial of Number

What is Recursive function in c++ with Examples

C++ program to Make Simple calculator

Find the HCF and LCM by using the C++


Tags: c++, C++ language, C++ Programming Language, c++ tutorials, How to write C++ Program, Programming in C++, write a c++ program, Simple Snake Game, How to, How to make a Simple Snake Game.

If you have any queries related to How to write C++ program to make a Simple Snake Game please share with us in comments:

Post a Comment

 

Top