All pastes #2047354 Raw Edit

Mine

public cpp v1 · immutable
#2047354 ·published 2011-04-17 04:25 UTC
rendered paste body
#include <iostream>#include <string>#include <windows.h> //For the Sleep command.using namespace std;int main(){string playerName;double speed;//Ask for player name and give them a brief introduction to the game.cout << "\nWhat is your name?: ";	getline (cin, playerName);cout << "\nEnter a game speed. 0 is the fastest speed, and 300 is the slowest speed. "; //Sets how fast the game will run. This is tied into the sleep function below.	cin >> speed;					if (playerName == "") //Prevents someone from not using a name.					playerName = "John Doe"; 					if (speed < 0) //Do not allow a negative game speed.					speed = 0; 					if (speed > 300) //Do not allow too slow of a game speed.					speed = 300; 		cout << "\nHello, " << playerName << ".";			cout << "\nThe object of this game is to destroy the enemy ship";			cout << "\nthat appears at the top of the screen. This enemy ship";			cout << "\nhas more armor and firepower than you do, so be careful.";			cout << "\n\n";			cout << "\n-Ship Controls-";			cout << "\nLeft and Right arrows: Move your ship left and right.";			cout << "\nUp arrow: Fire a missile.";			cout << "\nDown arrow: Pause the game.";			cout << "\nPlease don't cheat by simply holding down the UP arrow. Be fair to the enemy.\n\n";					system("pause"); //Press any key to continue.//Set the initial health and X coordinates of the human and AI players.	double aiHealth; //AI's health.	double huHealth; //Human's health.	double aiX; //AI's X coordinate.		double aiXRand; //Used to hold the random value generated to modify the AI's X coordinate.	double huX; //Human's X coordinate.		aiHealth = 1000; //AI gets 1000 health at the start of the game.			aiX = 20; //AI starts at the X coordinate of 20, the far side of the map.		huHealth = 500; //Human gets 500 health at the start of the game.			huX = 1; //Human starts at the X coordinate of 1, the beginning of our map.					while( aiHealth>0 && huHealth>0)  //Starts the loop that is the game. Similar to an IF statement, but repeats indefinitely until the condition is false.{	//Make the game sleep for a bit. This is where the Game Speed question above comes into play.		Sleep(speed); 	system("CLS"); //Clear the screen, otherwise the game just spams each frame on a new line.	//Lets make the AI move.	aiXRand = rand() % 3 + 1;//Gets a random number to modify the AI's X coordinate, allowing the AI to move. 3 + 1 just means it can have an outcome of 1 to 3.		//Lets assign a value to these integers. 1=1, 2=0, and 3=-1.			if (aiXRand == 1)					aiXRand = 1; //Adds 1 to the X coordinate, in otherwords the AI could move right.			if (aiXRand == 2)					aiXRand = 0; // AI won't move.			if (aiXRand == 3)					aiXRand = -1; //Takes 1 from the X coordinate, in otherwords the AI could move left.		aiX = aiX + aiXRand;//Now use the random number to modify the AI's current coordinate.			//Lets make sure the AI cannot go out of bounds. I'm setting bounds to 20 characters across.				if (aiX == 0)					aiX = 1;				if (aiX == 21)					aiX = 20;				//Sets the players to not launch a missile unless triggered to do so.				double huLaunch;				double aiLaunch;				huLaunch = 0; //Reset Human missile trigger.				aiLaunch = 0; //Reset AI missile trigger.			//Let the human player move. Tells the computer what to do on the event of a key press.				if (GetAsyncKeyState(VK_LEFT)) //Left arrow has been pressed, remove 1 from the Human x coordinate.				{				huX = huX - 1;				}				if (GetAsyncKeyState(VK_RIGHT)) //Right arrow has been pressed, add 1 from the Human x coordinate.				{				huX = huX + 1;				}				if (GetAsyncKeyState(VK_UP)) //Up arrow has been pressed. Trigger the Human to launch a missile.				{				huLaunch = 1; 				}				if (GetAsyncKeyState(VK_DOWN)) //DOWN arrow has been pressed, pause the game.				{				cout << "-Game Paused-\n";				system("pause"); //Press any key to continue.				}				//Triggers the AI player to launch a missile based on a roll-the-dice style chance.				aiXRand = rand() % 6 + 1; //Get a random number. Chance is 1 in 6 that a missile will be triggered.				if (aiXRand == 5) //If outcome of the roll is 5, then triger the AI to launch a missile.				{				aiLaunch = 1;				}				//Detect human missile hit and remove health from the AI.				if (aiX == huX && huLaunch == 1)				{				aiHealth = aiHealth - 50;				}				//Detect AI missile hit and remove health from the Human.				if (aiX == huX && aiLaunch == 1)				{				huHealth = huHealth - 75;				}			//Let's make sure the human cannot go out of bounds either. I'm setting bounds to 20 characters across.				if (huX == 0)					huX = 1;				if (huX == 21)					huX = 20;//Defining the game's sprites (character, avatar, basically the ingame visuals.)//Create a ship at the AI's X coordinate.	string aiFiller;if (aiX == 1)   //Basically means if the X coordinate of the AI is equal to 1, then the AI's avatar is "^".aiFiller = "^";if (aiX == 2)aiFiller = " ^";  //Adds whitespace to the avatar to give it the visual impression of movement as the X coordinate rises.if (aiX == 3)aiFiller = "  ^";if (aiX == 4)aiFiller = "   ^";if (aiX == 5)aiFiller = "    ^";if (aiX == 6)aiFiller = "     ^";if (aiX == 7)aiFiller = "      ^";if (aiX == 8)aiFiller = "       ^";if (aiX == 9)aiFiller = "        ^";if (aiX == 10)aiFiller = "         ^";if (aiX == 11)aiFiller = "          ^";if (aiX == 12)aiFiller = "           ^";if (aiX == 13)aiFiller = "            ^";if (aiX == 14)aiFiller = "             ^";if (aiX == 15)aiFiller = "              ^";if (aiX == 16)aiFiller = "               ^";if (aiX == 17)aiFiller = "                ^";if (aiX == 18)aiFiller = "                 ^";if (aiX == 19)aiFiller = "                  ^";if (aiX == 20)aiFiller = "                   ^";//Create a ship at the Human's X coordinate.	string huFiller;if (huX == 1)huFiller = "^";if (huX == 2)huFiller = " ^";if (huX == 3)huFiller = "  ^";if (huX == 4)huFiller = "   ^";if (huX == 5)huFiller = "    ^";if (huX == 6)huFiller = "     ^";if (huX == 7)huFiller = "      ^";if (huX == 8)huFiller = "       ^";if (huX == 9)huFiller = "        ^";if (huX == 10)huFiller = "         ^";if (huX == 11)huFiller = "          ^";if (huX == 12)huFiller = "           ^";if (huX == 13)huFiller = "            ^";if (huX == 14)huFiller = "             ^";if (huX == 15)huFiller = "              ^";if (huX == 16)huFiller = "               ^";if (huX == 17)huFiller = "                ^";if (huX == 18)huFiller = "                 ^";if (huX == 19)huFiller = "                  ^";if (huX == 20)huFiller = "                   ^";//Let's make some fillers for the missiles.string huMissile;string aiMissile;huMissile = ""; //Create no missile.aiMissile = ""; //Create no missile. Variable Will not be used for now.if (huX == 1 && huLaunch == 1)huMissile = "|";if (huX == 2 && huLaunch == 1)huMissile = " |";if (huX == 3 && huLaunch == 1)huMissile = "  |";if (huX == 4 && huLaunch == 1)huMissile = "   |";if (huX == 5 && huLaunch == 1)huMissile = "    |";if (huX == 6 && huLaunch == 1)huMissile = "     |";if (huX == 7 && huLaunch == 1)huMissile = "      |";if (huX == 8 && huLaunch == 1)huMissile = "       |";if (huX == 9 && huLaunch == 1)huMissile = "        |";if (huX == 10 && huLaunch == 1)huMissile = "         |";if (huX == 11 && huLaunch == 1)huMissile = "          |";if (huX == 12 && huLaunch == 1)huMissile = "           |";if (huX == 13 && huLaunch == 1)huMissile = "            |";if (huX == 14 && huLaunch == 1)huMissile = "             |";if (huX == 15 && huLaunch == 1)huMissile = "              |";if (huX == 16 && huLaunch == 1)huMissile = "               |";if (huX == 17 && huLaunch == 1)huMissile = "                |";if (huX == 18 && huLaunch == 1)huMissile = "                 |";if (huX == 19 && huLaunch == 1)huMissile = "                  |";if (huX == 20 && huLaunch == 1)huMissile = "                   |";if (aiX == 1 && aiLaunch == 1)huMissile = "|";  //Purposely not set to aiMissile. if (aiX == 2 && aiLaunch == 1)huMissile = " |";if (aiX == 3 && aiLaunch == 1)huMissile = "  |";if (aiX == 4 && aiLaunch == 1)huMissile = "   |";if (aiX == 5 && aiLaunch == 1)huMissile = "    |";if (aiX == 6 && aiLaunch == 1)huMissile = "     |";if (aiX == 7 && aiLaunch == 1)huMissile = "      |";if (aiX == 8 && aiLaunch == 1)huMissile = "       |";if (aiX == 9 && aiLaunch == 1)huMissile = "        |";if (aiX == 10 && aiLaunch == 1)huMissile = "         |";if (aiX == 11 && aiLaunch == 1)huMissile = "          |";if (aiX == 12 && aiLaunch == 1)huMissile = "           |";if (aiX == 13 && aiLaunch == 1)huMissile = "            |";if (aiX == 14 && aiLaunch == 1)huMissile = "             |";if (aiX == 15 && aiLaunch == 1)huMissile = "              |";if (aiX == 16 && aiLaunch == 1)huMissile = "               |";if (aiX == 17 && aiLaunch == 1)huMissile = "                |";if (aiX == 18 && aiLaunch == 1)huMissile = "                 |";if (aiX == 19 && aiLaunch == 1)huMissile = "                  |";if (aiX == 20 && aiLaunch == 1)huMissile = "                   |";//Now output the battleground.cout << "\nFlying Ace: " << aiHealth;    //Display the AI's name and health.cout << "\n--------------------";cout << "\n" << aiFiller;   		 //Display the AI's ship at his coordinate.//Missile area. aiMissile intentionally left out. huMissile will pretty much do the job.cout << "\n" << huMissile;  //If both the human and AI fire at once, one missile won't be shown. The AI missile will take priority.cout << "\n" << huMissile;  //It's because I haven't thought of a way to show both at once without screwing up the spacings.cout << "\n" << huMissile;  //Your missile will still work even if its not displayed.cout << "\n" << huMissile;cout << "\n" << huMissile;cout << "\n" << huMissile;cout << "\n" << huMissile;cout << "\n" << huMissile;cout << "\n" << huFiller;                           //Display the Human's ship at his coordinate.cout << "\n--------------------";cout << "\n" << playerName << ": " << huHealth;     //Display the Human's name and health.   } // End of the While statement. The While exits if a player dies (<=0 health remaining), otherwise the While statement starts over again.//The game is now over. Find out who won and display the appropriate win/lose message.if (huHealth > 0)	cout << "\n\nYou have won the game. Good job.\n\n";if (aiHealth > 0)	cout << "\n\nYou have died. You suck at this game.\n\n";system("pause"); //Press any key to continue.return 0;}