本文整理汇总了C++中Town::is_own方法的典型用法代码示例。如果您正苦于以下问题:C++ Town::is_own方法的具体用法?C++ Town::is_own怎么用?C++ Town::is_own使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Town
的用法示例。
在下文中一共展示了Town::is_own方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: hit_building
//------- Begin of function Tornado::hit_building -----//
// building means firm or town
//
void Tornado::hit_building()
{
short damageXLoc = damage_x_loc();
short damageYLoc = damage_y_loc();
if( damageXLoc < 0 || damageXLoc >= world.max_x_loc ||
damageYLoc < 0 || damageYLoc >= world.max_y_loc)
return;
Location* locPtr = world.get_loc(damageXLoc, damageYLoc);
if(locPtr->is_firm() )
// && firm_res[(firmPtr=firm_array[locPtr->firm_recno()])->firm_id]->buildable )
{
Firm *firmPtr = firm_array[locPtr->firm_recno()];
firmPtr->hit_points -= attack_damage*2;
if( !damage_player_flag && firmPtr->is_own() )
{
damage_player_flag = 1;
// add news message
news_array.tornado_hit(sprite_recno);
}
if( firmPtr->hit_points <= 0)
{
firmPtr->hit_points = (float) 0;
se_res.sound(firmPtr->center_x, firmPtr->center_y, 1,
'F', firmPtr->firm_id, "DIE" );
firm_array.del_firm(locPtr->firm_recno());
}
}
if( locPtr->is_town() )
{
Town *townPtr = town_array[locPtr->town_recno()];
if( !damage_player_flag && townPtr->is_own() )
{
damage_player_flag = 1;
// add news message
news_array.tornado_hit(sprite_recno);
}
if( townPtr->hit_points > 0.0f )
{
townPtr->hit_points -= attack_damage*2;
if( townPtr->hit_points <= 0 )
{
townPtr->hit_points = (float) 0;
}
}
else
{
// ###### begin Gilbert 10/2 #######//
if( (life_time % 10) == 0 )
townPtr->kill_town_people(0);
// ###### end Gilbert 10/2 #######//
}
}
}
示例2:
void CampaignEastWest::plot_d2_create_game()
{
// find a non-own nation
int srcNation;
for( srcNation = nation_array.size(); srcNation > 0; --srcNation)
{
if( !nation_array.is_deleted(srcNation)
&& !nation_array[srcNation]->is_own() )
{
break;
}
}
//
int unitId;
short kingXLoc = -1, kingYLoc;
if(srcNation)
{
Nation *nationPtr = nation_array[srcNation];
if( nationPtr->is_human() )
unitId = race_res[nationPtr->race_id]->infantry_unit_id;
else
unitId = monster_res[nationPtr->monster_id()]->unit_id;
if( nationPtr->king_unit_recno )
{
unit_array[nationPtr->king_unit_recno]->get_cur_loc( kingXLoc, kingYLoc);
}
}
else
unitId = 0;
Town *targetTown;
// find a town and turn it independent
int count = 1;
for(int townRecno = 1; townRecno <= town_array.size() && count > 0; ++townRecno )
{
if( town_array.is_deleted(townRecno) )
continue;
targetTown = town_array[townRecno];
if( targetTown->is_own() )
{
targetTown->set_nation(0);
// ----- create a monster next to town -------//
if( unitId && kingXLoc >= 0)
{
int unitRecno = targetTown->create_unit(unitId);
if( unitRecno )
{
unit_array[unitRecno]->betray(srcNation);
unit_array[unitRecno]->move(kingXLoc, kingYLoc, true);
}
}
--count;
}
}
}