本文整理汇总了C++中Food::GetY方法的典型用法代码示例。如果您正苦于以下问题:C++ Food::GetY方法的具体用法?C++ Food::GetY怎么用?C++ Food::GetY使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Food
的用法示例。
在下文中一共展示了Food::GetY方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Move
void Snake::Move(Food& food, int dif)
{
TestBorderCollision();
if (gameover)
{
return;
}
for (int i = 0; i < s_parts.size(); i++)
{
standard_field.EraseAtMap(s_parts[i].GetX(), s_parts[i].GetY());
switch (s_parts[i].GetDirection())
{
case UP:
s_parts[i].SetY(s_parts[i].GetY() - 1);
break;
case RIGHT:
s_parts[i].SetX(s_parts[i].GetX() + 1);
break;
case DOWN:
s_parts[i].SetY(s_parts[i].GetY() + 1);
break;
case LEFT:
s_parts[i].SetX(s_parts[i].GetX() - 1);
break;
}
standard_field.AddToMap(s_parts[i].GetX(), s_parts[i].GetY(), SNAKE_PART);
}
if (s_parts[0].GetX() == food.GetX() && s_parts[0].GetY() == food.GetY())
{
EatFood(food, dif);
food.Generate();
}
for (int i = s_parts.size() - 1; i > 0; i--)
{
if (s_parts[i].GetDirection() != s_parts[i - 1].GetDirection())
{
s_parts[i].SetDirection(s_parts[i - 1].GetDirection());
}
}
TestSelfCollision();
}
示例2: EatFood
void Snake::EatFood(Food& food, int dif)
{
switch (s_parts.back().GetDirection())
{
case LEFT:
s_parts.push_back(Part(s_parts.back().GetX() + 1, s_parts.back().GetY(), LEFT));
break;
case RIGHT:
s_parts.push_back(Part(s_parts.back().GetX() - 1, s_parts.back().GetY(), RIGHT));
break;
case UP:
s_parts.push_back(Part(s_parts.back().GetX(), s_parts.back().GetY() + 1, UP));
break;
case DOWN:
s_parts.push_back(Part(s_parts.back().GetX(), s_parts.back().GetY() - 1, DOWN));
break;
}
switch (dif)
{
case 0:
score += 150;
break;
case 1:
score += 10;
break;
case 2:
score += 20;
break;
case 3:
score += 30;
break;
case 4:
score += 70;
break;
}
standard_field.AddToMap(food.GetX(), food.GetY(), SNAKE_PART);
}