![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#11 |
|
PFO God In Training
![]() Join Date: Jun 2005
Location: near St Louis, MO. (USA)
Posts: 545
Rep Power: 4
![]() |
Re: Newb interactive fiction
Here's a corrected version. class Room is passed both directions as a pointer.
Room* handle_input(std::string input, Room* currentRoom)
{
if (input=="quit" || input=="exit")
{
std::cout<<"Goodbye";
std::exit(0);
}
else if (input=="n")
{
std::map<std::string, Room*>::iterator it;
if ( (it = currentRoom->exits.find("n"))!=currentRoom->exits.end())
{
currentRoom = it->second;
std::cout<<currentRoom->description<<std::endl;
return currentRoom;
}
else {std::cout<<"There's no exit to north"<<std::endl;}
}
else if (input=="look"){std::cout<<currentRoom->description<<std::endl;}
else {std::cout<<"I don't understand what you're saying"<<std::endl;}
return 0;
}
int main()
{
Room firstRoom;
firstRoom.description="Description of first room";
Room* currentRoom=&firstRoom;
Room secondRoom;
secondRoom.description="You're in the second room";
firstRoom.exits["n"]=&secondRoom;
std::cout<<"Hi"<<"\n";
std::string input;
while (true)
{
std::cout<<">>> ";
std::cin>>input;
currentRoom=handle_input(input, currentRoom);
}
return 0;
}
__________________
True Terror is to wake up one morning and discover that your high school class is running the country - Kurt Vonnegut Jr. |
|
|
|
|
|
#12 |
|
Programmer
Join Date: Nov 2005
Location: Estonia
Posts: 97
Rep Power: 0
![]() |
Re: Newb interactive fiction
Thanks for helping. Is -> used with pointers? There's still a problem. When I run it, type in "look" and then "n" it crashes.
EDIT: it's because handle_input returns 0 after "look". I replaced it with return currentRoom; |
|
|
|
|
|
#13 |
|
PFO God In Training
![]() Join Date: Jun 2005
Location: near St Louis, MO. (USA)
Posts: 545
Rep Power: 4
![]() |
Re: Newb interactive fiction
0 is the correct return value because look is not in the map. The calling function needs to handle that situation where the value pass to input_value() is not found.
__________________
True Terror is to wake up one morning and discover that your high school class is running the country - Kurt Vonnegut Jr. |
|
|
|
|
|
#14 |
|
Expert Programmer
Join Date: May 2005
Location: East Lansing, MI
Posts: 663
Rep Power: 4
![]() |
Re: Newb interactive fiction
maybe you should forget about pointers for now and stick to copies. Once your program is operational, save a backup somewhere and start converting it to pointers.
Edit: never mind. I didn't read Dragon's posts before posting. |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| RE working in the Interactive but not in script | nytrokiss | Python | 11 | Nov 20th, 2006 8:37 PM |
| C++ programming newb | INeedAGig1210 | C++ | 2 | May 28th, 2006 11:47 AM |
| newb needs help with classes and char arrays | AbalahDoon | C++ | 13 | Jul 2nd, 2005 11:01 AM |
| Interactive of program? | jesslee | Visual Basic .NET | 0 | Jun 18th, 2005 2:29 AM |
| Newb here | Komodo | C++ | 16 | Jun 2nd, 2005 1:42 PM |