私の割り当ては、基本的にゲームConnect-4ですが、ユーザーが行と列の数を指定するConnect-N用のプログラムを書くことです(doesn ' tは正方形でなければなりません)、連続するピースの数を指定します(これはボードに収まる必要はありません)。たとえば、ユーザーが3x3ボードを指定した場合、勝つために4つの連続した部分が必要であると言うこともできます。cで行のn連続した同じ文字を確認する方法
私は、ゲームが完全に水平にゲームに勝つ行勝利をチェックするプログラムを書くのに問題があります。ここで私がこれまで持っているものです。
bool horizontalWin(char **board, const int numRows,
const int numCols, const char blankSpace, const int numToWin) {
if((numCols - numToWin) < 0) {
return false;
}
else {
for (int row = 0; row < numRows; ++row) {
for (int col = 0; col <= numCols-numToWin; ++col) {
///This is where I need help
}
}
}
return false;
}
ただ、参考のために:変数blankSpaceは「*」で、ボード上の空白を示すために使用されます。
私の考えでは、彼らがすべて同じ文字だったかどうかを確認するために十分前方を確認した後、列0で開始し、ループの入れ子のを持っていることでしたが、私はこれを実現する方法を見つけ出すように見えることはできません。誰かが私を正しい方向に向けることができますか?
となり、ユーザは3x3のボードを指定した場合、彼らがすることもできます勝つためには4連勝が必要だ」と語った。 ???3つの連続した作品を意味しましたか? – chux
'board [0] [0]'で始まり、N個の同じ色の部分については、右上、右上、上、右下になります。次に、 'board [1] [0]'、 'board [2] [0]'、、... 'board [numCols-1] [0]'、次に 'numRows-1'行までの次の行。 – chux
'if((numCols - numToWin)<0)'は 'if(numCols