How To Make A 2d Game In Dev C++

  
How To Make A 2d Game In Dev C++ Rating: 4,0/5 4334 reviews

These focus on XNA, which is definitely where I'd start if I was planning on creating a game. Their tutorial take you through: creating a 2D game with: collision detection. Texture creation and usage. Geometry creation. Physics simulation (They use an open-source physics engine and show you how to use it). Yes, C gives you a ton of ways to do things, but if you read the right books and listen to the right people's recommendations you will be able to focus on the subset of C which is easier to learn, is incredibly productive and efficient and will be a huge benefit to your game development career. Game engines range from very basic wrappers (which usually provides easier functions that take care of low level tasks) to highly complex abstractions in which the actual game development no longer resembles any specific platform - they also sometimes allow you to create the game once and deploy it to various platforms without any changes. Mar 09, 2015  This feature is not available right now. Please try again later. Am a new c programmer. I refer to the code ' Bouncing Ball' which is a GUI, now there is a rectangle created, i managed to change the color the rectangle in the main window and what my may problem is how to make the rectangle fixed and not only increase to be a full rectangle after the ball has hit both ends, how do i achieve that?

Snake game using C++ complete code is demanded by many friend ! so i decided to write an article, providing you complete code  of Snake game in c++ without any error 🙂

Change the headers according to your compiler.

/sam-cooke-it-alright-download-mp3.html. here you go snake game 🙂

Things you need to do are :

  • Copy the code below
  • Paste into your desired environment (dev c++, visual studio)
  • compile and runÂ

#include <iostream>

#include <conio.h>

void run();
void printMap();
void initMap();
void move(int dx, int dy);
void update();
void changeDirection(char key);
void clearScreen();
void generateFood();

char getMapValue(int value);

// Map dimensions
const int mapwidth = 20;
const int mapheight = 20;

const int size = mapwidth * mapheight;

// The tile values for the map
int map[size];

// Snake head details
int headxpos;
int headypos;
int direction;

// Amount of food the snake has (How long the body is)
int food = 3;

// Determine if game is running
bool running;

int main()
{
run();
return 0;
}

// Main game function
void run()
{
// Initialize the map
initMap();
running = true;
while (running) {
// If a key is pressed
if (kbhit()) {
// Change to direction determined by key pressed
changeDirection(getch());
}
// Upate the map
update();

// Clear the screen
clearScreen();

// Print the map
printMap();

// wait 0.5 seconds
_sleep(500);
}

// Print out game over text
std::cout << “tt!!!Game over!” << std::endl << “ttYour score is: ” << food;

// Stop console from closing instantly
std::cin.ignore();
}

Antares mic mod efx mac download. // Changes snake direction from input
void changeDirection(char key) {
/*
W
A + D
S

1
4 + 2
3
*/
switch (key) {
case ‘w’:
if (direction != 2) direction = 0;
break;
case ‘d’:
if (direction != 3) direction = 1;
break;
case ‘s’:
if (direction != 4) direction = 2;
break;
case ‘a’:
if (direction != 5) direction = 3;
break;
}
}

// Moves snake head to new location
void move(int dx, int dy) {
// determine new head position
int newx = headxpos + dx;
int newy = headypos + dy;

// Check if there is food at location
if (map[newx + newy * mapwidth] -2) {
// Increase food value (body length)
food++;

// Generate new food on map
generateFood();
}

// Check location is free
else if (map[newx + newy * mapwidth] != 0) {
running = false;
}

// Move head to new location
headxpos = newx;
headypos = newy;
map[headxpos + headypos * mapwidth] = food + 1;

}

// Clears screen
void clearScreen() {
// Clear the screen
system(“cls”);
}

// Generates new food on map
void generateFood() {
int x = 0;
int y = 0;
do {
// Generate random x and y values within the map
x = rand() % (mapwidth – 2) + 1;
y = rand() % (mapheight – 2) + 1;

// If location is not free try again
} while (map[x + y * mapwidth] != 0);

// Place new food
map[x + y * mapwidth] = -2;
}

// Updates the map
void update() {
// Move in direction indicated
switch (direction) {
case 0: move(-1, 0);
break;
case 1: move(0, 1);
break;
case 2: move(1, 0);
break;
case 3: move(0, -1);
break;
}

// Reduce snake values on map by 1
for (int i = 0; i < size; i++) {
if (map[i] > 0) map[i]–;
}
}

// Initializes map
void initMap()
{
// Places the initual head location in middle of map
headxpos = mapwidth / 2;
headypos = mapheight / 2;
map[headxpos + headypos * mapwidth] = 1;

// Places top and bottom walls
for (int x = 0; x < mapwidth; ++x) {
map[x] = -1;
map[x + (mapheight – 1) * mapwidth] = -1;
}

// Places left and right walls
for (int y = 0; y < mapheight; y++) {
map[0 + y * mapwidth] = -1;
map[(mapwidth – 1) + y * mapwidth] = -1;
}// Generates first food
generateFood();
}

// Prints the map to console
void printMap()
{
for (int x = 0; x < mapwidth; ++x) {
for (int y = 0; y < mapheight; ++y) {
// Prints the value at current x,y location
std::cout << getMapValue(map[x + y * mapwidth]);
}
// Ends the line for next x value
std::cout << std::endl;
}
}

// Returns graphical character for display from map value
char getMapValue(int value)
{
// Returns a part of snake body
if (value > 0) return ‘o’;

switch (value) {
// Return wall
case -1: return ‘X’;
// Return food
case -2: return ‘O’;
}
}

OutPut [Snake Game using C++] :

You can get many authentic stuff regarding snake game using c++ at Tutorials Point.

Also don’t miss to enjoy:

Wrapping it up:

How To Make A 2d Game

Hope so code for snake game using c++ works for you. If does’t feel free to ask any question or give any  suggestion related to C++/this snake game , in the comment box,

How To Make A 2d Game In Dev C Version

Also share ! Because sharing is caring 😉