TankGame::~TankGame() { if (wall) delete wall; if (gameSpace) { for (int i = 0; i != high; i++) delete[] gameSpace[i]; delete[] gameSpace; } } void TankGame::reset(Tank& tank) { bool success = false; int t = 3; while (t && !success) { creatPlace++; if (creatPlace == 4) creatPlace = 1; // 诞生地点选择 switch (creatPlace) { case 1: tank.trans_direction(3); //朝下 if (tank.reset(gameSpace,1,1)) success = true; break; case 2: tank.trans_direction(3); if (tank.reset(gameSpace,wide / 2 - 2, 1)) success = true; break; case 3: tank.trans_direction(3); if (tank.reset(gameSpace,wide - 4, 1)) success = true; break; } if (!success) t--; } }
时间: 2024-04-02 11:37:26 浏览: 7
这段代码是坦克游戏的析构函数和一个 reset 函数。析构函数会在游戏结束时自动调用,用于释放动态分配的内存空间。reset 函数用于重置一辆坦克的位置,它会在敌方坦克被打败后调用。reset 函数会随机选择一处诞生地点,然后尝试把坦克放置在这个地点。如果这个地点已经被占据,那么就会选择下一个诞生地点。如果所有诞生地点都被占据,则该坦克无法诞生。
相关问题
TankGame::~TankGame() { if (wall) delete wall; if (gameSpace) { for (int i = 0; i != high; i++) delete[] gameSpace[i]; delete[] gameSpace; } }
这段代码是坦克游戏的析构函数。它会在游戏结束时自动调用,用于释放动态分配的内存空间。首先,它会判断是否有围墙对象存在,如果有就释放围墙对象的内存空间。然后,它会判断游戏空间状态表是否存在,如果存在,就对每一行分配的内存空间进行释放,最后再释放游戏空间状态表对象的内存空间。这个析构函数的作用是确保在游戏结束时,所有动态分配的内存空间都被释放掉,避免内存泄漏的问题。
void TankGame::test() { for (int y = 0; y != 40; y++) { for (int x = 0; x != 40; x++) { if (gameSpace[y][x].have)// && gameSpace[y][x].kind == 3) grid(x, 42+y, (char)gameSpace[y][x].no); else grid(x, 42+y, " "); } } }
这段代码是 C++ 语言编写的,实现了一个测试函数。函数内部的代码逻辑包括:
1. 遍历二维数组 gameSpace,该数组表示游戏场景中每个位置的信息;
2. 对于每个位置,如果该位置上有物体(即 have 属性为真),则在屏幕上输出该物体的编号(即 no 属性);
3. 如果该位置上没有物体,则在屏幕上输出两个空格字符;
4. 最终输出的内容显示了游戏场景中所有物体的位置信息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)