□投稿者/ ムロジェク -(2002/01/20(Sun) 21:53:11)
□U R L/ |
潜水艦シューティングの最新版です。(メールマガジンで紹介されました!嬉しい!)今回、かねてからの目標だった敵潜水艦の動作と魚雷の動きの独立に成功しました!(多少スローがかかってしまいますが…今後の課題)これで、よりシューティングらしくなったと思います。そこで、仕様を少し変更し、魚雷のフラツキを無くし、敵を逃してしまうと弾数が2発減ってしまうようにして、敵の移動速度を3段階にランダムで分けました。ついでにタイトル画面とレベル選択を作成しました。以前提案された敵からの攻撃や背景変化はまたの機会に。背景変化は夕日が沈む所までは作ったのですがその先が難しいです…。 また何か改良案などが有れば書き込んでいただけると嬉しいです。
{---プログラム掲示板投稿フォーム--- 【ソフト名】Yellow Submarine(バージョン 1.10) 【作 成 者】ムロジェク 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.16 【転 件】可 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】有(hiscore.ini) 【コメント】 ハイスコアリセットボタンを初回に押した時かプログラム終了時に「hiscore.ini」というハイスコア記録用ファイルがプログラムと同じ場所に自動生成されます。必要無くなったら消してもかまいません。 ---投稿フォームここまで---}
'母艦の設定 母艦の、タイトルは、「Yellow Submarine」 母艦の、幅は、250 母艦の、高さは、150 母艦の、リサイズは、オフ 終了へ、終了処理設定 黒色で、画面クリア
'タイトル画面の作成(要らなければ*レベル選択前の待機まで消してかまいません。) 初期Y=-30 5で、画面フェードイン 0.1秒、待つ 黄色で、画面クリア タイトル1を、ラベルとして、作成 その、テキストは、「Yellow Submarine」 その、フォント色は、青色 その、フォントサイズは、20 その、Xは、12 その、Yは、初期Y 落下値を、0から、60まで、繰り返す( タイトル1の、Yは、初期Y+落下値 0.001秒、待つ ) スタートボタンを、ボタンとして、作成 その、テキストは、「PUSH START」 その、Xは、75 その、Yは、90 その、イベントは、レベル選択 待機
*レベル選択 母艦の、キー押した時は、「」 弾判定=オフ 移動速度=4 オブジェクト全破壊 5で、画面フェードイン 黄色で、画面クリア レベル選択ラベルを、ラベルとして、作成 その、テキストは、「LEVEL SELECT」 その、Xは、80 その、Yは、5
EASYボタンを、ボタンとして、作成 その、テキストは、「EASY:弾数40発 移動速度大」 その、Xは、1 その、Yは、30 その、幅は、250 その、イベントは、(弾数=40。レベル=EASY。移動速度=5。ワープ)
NORMALボタンを、ボタンとして、作成 その、テキストは、「NORMAL:弾数30発」 その、Xは、1 その、Yは、60 その、幅は、250 その、イベントは、(弾数=30。レベル=NORMAL。ワープ)
HARDボタンを、ボタンとして、作成 その、テキストは、「HARD:弾数20発」 その、Xは、1 その、Yは、90 その、幅は、250 その、イベントは、(弾数=20。レベル=HARD。ワープ)
ハイスコアリセットボタンを、ボタンとして、作成 その、テキストは、「ハイスコアリセット」 その、フォント色は、赤色 その、Xは、1 その、Yは、120 その、幅は、250 その、イベントは、( 「ハイスコアをリセットしますか」と、二択 もし、それが、はいならば、( 『hiscore.ini』の、INIファイル開く それ=0 『スコアデータ』の、『初級ハイスコア』へ、INIファイル書く 『スコアデータ』の、『中級ハイスコア』へ、INIファイル書く 『スコアデータ』の、『上級ハイスコア』へ、INIファイル書く INIファイル閉じる 「ハイスコアをリセットしました。」と、言う 待機 ) 違えば、待機 ) 待機
*ワープ オブジェクト全破壊 5で、画面フェードイン '変数の設定 A=0 cx=110 スコア=0 黄スイッチ=オフ 左キー = 37 右キー = 39 シフトキー=32 夕日Y1=5 夕日Y2=45 赤補正=0 緑補正=0
'INIファイルを読む 『hiscore.ini』の、INIファイル開く もし、レベル=EASYならば、『スコアデータ』の『初級ハイスコア』を、INIファイル読む もし、レベル=NORMALならば、『スコアデータ』の『中級ハイスコア』を、INIファイル読む もし、レベル=HARDならば、『スコアデータ』の『上級ハイスコア』を、INIファイル読む ハイスコア=それ INIファイル閉じる 背景処理
'スコア表示の設定 スコア表示を、ラベルとして、作成 その、テキストは、「SCORE {スコア}」 その、フォント色は、白色 その、フォントサイズは、9 その、Xは、190 その、Yは、0
'ハイスコア表示の設定 ハイスコア表示を、ラベルとして、作成 その、テキストは、「HI-SCORE {ハイスコア}」 その、フォント色は、白色 その、フォントサイズは、9 その、Xは、90 その、Yは、0
'弾数表示の設定 弾数ラベルを、ラベルとして、作成 その、テキストは、「弾数 {弾数}」 その、フォント色は、白色 その、フォントサイズは、9 その、Xは、5 その、Yは、0
'自機の設定 自機を、ラベルとして、作成 その、テキストは、「┻」 その、Xは、cx その、Yは、20
'弾の作成 弾を、ラベルとして、作成 その、テキストは、「━」 その、フォントサイズは、8 その、可視は、オフ
スタートラベルを、ラベルとして、作成 その、テキストは、「GAME START!」 その、フォント色は、白色 その、Xは、75 その、Yは、70 1秒、待つ スタートラベルの、オブジェクト破壊 母艦の、キー押した時を、キーイベントに、設定
'敵潜水艦の設定 潜水艦1を、ラベルとして、作成 その、テキストは、「┻」 *敵再出現 敵速度=乱数(2)+1 潜水艦Y=110+(乱数(5)-2)*10 黄判定=乱数(3)'黄潜水艦の出現率 もし、黄判定=0ならば、( 潜水艦1の、フォント色は、黄色 黄スイッチ=オン ) 違えば、潜水艦1の、フォント色は、青色 潜水艦1の、Xは、0 潜水艦1の、Yは、潜水艦Y 敵移動 待機
'自機の移動 *キーイベント もし、弾判定=オフなら、( もし、押されたキーが、右キーなら、( cx=cx+移動速度'自機の右への移動速度 もし、cx>235ならば、cx=235 自機の、Xは、cx 敵移動を、呼ぶ ) もし、押されたキーが、左キーなら、( cx=cx-移動速度'自機の左への移動速度 もし、cx<0ならば、cx=0 自機の、Xは、cx 敵移動を、呼ぶ ) もし、押されたキーが、シフトキーなら、( 弾数=弾数-1 もし、弾数<0ならば、弾数=0 弾数ラベルの、テキストは、「弾数 {弾数}」 弾判定=オン sx=cx sy=20 弾の、Xは、sx 弾の、Yは、sy 弾の、可視は、オン 敵移動 ) ) 違えば、戻る
*敵移動 潜水艦X=A 潜水艦1の、Xは、潜水艦X A=A+敵速度 0.001秒、待つ もし、A>260ならば、( 弾数=弾数-2 もし、弾数<0ならば、弾数=0 弾数ラベルの、テキストは、「弾数 {弾数}」 もし、弾数=0ならば、弾切れへ、飛ぶ A=0 敵再出現へ、飛ぶ ) もし、弾判定=オンならば、( sy=sy+5 弾の、Xは、sx 弾の、Yは、sy もし、sy>150ならば、( 弾の、可視は、オフ 弾の、Xは、0 弾の、Yは、0 弾判定=オフ 敵移動 ) 0.001秒、待つ もし、(潜水艦X-5<sx)かつ(sx<潜水艦X+5)ならば、('敵潜水艦の当たり判定 もし、潜水艦Y=syならば、( 弾の、可視は、オフ 弾の、Xは、0 弾の、Yは、0 潜水艦1の、フォント色は、赤色 潜水艦1の、テキストは、「ド」 0.1秒、待つ 潜水艦1の、テキストは、「カ」 0.1秒、待つ 潜水艦1の、テキストは、「ン」 0.1秒、待つ 敵破壊へ、飛ぶ ) ) ) 敵移動
*敵破壊 潜水艦1の、テキストは、「┻」 もし、黄スイッチ=オンならば、( 弾数=弾数+5 弾数ラベルの、テキストは、「弾数 {弾数}」 A=0 もし、弾数=0ならば、弾切れへ、飛ぶ 黄スイッチ=オフ ) 違えば、( スコア=スコア+10 スコア表示の、テキストは、「SCORE {スコア}」 A=0 もし、弾数=0ならば、弾切れへ、飛ぶ ) ) 弾判定=オフ 敵再出現へ、飛ぶ
*弾切れ 「魚雷が尽きてしまいました、GAMEOVER」と、言う 「再挑戦しますか?」と、二択 もし、それが、はいならば、( INI書き込む オブジェクト全破壊 レベル選択へ、飛ぶ ) 違えば、(INI書き込む。おわり)
*終了 INI書き込む おわり
*INI書き込む もし、ハイスコア<スコアならば、( 『hiscore.ini』の、INIファイル開く それ=スコア もし、レベル=EASYならば、『スコアデータ』の『初級ハイスコア』へ、INIファイル書く もし、レベル=NORMALならば、『スコアデータ』の『中級ハイスコア』へ、INIファイル書く もし、レベル=HARDならば、『スコアデータ』の『上級ハイスコア』へ、INIファイル書く INIファイル閉じる 戻る ) 違えば、戻る
'画面の設定 *背景処理 背景色=RGB(255,94,18) 背景色で、画面クリア 塗り色=白色 ペン色=白色 (48,夕日Y1)から、(98,夕日Y2)へ、円形 海赤緑=200 海深上=28 海深下=38 16回( 海色=RGB(海赤緑,海赤緑,255) 塗り色=海色 ペン色=海色 (0,海深上)から、(260,海深下)へ、四角形 海赤緑=海赤緑-10 海深上=海深上+10 海深下=海深下+10 ) 戻る |
|