基于主机的游戏无缘无故地崩溃
console based game crashes for no reason
我试图让一个非常基本的游戏开始,我试图让它只是使游戏的边界女巫将是x的,他们的球员是H,但当我建立和运行它的程序会立即崩溃,请帮助
#include <iostream>
using namespace std;
int cords[2];
string map[6][6] =
{
{"X","X","X","X","X","X"},
{"X"," "," "," "," ","X"},
{"X"," "," "," "," ","X"},
{"X"," ","H"," "," ","X"},
{"X"," "," "," "," ","X"},
{"X","X","X","X","X","X"}
};
string input;
bool running = true;
void tick(){
if(input == "w"){
cords[1]++;
}
if(input == "s"){
cords[1] = cords[1] - 1;
}
if(input == "a"){
cords[0] = cords[0] - 1;
}
if(input == "d"){
cords[0]++;
}
}
void render(){
cout << map[1][1] << map[1][2] << map[1][3] << map[1][4] << map[1][5] << map[1][6] <<endl
<< map[2][1] << map[2][2] << map[2][3] << map[2][4] << map[2][5] << map[2][6] <<endl
<< map[3][1] << map[3][2] << map[3][3] << map[3][4] << map[3][5] << map[3][6] <<endl
<< map[4][1] << map[4][2] << map[4][3] << map[4][4] << map[4][5] << map[4][6] <<endl
<< map[5][1] << map[5][2] << map[5][3] << map[5][4] << map[5][5] << map[5][6] <<endl
<< map[6][1] << map[6][2] << map[6][3] << map[6][4] << map[6][5] << map[6][6] <<endl;
}
void run(){
int ticks;
int frames;
tick();
render();
}
int main(){
while(running == true){
run();
cin>> input;
}
}
两个map索引必须在0到5之间:map[6][3]不正确,例如
如果你写了一个循环来打印你的2d数组,你可能会避免这个错误:
const int matSize = 6;
for (int i = 0; i < matSize; ++i)
{
for (int j = 0; j < matSize; ++j )
cout << m[i][j];
cout << "n";
}
您应该更改您的板使用string
或char
,而不是单个字符串数组:
std::string map[6] =
{
"XXXXXX",
"X X",
"X X",
"X H X",
"X X",
"XXXXXX",
};
char map_as_char_array[6][6] =
{
{'X','X','X','X','X','X'},
{'X',' ',' ',' ',' ','X'},
{'X',' ',' ',' ',' ','X'},
{'X',' ','H',' ',' ','X'},
{'X',' ',' ',' ',' ','X'},
{'X','X','X','X','X','X'}
};
string
数据类型对于单个字母来说是多余的。
请记住,string
类型可以作为单个维度的字符数组访问。
相关文章:
- 在C++游戏中与库存系统作斗争
- 换位表导致测试失败(但在游戏中运行良好)
- Craps游戏问题,忽略if语句
- 矢量下标超出SFML游戏中的范围
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- 我在贪吃蛇游戏中收到了错误代码 -1073741571
- 我应该在简单的策略游戏中为各个派系使用类吗 - C++
- 游戏体验和升级
- 我的代码运行良好,但在游戏循环中中断
- 如何使用 SFML 在贪吃蛇游戏中定义游戏结束?
- 我可以使用任何好的逻辑来阻止计算机将 O 放在井字游戏中的现有 X 上
- 将鼠标和键盘输入发送到 unity3d 游戏 (Rust)
- 在猜谜游戏 c++ 中不计算尝试次数
- 在C++不适用于猜数字游戏的情况下再次播放选项
- 在为我的基于文本的 RPG 游戏制作库存时遇到困难
- 在定义字符数组(井字游戏)的 for 循环中应用输入限制
- Frank Luna 在他的书"使用 DirectX12 进行 3D 游戏编程"的介绍中盒子示例的问题
- 当我使用CHAR_INFO结构时,控制台会无缘无故地改变颜色
- 如何在Linux上正确发布C++软件(游戏)
- 基于主机的游戏无缘无故地崩溃