本文整理汇总了C++中Inventory::hasa方法的典型用法代码示例。如果您正苦于以下问题:C++ Inventory::hasa方法的具体用法?C++ Inventory::hasa怎么用?C++ Inventory::hasa使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Inventory
的用法示例。
在下文中一共展示了Inventory::hasa方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
input = action_list.back();
action_list.pop_back();
}else {
// Get input
std::getline(std::cin, input);
}
if (input == "n"){
ch = input;
input = "north";
border_name = current_room->getBorderName(input);
if (border_name == "nonexistant") {//north is not an option
cout << "Can't go that way" << endl;
}
else {//might be able to go
room_triggers = current_room->getTriggers();
bool found_trigger = false;
for (itr_tr = room_triggers.begin(); itr_tr != room_triggers.end(); itr_tr++ )
{
if ((*itr_tr)->getCommand() == ch) {//a trigger must be activated
found_trigger = true;
get_has = (*itr_tr)->getHas();
get_object = (*itr_tr)->getObject();
get_owner = (*itr_tr)->getOwner();
get_status = (*itr_tr)->getStatus();
if (get_owner == "inventory") {
if(get_has == "no"){
hasstuff = true;
}
else{
hasstuff = false;
}
if (inventory.hasa(get_object) ){//== hasstuff) {
// iterate rooms find one that matches
for (itr_rm = rooms.begin(); itr_rm != rooms.end(); itr_rm++ )
{
if ((*itr_rm)->getName() == border_name) {
current_room = (*itr_rm);
cout << current_room->getDescription() << endl;
}
}
}
else {
cout << (*itr_tr)->getPrint() << endl;
}
}
else if (get_status == "locked") {
cout << (*itr_tr)->getPrint() << endl;
}
else if (get_status == "unlocked") {
for (itr_rm = rooms.begin(); itr_rm != rooms.end(); itr_rm++ )
{
if ((*itr_rm)->getName() == border_name) {
current_room = (*itr_rm);
cout << current_room->getDescription() << endl;
}
}
}