if (moveDirection == 1)//向上移动 { newHead_x = OldHead_x - 1; newHead_y = OldHead_y; if (canvas[newHead_x][newHead_y] == -2) { int food_x; int food_y; food_x = rand() % (Length - 5) + 2; food_y = rand() % (Width - 5) + 2; canvas[food_x][food_y] = -2; } else { canvas[Max_x][Max_y] = 0; } if (canvas[newHead_x][newHead_y] > 0 || canvas[newHead_x][newHead_y] == -1) { cout << "游戏失败!\n"; Sleep(2000); exit(0); } else canvas[newHead_x][newHead_y] = 1; }如果出现数组值为2,那还会执行将其赋值为0的操作码
时间: 2023-11-25 12:04:53 浏览: 57
reverse-the-single-link-list.rar_single
这段代码中没有数组值为2的情况,只有数组值为-2的情况,表示食物。如果蛇头碰到食物,会执行生成新食物的代码,否则会将蛇尾的位置清空。如果数组值为正数或者-1,表示蛇的身体部分或者边界,此时会输出失败的提示信息,暂停2秒后退出程序。如果数组值为0,表示空白位置,会将蛇头的位置标记为1。因此,不会出现将数组值为2赋值为0的操作码的情况。
阅读全文