C++ 战舰游戏C++;,放置用户输入的船只
我试图找出如何在战舰游戏中放置用户输入的船只。x和y整数是10x10板上的位置。水平方向为0,垂直方向为1。船的长度显然是船的长度(从2到5)。如果船不能放在10x10板上,我想返回false,如果那里有另一艘船,我也不能放在那里。非常感谢您的帮助C++ 战舰游戏C++;,放置用户输入的船只,c++,C++,我试图找出如何在战舰游戏中放置用户输入的船只。x和y整数是10x10板上的位置。水平方向为0,垂直方向为1。船的长度显然是船的长度(从2到5)。如果船不能放在10x10板上,我想返回false,如果那里有另一艘船,我也不能放在那里。非常感谢您的帮助 bool userboat(char boatArray[][BOARD_SIZE],int x, int y, int orientation, int boat_length){ for(int yy = 0; yy < BOARD
bool userboat(char boatArray[][BOARD_SIZE],int x, int y, int orientation, int boat_length){
for(int yy = 0; yy < BOARD_SIZE; yy++){
for(int xx = 0; xx < BOARD_SIZE; xx++){
if(yy == y && xx == x){
boatArray[yy][xx] = 'B';
if(orientation == 0){
if(x+boat_length< BOARD_SIZE){
for(int boat = 0; boat<boat_length; boat++){
boatArray[yy][boat] =BOAT;
}
}else{
return false;
break;
}
}
}else{
if(yy+boat_length< BOARD_SIZE){
for(int boat = 1; boat<boat_length; boat++){
boatArray[boat][yy] =BOAT;
}
}else{
return false;
break;
}
}
}
}
return true;
}
bool用户船(char boatArray[][板大小],整数x,整数y,整数方向,整数船长){
用于(int-yy=0;yy 对于(int boat=0;boat您需要更改以下代码:
boatArray[yy][boat] = BOAT;
致:
让我们看一个简单的例子。如果我们想把船放在位置(2,2),我们循环整个2D数组直到到达xx==2&&yy==2,对吗?
好的。现在我们检查这个位置(boatArray[yy][xx])是否为空(您应该实现它)。如果为空,我们进行计算,看看是否可以将船放置在阵列中。
现在,您的循环如下所示:
for(int boat = 0; boat<boat_length; boat++)
boatArray[yy][boat] = BOAT;
编辑:另一个循环也是如此。那么,你的实际问题是什么?哪个部分不工作,或者你不知道如何检查这些条件?整个代码工作不正常,返回的值不正确。这是我尝试的解决方案,但我想不出任何其他方法。听起来你可能需要学习如何使用调试器逐步完成代码。有了一个好的调试器,你可以逐行执行你的程序,看看它偏离了你的预期。如果你要做任何编程,这是一个必不可少的工具。进一步阅读:你不需要在整个电路板上搜索给你的坐标。我I’我投票结束这个问题,因为这是一个关于家庭作业的问题,除了提问者之外,对任何人都没有用处。
for(int boat = 0; boat<boat_length; boat++)
boatArray[yy][boat] = BOAT;
boatArray[yy][xx + boat] = BOAT;