{---プログラム掲示板投稿フォーム---
【ソフト名】ひまらいと (バージョン 1.00)
【作 成 者】kobachi (連絡先:kobachi@po4.across.or.jp)
【種 別】フリーソフトウェア
【ひまわりのバージョン】ver.1.17(特に関係なし)
【転 件】可(転載条件:ご自由に)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(点灯.bmp,消灯.bmp)
【コメント】
このプログラムを利用するには、点灯時の画像(縦30横30のビットマップ画像)と、
消灯時の画像(点灯時と同様)が、必要です。ペイントなどで適当に作成して、
ひまらいとと同じフォルダに保存してください。
---投稿フォームここまで---}
' ひまらいと Copyright(C) by open.doc 2002
'
' ■プログラムのポイント:
' イメージ「ランプXY」と、変数「ランプXYの状態」を同時に管理して、
' ランプの切り替えを行う。
*初期設定
' 母艦関連の設定
母艦の、可視は、オフ。
母艦の、サイズは、(200,200,364,384)。
母艦の、リサイズは、オフ。
母艦の、タイトルは、「ひまらいと」。
' 設定項目
点灯=「点灯.bmp」。 ' ファイルを指定(画像のサイズ:30×30)
消灯=「消灯.bmp」。 ' ファイルを指定(画像のサイズ:30×30)
*ゲームメニュー作成
' メニューの作成
ゲームメニューを、メニュー作成。
その、テキストは、「ゲーム(&G)」。
ゲームメニューに、開くメニューを、メニュー追加。
その、テキストは、「ゲームを開く(&O)」。
その、ショートカットキーは、「Ctrl+O」。
その、イベントは、ゲーム開く。
ゲームメニューに、保存メニューを、メニュー追加。
その、テキストは、「ゲームの保存(&S)」。
その、ショートカットキーは、「Ctrl+S」。
その、イベントは、ゲーム保存。
ゲームメニューに、区切り線を、メニュー追加。
その、テキストは、「-」。
ゲームメニューに、編集モードメニューを、メニュー追加。
その、テキストは、「編集モード(&E)」。
その、ショートカットキーは、「Ctrl+E」。
その、イベントは、編集モード切替。
*ランプ連続作成
X座標を、1から、5まで、繰り返す
(
Y座標を、1から、5まで、繰り返す
(
「ランプ{X座標}{Y座標}を、イメージとして、作成。」を、ひまわりする。
その、X=(32*X座標-27)。
その、Y=(32*Y座標-27)。
その、高さ=30。
その、幅=30。
その、イベントは、ランプ切り替え。
10の、乱数。' 乱数を発生させて、偶数なら点灯。奇数なら消灯。
もし、(それ%2)が、0なら、「ランプ{X座標}{Y座標}の、画像は、点灯。ランプ{X座標}{Y座標}の状態=点灯。」を、ひまわりする。
でなければ、「ランプ{X座標}{Y座標}の、画像は、消灯。ランプ{X座標}{Y座標}の状態=消灯。」を、ひまわりする。
)
)
母艦の、可視は、オン。
待機。
*ランプ切り替え
' 押されたランプの番号を判別する
押されたランプのX座標=(((イベントオブジェクトの、X)+27)/32)。
押されたランプのY座標=(((イベントオブジェクトの、Y)+27)/32)。
' 押されたランプを変える
変えるランプのX座標=押されたランプのX座標。
変えるランプのY座標=押されたランプのY座標。
ランプ書き換え実行を、呼ぶ。
' 編集モードなら、まわりのランプを変えずに、に戻る。
もし、(編集モードメニューの、値)が、オンなら、戻る。
' 押されたランプの右隣のランプを変える
もし、押されたランプのX座標が、1でなければ、
(
変えるランプのX座標=(押されたランプのX座標-1)。
変えるランプのY座標=押されたランプのY座標。
ランプ書き換え実行を、呼ぶ。
)。
' 押されたランプの左隣のランプを変える
もし、押されたランプのX座標が、5でなければ、
(
変えるランプのX座標=(押されたランプのX座標+1)。
変えるランプのY座標=押されたランプのY座標。
ランプ書き換え実行を、呼ぶ。
)。
' 押されたランプの上隣のランプを変える
もし、押されたランプのY座標が、1でなければ、
(
変えるランプのX座標=押されたランプのX座標。
変えるランプのY座標=(押されたランプのY座標-1)。
ランプ書き換え実行を、呼ぶ。
)。
' 押されたランプの下隣のランプを変える
もし、押されたランプのY座標が、5でなければ、
(
変えるランプのX座標=押されたランプのX座標。
変えるランプのY座標=(押されたランプのY座標+1)。
ランプ書き換え実行を、呼ぶ。
)。
戻る。
*ランプ書き換え実行
「ランプの状態=ランプ{変えるランプのX座標}{変えるランプのY座標}の状態。
もし、ランプの状態が、点灯なら、(ランプ{変えるランプのX座標}{変えるランプのY座標}の、画像は、消灯。ランプ{変えるランプのX座標}{変えるランプのY座標}の状態=消灯。)。
でなければ、(ランプ{変えるランプのX座標}{変えるランプのY座標}の、画像は、点灯。ランプ{変えるランプのX座標}{変えるランプのY座標}の状態=点灯。)。
」を、ひまわりする。
戻る。
*ゲーム開く
' ファイルの選択
HMLを、読込ファイル選択。
もし、それが、『』なら、戻る。
でなければ、ゲームファイルに、それを、読む。
' ファイルの解析+ランプへの適用
解析Y座標を、1から、5まで、繰り返す
(
読み込む行=(解析Y座標-1)。' 行は、0-4まで。1ずれる。
「ランプの状態=ゲームファイル#{読み込む行}。」を、ひまわりする。' 1行読み込み
ランプの状態を、『,』で、区切る。' 区切った結果は、「それ」に保存されるから
ランプの状態=それ。 ' ランプの状態に、「それ」を再代入する
解析X座標を、1から、5まで、繰り返す
(
読み込む要素=(解析X座標-1)。' 要素は、0-4まで。1ずれる。
「
もし、ランプの状態#{読み込む要素}が、1なら、(ランプ{解析X座標}{解析Y座標}の、画像は、点灯。ランプ{解析X座標}{解析Y座標}の状態=点灯。)。
でなければ、(ランプ{解析X座標}{解析Y座標}の、画像は、消灯。ランプ{解析X座標}{解析Y座標}の状態=消灯。)。
」を、ひまわりする。
)
)
戻る。
*ゲーム保存
' ファイル選択
HMLを、書込ファイル選択
もし、それが、『』なら、戻る。
ゲームファイル=それ。
' ランプ状態の解析
ランプの状態=『』。' 変数を初期化
解析Y座標を、1から、5まで、繰り返す
(
解析X座標を、1から、5まで、繰り返す
(
「
もし、ランプ{解析X座標}{解析Y座標}の状態が、点灯なら、ランプの状態=ランプの状態&『1,』。
でなければ、ランプの状態=ランプの状態&『0,』。
」を、ひまわりする。
)
ランプの状態=ランプの状態&「\n」。' 改行を挿入
)
ランプの状態を、ゲームファイルへ、保存。
戻る。
*編集モード切替
もし、(編集モードメニューの、値)が、オンなら、編集モードメニューの、値は、オフ。
でなければ、編集モードメニューの、値は、オン。
戻る。
|