本文整理汇总了C++中item::invlet_is_okay方法的典型用法代码示例。如果您正苦于以下问题:C++ item::invlet_is_okay方法的具体用法?C++ item::invlet_is_okay怎么用?C++ item::invlet_is_okay使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类item
的用法示例。
在下文中一共展示了item::invlet_is_okay方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: add_item
void inventory::add_item(item newit, bool keep_invlet)
{
if (keep_invlet && !newit.invlet_is_okay())
assign_empty_invlet(newit); // Keep invlet is true, but invlet is invalid!
if (newit.is_style())
return; // Styles never belong in our inventory.
for (int i = 0; i < items.size(); i++) {
if (items[i][0].stacks_with(newit)) {
/*
if (keep_invlet)
items[i][0].invlet = newit.invlet;
else
*/
newit.invlet = items[i][0].invlet;
items[i].push_back(newit);
return;
} else if (keep_invlet && items[i][0].invlet == newit.invlet)
assign_empty_invlet(items[i][0]);
}
if (!newit.invlet_is_okay() || index_by_letter(newit.invlet) != -1)
assign_empty_invlet(newit);
std::vector<item> newstack;
newstack.push_back(newit);
items.push_back(newstack);
}
示例2: add_item
void inventory::add_item(item newit)
{
for (int i = 0; i < items.size(); i++) {
if (items[i][0].stacks_with(newit)) {
newit.invlet = items[i][0].invlet;
items[i].push_back(newit);
return;
}
}
if (!newit.invlet_is_okay() || index_by_letter(newit.invlet) != -1) {
int ch;
for (ch = 'a'; ch <= 'z' && ch > 0; ch++) {
if (index_by_letter(ch) == -1) {
newit.invlet = ch;
ch = -1;
}
}
if (ch > 0) {
for (ch = 'A'; ch <= 'Z' && ch > 0; ch++) {
if (index_by_letter(ch) == -1) {
newit.invlet = ch;
ch = -1;
}
}
}
if (ch > 0)
newit.invlet = '`';
}
std::vector<item> newstack;
newstack.push_back(newit);
items.push_back(newstack);
}