Jump to content

[Tutorial] How to make a simple cross platform text game [C++]


Recommended Posts

 

So Download and install dev-cpp from the link I provided, The original dev-cpp has been discontinued but this version keeps being updated.

 

Okay so once you have dev-cpp open click File on the top right then click new > project. Then click empty project.

 

p1.PNG

 

p2.PNG

 

Save the .dev file in a place you will remember, it is used to reopen the project later.

 

Now click the little + next to the Project you just created then right click on the file and rename it to main.cpp and save it to same directory where you saved the .dev file.

 

p3.PNG

 

Now we are going to actually start writing some code I hope you are as excited as I am. :D

 

First we want to include our preprocessor for the compiler we use two preprocessors in this tutorial string and iostream. iostream includes the declarations of the basic standard input-output library in C++, and it is included because its functionality is going to be used later in the program. The string preprocessor is a standard representation for a string of text.

 

p4.PNG

 

Now we want to write our prototypes. A function prototype or function interface in C++ is a declaration of a function that omits the function body but does specify the function's return type, name, arity and argument types. While a function definition specifies what a function does, a function prototype can be thought of as specifying its interface.

 

so our Prototypes will look like this.

 

p5.PNG

 

So now we need to make the Dialogue function.

 

p6.PNG

 

std:: is preferred to using namespace std because with std:: you can call exactly what you need and nothing you don't.

 

cout prints text to the screen and endl is the newline indicator, you could also use \n.

 

Now we need to make our GetResponse function

 

p7.PNG

 

std::cin is the input from the user.

 

Now time to construct our StartGame function, it holds all the code required to deal with dialogue and responses.

 

p8.PNG

 

\n does the same thing endl; does.

 

now time to make a simple cross platform ClearScreen function

p9.PNG

 

now time for the entree point int main()

p10.PNG

 

now our simple c++ cross platform text game is done.

 

All we need to do now is compile and run.

 

to do that hit f11 in dev-cpp.

 

Finished code:

//preprocessors
#include <iostream>
#include <string>

/* Prototype */
void Dialogue(std::string); //A Void that requires a string (prints Dialogue to the screen)
std::string GetResponse(); // A String that returns the users response 
void StartGame(); // the actual game code
void Cls(); //clears the screen

/*Entree point*/
int main()
{
Cls(); //clears screen 
StartGame(); //runs our game code
std::cin.get(); //keeps the game open after your game has been ran until you press any key
return 0; //you have to return 0 because main is an int.
}

/* Prints the Dialog to the screen*/
void Dialogue(std::string text)
{
std::cout<< text << std::endl; //prints the text to console then \n(endl)
}

/* Used to get the Response of a user*/
std::string GetResponse()
{
std::string _data; // creates a new string variable named _data
std::cin >> _data; //sets _data = userinput
return _data; //returns _data
}

/* The actual Game code*/
void StartGame()
{
    /* Your game is constructed in this function*/
Dialogue("Welcome to Saw. Would you like to play a game? \n Yes or No?" );// print our firstline
if(GetResponse() == "Yes") // if response = yes then
{
	Dialogue("Okay Good! Me to"); // print this
}else if(GetResponse() == "No"){ //else if no
	Dialogue("You die!"); //prints this
}else{ //anything else
        Dialogue("Not a valid answer.");
    }

}

/*Cross platform way to clear the screen!*/
void Cls()
{
std::cout << std::string( 150, '\n' );//prints 150 empty lines
}

 

Finished game in use

p11.PNG

 

 

I hope you like it!

Link to comment
Share on other sites

Seriously? Do you even know what this code does? For example at college we are doing stuff x100 more complicated than this child's play.

 

Then why you don't open an x100 server to make money if you are working so seriously and do so better things? Some people never appreciate whatever effort by someone else and buddy you are in the bunch of them.

Link to comment
Share on other sites

Seriously? Do you even know what this code does? For example at college we are doing stuff x100 more complicated than this child's play.

are you blind or? can you check the title of topic? How to make a simple cross platform text game

 

Go and learn better on your college mr programmer

 

Peace

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...