Search code examples
c++visual-studio-2010cmdtext-based

C++ I cant access the functions i need to


I am trying to create a text based adventure game in c++ for my school project. The roblem i am having is that my gameover() function needs to be able to goto my begin() function. The problem is begin must be declared before before the gameover() function to allow it to go to begin(), only i have other functions that also need to access gameover(. In short i need a way to be able to tell my program to goto the function gameover() or begin(), and know that it exists and is declared. Thanks, Simon

void begin() {
   int name;
   int choice1;
   system("cls");
   cout << "To start your adventure, please enter your name." << endl;
   cin >> name;
   cin.ignore();
   system("cls");
   cout << "Hello " << name << " Your adventure now begins.... Who knows what's in store for you!" << endl;
   system("pause");
   system("cls");
   cout << "You find yourself in a dark, cramp library. " << endl;
   cout << "You don't know how you got here, or where you are." << endl;
   cout << "Luckily there is a sword laying on the ground next to you \nand an open door in front.\n" << endl;
   cout << "What will you do?" << endl;
   cout << "1. Pick up the sword" << endl;
   cout << "2. Walk forward through the door" << endl;
   cout << "3. Use the sword to end your miserable existence!" << endl;
   cin >> choice1;
   cin.ignore();
   system("cls");
   if (choice1 == 1) {
      cout << "You quickly pick up the sword and run through the door." << endl;
      system("pause");
      road();
   }
   else if (choice1 == 2) {
      cout << "While you make you way to the door...." << endl;
      cout << "You somehow managed to trip on the sword." << endl;
      cout << "You fall on the hilt smashing your neck, and end your painfully short life. " << endl;
      system("pause");
      gameover();
   }
   else   {
      cout << "That wasn't an option....." << endl;
      cout << "You have now broken the game. Good day Sir!!!" << endl;
   }
 }


 void gameover() {
    int choice_b;
    cout << " Oops! You died.... Try Again." << endl;
    cout << "\n1. Start Again!" << endl;
    cout << "2. Exit" << endl; 

    cin >> choice_b;
    cin.ignore();
    system("cls"); 

    if (choice_b == 1) {
        begin();
    }
    else if (choice_b == 2) { std::exit; }
 }

Solution

  • Add the header file containing the declaration of fucntion begin and gameover or add declaration by yourself by adding void begin(); and void gameover() before their first use.