>> ZAMYLAちゃんのは15を楽しんでみましょう。
15は最初のゲームであること あなたが実装することを得る。
そして、それは対話だ。
今、心配しないように。
あなたが記述する必要はありません 全部自分で。
>> 分配コードを見る。
ので、そのゲームの構造の多く 既にあなたのために設定されています。
これは、コマンドラインを受け取り、解析し 利用者からの引数、および作成されます
ボードには、その入力に基づいて。
>> これは、ゲームに当選したかどうかをチェックして終了 ユーザーのゲームに勝ったら。
そして試合に勝つために、それを取得 ユーザからの入力と
移動機能を呼び出します。
だから我々は4を実装することになるだろう 15のゲーム機能 -
INIT、ドロー、移動、および獲得した。
>> 最初に、初期化に取り組むみましょう。
INITでは、初期化のために、我々は表現する 2D整数配列内のボード。
そして、これはと呼ばれるグローバル変数です 寸法マックスとマックスとボード、
ボードの最大寸法。
今、ボードの実寸 ユーザによって与えられたで表される
整数d、可能性 maxより小さいこと。
しかし、C言語では、配列のサイズを変更することはできません。
だから、そので立ち往生している 最大寸法。
>> INITでのあなたの仕事は、移入している ボードの値
正しい値で。
今、私たちは、1D配列を見てきました。
しかし、どのように2次元配列は、働いていますか？
行のインデックスがあります、 0インデックス、いつものように、と
その後、列の。
>> そして、あなたは内でグリッドを埋めるだろう ちょうどこのような値は、降順。
グリッド0、0、行0、列0は、8である。
グリッド0,1は7です。
これは、例えば、ある dは、少しdは3である。
今、15ボードも含まれている必要があります あなたがこれまでにプレイした場合は空白のタイル、
物理的なゲームで。
>> しかし、ボードは、整数配列である。
だから、すべての値は整数でなければならない。
だから、整数を決めるのはあなた次第です 空白のタイルを表現するための値。
>> あなたのボードを初期化するには、使用することができます 含有するループ構造
基板対基板の状態を開始 I、Jは、ある要素を表す
行i及び列j。
彼らは降順で開始します。
と覚えているかのタイルの数 奇数である場合、あなたはするつもりだ
場所を交換しなければならない 2の1の。
だから、我々は我々の初期化され、ボードを持っている。