画像(logo)

HOME/[C言語コンソール]ブロックパズルの作り方 目次/初日 ブロックパズルの考え方

広告

[C言語 コンソール ブロックパズルの作り方]
初日 ブロックパズルの考え方

広告

↓発売日:2018年09月22日↓

たった1日で基本が身に付く! C言語 超入門

新品価格
¥2,225から
(2018/10/8 23:10時点)

目次へ戻る

ブロックパズルの考え方

初日の今回はブロックパズル作りの大まかな流れだけを説明したいと思います!

まずはこちらの画像をご覧ください。

画像(cb_1_1)

こんな感じのブロックパズルの中身をのぞいて見ると・・・。

画像(cb_1_2)

こんな感じになっていたりします!

びっくりですね!

だいぶ見づらいですが、壁が「9」、ブロックが「1」、空間が「0」に置きかわってます!

この数字を使って計算する事でブロックパズル全体の動きを表現します。

もう少し詳しく見てみましょう!

2次元配列を平面にする

2次元配列を平面のようにとらえて数字を当てはめていきます。

ブロック・・・block[4][4]

ブロック情報を保存します。

ステージ・・・stage[23][18]

固まったブロックなど途中の状態を保存します。

フィールド・・・field[23][18]

ブロックとステージを合わせた画面に表示する前の状態を保存します。

※ステージとフィールドの幅がさきほどの画像より少し大きいのは後ほど説明いたします!

広告

数字を当てはめる

それぞれの役わりに数字を当てはめていきます。

「0」・・・何もない

「1」・・・ブロック

「9」・・・壁

この数字を使って落下、移動、回転、固定、クリアなどを計算していきます!

数字を置きかえて表示

「 」・・・何もない

「□」・・・ブロック

「■」・・・壁

表示する時にブロックなどに置きかえます!

置きかえて表示してみましょう!

ブロック(block[4][4])

0,0,0,0

0,1,1,0

0,1,1,0

0,0,0,0

↓表示↓

画像(cb_1_3)

ステージ(stage[23][18])

9,0,0,0,0,9

9,0,0,0,0,9

9,0,0,0,0,9

9,0,0,0,0,9

9,0,0,0,0,9

9,0,0,0,0,9

9,9,9,9,9,9

↓表示(省略版)↓

画像(cb_1_4)

フィールド(field[23][18])

9,0,0,0,0,9

9,0,0,0,0,9

9,0,0,0,0,9

9,0,1,1,0,9

9,0,1,1,0,9

9,0,0,0,0,9

9,9,9,9,9,9

↓表示(省略版)↓

画像(cb_1_5)

それぞれのパーツを重ね合わせて表示します。

ここで先ほどの「stage[23][18]」や「field[23][18]」の幅が少し大きい理由ですが、今回の作り方だと重ね合わせた時にブロックの種類によっては配列の端からはみ出てしまう(バッファオーバーフロー)ブロックが出てくるので、そのはみ出る分多めに配列の要素を確保したというワケです。

「移動、落下、固定、クリア、回転」の計算

移動

ブロックを表す「1」の左右が何もない「0」だったら移動させます。

落下

ブロックを表す「1」の下が何もない「0」だったら落下させます。

固定

ブロックを表す「1」の下が何もない「0」じゃなければ(壁・固定されたブロックだったら)ブロックを固定します。

クリア

横一列の何もない「0」の個数が0個だったら(ブロックで埋まっていたら)クリアします。

回転

先に回転後の仮のブロックを作って、そのブロックと重なる部分が全て何もない「0」だったら回転させます。

こんな感じの計算を組み合わせてブロックパズルを作っていきます。

では次回はさっそくブロックと壁を表示するプログラムを組んでみましょう。

次回

二日目 ブロックと壁を表示

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓発売日:2016年02月29日↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

新品価格
¥2,462から
(2018/10/8 23:25時点)

↓発売日:2018年06月22日↓

スッキリわかるC言語入門

新品価格
¥2,916から
(2018/10/8 23:15時点)

↓発売日:2018年03月09日↓

C言語本格入門 ~基礎知識からコンピュータの本質まで

新品価格
¥3,218から
(2018/10/8 23:16時点)

↓発売日:2017年06月14日↓

やさしいC 第5版 (「やさしい」シリーズ)

新品価格
¥2,700から
(2018/10/8 23:17時点)

↓発売日:2018年05月21日↓

作って身につく C言語入門

新品価格
¥2,462から
(2018/10/8 23:18時点)

↓発売日:2017年12月07日↓

新・標準プログラマーズライブラリ C言語 ポインタ完全制覇

新品価格
¥2,678から
(2018/10/8 23:19時点)

↓発売日:2017年02月08日↓

新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,700から
(2018/10/8 23:20時点)

↓発売日:2017年09月26日↓

かんたん C言語 [改訂2版] (プログラミングの教科書)

新品価格
¥2,916から
(2018/10/8 23:22時点)