9x3サブアレイに分割された9x9アレイを含む究極のTic Tac Toゲームを作成するために、 各サブアレイは次のように番号付けされている:例えば、ユーザが2つのパラメータ、 を入力した場合、それは、9×9のマトリクスのセルに移行する(又はバック与えること 9x3アレイに9x3アレイに分割された要素のインデックスを見つける
及びI関数を作成しますインデックス)。 例えば2,2を入力すると2番目の3x3行列に行き、そこで2番目のセルに行きます。つまり、9x9行列のセル[0,4]になります。 私はC言語でコードを書いています。 私が結論づけたのは、多くのループを使って大きな機能を作って、直接私を望むセルに連れて行っていることですが、あまりにも私が思うに、それを簡単にすることができてうれしいです。
次のコードは、私が行ったことのちょうど始まりです。私は9x9マトリックスを3列に分割し、ユーザがサブ配列のために選択した1~9の数値に従って列を処理するたびに そこでは、各サブアレイが適切な場所を見つけるための一連の関数に行きます。その複雑すぎると、長いと、それは私のコードの問題thatsなぜ私は代替を探しています。
INT Insert_Move(チャープレーヤー、チャーはGameBoard [行] [列]、INT chosen_pos、 INT next_subboard)
{
if(next_subboard == 3 || next_subboard == 6 || next_subboard == 9)
return First_Column_9x9(player,GameBoard,chosen_pos,next_subboard);
if(next_subboard == 2 || next_subboard == 5 || next_subboard == 8)
return Second_Column_9x9(player,GameBoard,chosen_pos,next_subboard);
if(next_subboard == 1 || next_subboard == 4 || next_subboard == 7)
return Third_Column_9x9(player,GameBoard,chosen_pos,next_subboard);
return 1; /*success */
}
をあなたがしようとしているコードを投稿してください、あなたが問題に実行していると指摘。 –
a)これまで行ったことを私に見せてください。 b)Cエキスパートではありませんが、私は考えています: オブジェクトの3x3配列を使用し、各オブジェクトは3x3arrayです 2次元配列にベクトルとしてアクセスできると思います。 2,2を与えると2番目の(3x3配列)オブジェクトを得ることができ、2番目の数(2)で実際のセルを得るでしょう –
私はしました。私はsmiplerアルゴリズムを探しています。それは数学だけですが、適切な数式を把握することはできません。 –