本文整理汇总了C++中Condition::AddItemNotNeeded方法的典型用法代码示例。如果您正苦于以下问题:C++ Condition::AddItemNotNeeded方法的具体用法?C++ Condition::AddItemNotNeeded怎么用?C++ Condition::AddItemNotNeeded使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Condition
的用法示例。
在下文中一共展示了Condition::AddItemNotNeeded方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
//.........这里部分代码省略.........
if (t == "if")
{
const Condition condition{ParseCondition(s)};
const std::string then_str{h.ReadString(s)};
Consequence consequence;
if (then_str == "goto")
{
consequence.SetNextChapter(h.ReadInt(s));
}
else if (then_str == "change")
{
consequence = ParseConsequence(s);
//Also read goto
const std::string goto_str{h.ReadString(s)};
assert(goto_str == "goto");
consequence.SetNextChapter(h.ReadInt(s));
}
else
{
assert(!"Should not get here");
}
Option option(option_text,consequence);
option.SetCondition(condition);
GetOptions().AddOption(option);
}
else if (t == "ifnot")
{
Condition condition;
const std::string what{h.ReadString(s)};
if (IsItem(what))
{
const Item item_not_needed{ToItem(what)};
condition.AddItemNotNeeded(item_not_needed);
}
else
{
std::cerr << "Unknown item " << what << " in chapter " << chapter_number << std::endl;
assert(!"Should not get here");
}
const std::string str_goto{h.ReadString(s)};
assert(str_goto == "goto");
Consequence consequence;
consequence.SetNextChapter(h.ReadInt(s));
Option option(option_text,consequence);
option.SetCondition(condition);
GetOptions().AddOption(option);
}
else if (t == "goto")
{
Consequence consequence;
consequence.SetNextChapter(h.ReadInt(s));
const Option option(option_text,consequence);
GetOptions().AddOption(option);
}
else if (h.IsInt(t))
{
std::clog << "WARNING: goto omitted in chapter " << chapter_number << std::endl;
//If no goto, just parse the number
Consequence consequence;
consequence.SetNextChapter(h.ToInt(t));
const Option option(option_text,consequence);
GetOptions().AddOption(option);
}
else
{