私はJavaで小さな船の戦いのゲームを書こうとしています。
100%アカデミックで、再帰を練習するようにしたので、ほとんどの場合、より単純で効率的であっても、反復の代わりに使用したいと思います。
ビジネスに取り掛かりましょう。ルールは次のとおりです。
- 船の幅は1、2、または3セルで、水平方向にのみ配置されます。
- 水は0で表され、ヒットしていない船のセルは1、ヒットした船のセルは2、沈没した船のセルはすべて3になります。
これらのルールを設定して、テストに次の配列を使用しています。
int[][] board = new int[][]
{
{0, 1, 2, 0, 1, 0},
{0, 0, 1, 1, 1, 0},
{0, 3, 0, 0, 0, 0},
{0, 0, 2, 1, 2, 0},
{0, 0, 0, 1, 1, 1},
};
これまでのところかなりうまく機能しています。よりユーザーフレンドリーにするために、いくつかのレポートを追加したいと思います。これらは私がそれらに必要な方法です:
- 行列が与えられたら、その中の船の数を返します。
- a)と同じですが、状態(ヒットしていない船、ヒットした船、沈んだ船の数)ごとに分けています。
私はそれらの報告書を手に入れる必要があります、そして私はいくつかのアイデアを得たいと思います。
再帰を使用して実行する必要があることを忘れないでください。これを理解したいのですが、唯一の方法は練習です。
あなたの時間と忍耐に感謝します:)。