ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE 最新潜水艦 /ムロジェク (02/01/20(Sun) 21:53) [260]
......MESSAGE 感想 /クジラ飛行机 (02/01/21(Mon) 11:08) [266]
......MESSAGE Re[1]: 最新潜水艦 /tosimiti (02/01/21(Mon) 18:43) [271]
......MESSAGE 追加報告的な事。 /ムロジェク (02/01/21(Mon) 20:10) [272]


親記事 / ▼[ 266 ] ▼[ 271 ] ▼[ 272 ]
NO.260  最新潜水艦
□投稿者/ ムロジェク -(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
)
戻る



▲[ 260 ] / 返信無し
NO.266  感想
□投稿者/ クジラ飛行机 -(2002/01/21(Mon) 11:08:35)
□U R L/ http://www.text2music.com
さっそくバージョンアップして、より面白くなってますね。
タイトル画面で、ロゴが!!!
ちょっとしたことですが、こういう心遣いが、面白さにつながってるんですよね。




▲[ 260 ] / 返信無し
NO.271  Re[1]: 最新潜水艦
□投稿者/ tosimiti -(2002/01/21(Mon) 18:43:20)
□U R L/
いいですね。

夢中になって、爆雷を落としちゃいます。はずれが多いとき連射がほしくなります

爆雷が落ちているあいだは、移動できないんですね。早い潜水艦にはよく逃げられてしまいます。全部撃沈してたらゲームじゃなくなってしまいますが。

潜水艦は、左からしか出れないのでしょうか?

題名なんですが、潜水艦を攻撃しているので、「駆逐艦」?では・・。
それとも、潜水艦が主役かな?とか思っちゃいました。気にしないでください。



▲[ 260 ] / 返信無し
NO.272  追加報告的な事。
□投稿者/ ムロジェク -(2002/01/21(Mon) 20:10:27)
□U R L/
前に書いた通り、魚雷を発射した時にスローがかかってしまっていたのですが、実は1文余計な命令を書いていたことに気付きました。*敵移動ラベルの下に2つ「0.001秒、待つ」という命令があると思いますので、下にある方(プログラムを投稿フォームからそのまま貼り付けたなら239行目になると思います)を消してみてください。スローが殆どかからなくなります。(でも難易度上がっちゃうかな…)
僕はダイアルアップ接続なので料金の都合上(笑)今月はもうここに来れないかも知れませんがまた何か作ったら書き込みたいと思います。

>クジラさん
プログラムにタイトル画面を付けるのが僕の習慣になって来ているようです。実際は邪魔じゃないかな…何て事を考えたりもするのですがそう言ってもらえると嬉しいです。

>tosimitiさん
魚雷を落としてる間に移動できないのは実はプログラム上の都合です。命令の繰り返しをしている間にキーが入力されると繰り返しが中断されてしまうのでその間はキー入力を受け付けないようにして誤魔化していたのですが、移動できた方が面白いですね。考えてみます。
あと、潜水艦を右から出す事は可能です、しかし左右ランダムは少し難しいです。
題名に関しては…確かに。(笑)しかし試作段階からこの名前なので何と無く愛着も有るのでこのままで行きます。



- Child Tree -