誰かが私を助けてくれるかどうか疑問に思っています。私は、コンピューターがランダムな4桁のコードを生成するゲームを持っています。各桁は0から5の範囲です。次に、ユーザーはこのコードを推測し、コンピューターは文字列に出力する配列を返します。配列には、正しい場所にある正しい数字である推測のすべての数字に6、正しい数字であるが間違った場所にある推測の各数字に7、最後に完全に間違った数字に5が含まれている必要があります。
たとえば、コードが0143
で、ユーザーの推測が0451
の場合、配列は6775である必要があります。
これは、0が完全に正しく、1と4がコードに含まれているが、間違った場所で推測され、5が完全に正しくないためです。また、各桁は配列の別々の部分にあります。
これは私がこれまでに持っているものです:
for (int i = 0; i < 4; i++) {
if (combo[i] == guess[i]) {
Pegs[peg] = 6;
peg++;
}
}
for (int i = 0; i < 4; i++) {
for (int x = 0; x < 4; x++) {
if (guess[i] == combo[x] && guess[i] != combo[i]) {
Pegs[peg] = 7;
peg++;
}
}
}
for (int i = 0; i < 4; i++) {
if (Pegs[i] == 0) {
Pegs[i] = 5;
}
}
配列guessはユーザーの推測を格納し、配列コンボは正しいコードであり、Pegs []は比較された配列が格納される場所であり、intpegは値を配列のどこに格納するかを示します。これに伴う問題は、配列が常に正しく実行に戻るとは限らないことです。