我正在尝试制作一个迷宫游戏。
我的怪物是' M'和宝贝是' *'。
如果一个怪物' M'吃掉宝贝' *',我希望游戏能够打印出来的游戏' GAME OVER'并退出。
你如何检查(怪物[x] [y] ==珍惜[x] [y])?
我是否需要创建一个新方法get_co_ord(struct game_object * object,unsigned x,unsigned y)?
或者有更简单的方法吗?
void monster_move() {
list_node *monster = monster_position;
list_node *treasure = treasure_position;
game_object *obj;
game_object *obj2;
while (monster) {
obj = monster->object;
obj2 = treasure->object;
monster = monster->next;
if (obj->x == obj2->x && obj->y == obj2->y) {
printf("THE TREASURE IS FOREVER LOST!");
}
}
}
答案 0 :(得分:0)
原来你必须使用嵌套的ifs作为&&不会工作!
if (obj->x == obj2->x) {
if (obj->y == obj2->y) {
printf("THE TREASURE IS FOREVER LOST!");
free_mem();
exit(0);
}
}