Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

15パズル

2018/02/12 15:12:02

15パズル

永谷 弘宣

永谷 弘宣

『15パズル』は、駒を移動させて目的の配置まで持っていくパズルゲームです。

【ルール】
縦 4 x 横 4 の 16 マスのスペースに、 1 ~ 15 の数字が書かれた 15 個の駒が配置されています。
1 マスの空白を利用して駒をスライドさせ、駒を移動することができます。
駒が下記の配置となればゲームクリアです。

  1 2 3 4
  5 6 7 8
  9 10 11 12
  13 14 15

【操作】
矢印 : 現在位置を移動させる(現在位置は "*" で示されています)
SPACE : 駒をスライドして移動させる

【更新履歴】
2018/02/12 初版公開
2018/02/15 駒の初期配置がゲームクリア不可能な配置にならないよう修正(Thanks to IchigoJam-FAN の皆様)
2018/02/28 初期化時にビデオ出力をオフにしないよう修正(Thanks to Kidspod運営チーム様)

【ソースコード解説】
《変数》
C : Character, 現在位置を示すキャラクタ
P : Position, 現在位置( 0 ~ 15 )
S : Space, 空白位置( 0 ~ 15 )
K : Key, キー入力値
R : Random, 一時変数(駒の配置を崩すために利用)
T : Temporary, 一時変数(駒の移動に利用)
U,V : 一時変数(駒を移動できるかどうかの判定に利用)
Z : 一時変数(ゲームクリアの判定に利用)
I,J,L : Iterator, ループ変数

《配列》
[0] ~ [15] : 駒の配置

《コード》
5 : タイトル
10 : 初期化
20 : 駒の枠の定義
30 : 空白の定義
40 : 駒の初期配置
50 ~ 70 : 駒の配置を崩す
80 : ゲーム開始時の初期設定
90 : キー入力受付
100 : SPACEキー押下時の処理
110 : 矢印キー押下時の処理
120 ~ 150 : 駒を移動できるかどうかの判定
160 : 駒の移動
170 ~ 180 : 駒の描画
190 : 現在位置の描画
200 : ゲームクリア判定

GOOD

Programmers marked as favorites.2 programmers

toro
toro
2019/03/15 16:00:38
Kidspod運営チーム
Kidspod運営チーム
2018/02/23 17:57:12