4 x 4 の 16 タイルのうち、ひとつを空白にしてスライドできる状態にする必要があります。その空白をランダムに決定するために1から 16 までの乱数(ランダムな数値)が必要です。
乱数の生成に関してはメルセンヌツイスタという有名なアルゴリズムがあるのですが、たいしたゲームではないのでC言語の標準ライブラリを使うことにします。
まず stdlib.h をインクルードします。
#include <stdlib.h>
次に乱数の種を設定します。これを抜かすと規則のある乱数になってしまいゲームの仕様を満たしません。
// 現在の時間を乱数の種にする srand(timeGetTime());
乱数は rand() 関数で取得します。
rand();
乱数は広い範囲の数値を返すため0~nまでの数値を取得したい場合は次のように書きます。
// 100 はサンプルです rand() % 100; // 値が 0 ~ 99 の範囲になります
たまに使うテクニックです。
乱数が取得できましたので仕様を満たすことになります。
Contributions