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の。 だから、我々は我々の初期化され、ボードを持っている。