メソッド MainProgram.prototype.hSet - Ryo-9399/mc_canvas GitHub Wiki

概要

指定座標(ブロック単位)の位置に、指定したコードのハテナブロックを設置します。

構文

MainProgram.prototype.hSet = function(blockX, blockY, code)

引数

引数名 概要
blockX number (整数) 設置先のX座標(ブロック単位)
blockY number (整数) 設置先のY座標(ブロック単位)
code number (整数) 設置するハテナブロックのコード

詳細

blockX、_blockY_は、ブロック単位の座標値が入ります。例えば、画面を左上端にスクロールしたとき、その画面内で最も左上の位置が(blockX, blockY)=(0, 0)です。

このメソッドは、配列co_hの要素のプロパティを書き換えます。先頭から未使用の要素(co_h[i].c === 0に合致する要素)を検索し、最初に見つかった要素のプロパティに、次のように引数の値を代入します。

co_h[i].c = code;
co_h[i].x = blockX;
co_h[i].y = blockY;

codeの詳細

各_code_の値に対する、ハテナブロックを叩いた時の挙動を以下の表に示します。

code値 主な処理 挙動
100 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2000) コインが1枚出る
200 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2010)[mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2020)[mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2000) コインが3枚出る
300 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2100) アイテム(ファイヤーボール)が出る
400 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2110) アイテム(バリア)が出る
500 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2120) アイテム(タイム)が出る
600 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2130) アイテム(ジェット)が出る
700 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2140) アイテム(ヘルメット)が出る
800 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2150) アイテム(しっぽ)が出る
900 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2160) アイテム(ドリル)が出る
1000 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2170) アイテム(グレネード)が出る
1100 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2180) アイテム(1UP)が出る
2000 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX + i, blockY, 20) (i=1~10) 右にブロック1が10個出る
2100 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX - i, blockY, 20) (i=1~10) 左にブロック1が10個出る
2200 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - i, 10) (i=1~10) 上にハシゴが10個出る
2300 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - i, 20) (i=1~10) 上にブロック1が10個出る
2400 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - i, 20) (i=1~2) 上にブロック1が2個出る
2500 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX + i, blockY, 20) (i=1~2) 右にブロック1が2個出る
2600 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX - i, blockY, 20) (i=1~2) 左にブロック1が2個出る
2700 [aSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.aSet)(blockX * 32, blockY * 32 - 32, 700, blockX * 32) ジャンプ台が出る
2800 [maps](/Ryo-9399/mc_canvas/wiki/プロパティ-MainProgram.prototype.maps).[putBGCode](/Ryo-9399/mc_canvas/wiki/メソッド-MapSystem.prototype.putBGCode)(blockX, blockY - 1, 5) トゲが出る
2900 周囲10マスのトゲをコインに変換
3000 周囲10マスのトゲをブロック1に変換
3100 周囲10マスのブロック1をコインに変換
3200 周囲10マスのブロック4を消去
3300 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2186) アイテム(水平に飛ぶファイヤーボール)が出る
3400 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2187) アイテム(跳ねるファイヤーボール)が出る
3500 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2188) アイテム(ダブルファイヤーボール)が出る
3600 右にブロック1破壊砲発射
3700 左にブロック1破壊砲発射
3800 上にブロック1破壊砲発射
3900 下にブロック1破壊砲発射
4000 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2171) アイテム(グレネード5発)が出る
4100 [mSet](/Ryo-9399/mc_canvas/wiki/メソッド-MainProgram.prototype.mSet)(blockX * 32, blockY * 32 - 32, 2172) アイテム(コンティニュー)が出る
4200 周囲10マスにスイッチONの影響を与える
4300 周囲10マスにスイッチOFFの影響を与える
4400 周囲5マスにスイッチONの影響を与える
4500 周囲5マスにスイッチOFFの影響を与える