方法一:先移动,后判断
// 玩家的初始位置
int playerX = 5;
int playerY = 5;
// 敌人的初始位置
int enemyX = 10;
int enemyY = 10;
// 玩家移动
playerX++;
playerY++;
// 判断玩家和敌人是否重叠
if (playerX == enemyX && playerY == enemyY)
{
Console.WriteLine("玩家撞到了敌人!");
}
else
{
Console.WriteLine("玩家安全!");
}
在这个例子中,我们先将玩家的位置进行了移动(playerX++
和 playerY++
),然后再判断玩家和敌人的位置是否重叠。这种方法就像是玩家先行动,然后再检查是否遇到了危险。
方法二:先判断,后移动
// 玩家的初始位置
int playerX = 5;
int playerY = 5;
// 敌人的初始位置
int enemyX = 10;
int enemyY = 10;
// 判断玩家和敌人是否在附近
if (Math.Abs(playerX - enemyX) <= 1 && Math.Abs(playerY - enemyY) <= 1)
{
Console.WriteLine("玩家在敌人附近,小心!");
}
else
{
Console.WriteLine("玩家暂时安全!");
}
// 玩家移动
playerX++;
playerY++;
在这个例子中,我们先判断玩家和敌人的位置是否在附近(使用 Math.Abs
计算距离),然后再进行玩家的移动(playerX++
和 playerY++
)。这种方法就像是玩家先观察周围环境,判断是否安全,然后再决定下一步行动。