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

MESSAGE 旗揚げゲーム /ムロジェク (02/01/09(Wed) 23:57) [120]
......MESSAGE Re[1]: 旗揚げゲーム /クジラ飛行机 (02/01/10(Thu) 06:55) [122]


親記事 / ▼[ 122 ]
NO.120  旗揚げゲーム
□投稿者/ ムロジェク -(2002/01/09(Wed) 23:57:32)
□U R L/
赤上げて!白下げて!の、旗揚げゲームを作ってみました。
キーボードの左キーで赤旗の上下、右キーで白旗の上下、下キーで現状維持(今のままでいい時)です。正しい行動をするとスコアが10増えます。
間違えたり関係ない色の旗を動かすとミスになります。時間制限は有りません。
今回ハイスコア記録機能は作っていません。(^ ^ ;

※このプログラムには、キーを押しっぱなしにしているとスコアが増えつづけてしまうというバグが有ります。キーは1回だけポンと押すようにして下さい。誰か修正する方法を思いついたら教えて下さい。

それでは以下、プログラム本文です。

'-------------------------------------------------------
'旗揚げ風ゲーム
'-------------------------------------------------------

'母艦の設定
母艦の、タイトルは、「旗揚げ風ゲーム」
母艦の、幅は、300
母艦の、高さは、200
母艦の、リサイズは、オフ
黒色で、画面クリア

'タイトルの作成(手抜き、ボタン以外いりません)
タイトルを、ラベルとして、作成
その、テキストは、「旗揚げゲーム」
その、フォント色は、白色
その、フォントサイズは、35
その、Xは、10
その、Yは、40

開始ボタンを、ボタンとして、作成
その、テキストは、「ゲーム開始」
その、フォントサイズは、11
その、イベントは、ゲームスタート
その、Xは、70
その、Yは、140
その、幅は、150
待機

*ゲームスタート
タイトルの、オブジェクト破壊
開始ボタンの、オブジェクト破壊
*リセット
母艦の、キー押した時を、キーイベントに、設定。

'キー設定
赤キー=37
白キー=39
現状維持キー=40

'変数設定
右入力=右下
左入力=左下
右正解=右下
左正解=左下
赤旗=オフ
白旗=オフ
スコア=0

'台詞の設定
右上げる台詞#0=「赤上げて」
右上げる台詞#1=「赤下げない」

右下げる台詞#0=「赤下げて」
右下げる台詞#1=「赤上げない」

左上げる台詞#0=「白上げて」
左上げる台詞#1=「白下げない」

左下げる台詞#0=「白下げて」
左下げる台詞#1=「白上げない」

'旗揚人の作成
センタリング
顔を、ラベルとして、作成
その、Xは、130
その、Yは、50
その、テキストは、「○」
その、フォント色は、白色
その、フォントサイズは、20

胴体を、ラベルとして、作成
その、Xは、128
その、Yは、73
その、テキストは、「□」
その、フォント色は、白色
その、フォントサイズは、24

両足を、ラベルとして、作成
その、Xは、126
その、Yは、95
その、テキストは、「∧」
その、フォント色は、白色
その、フォントサイズは、28

右手上を、ラベルとして、作成
その、Xは、100
その、Yは、50
その、テキストは、「\」
その、フォント色は、白色
その、フォントサイズは、25
その、可視は、オフ

右手下を、ラベルとして、作成
その、Xは、100
その、Yは、75
その、テキストは、「/」
その、フォント色は、白色
その、フォントサイズは、25
その、可視は、オン

左手上を、ラベルとして、作成
その、Xは、153
その、Yは、50
その、テキストは、「/」
その、フォント色は、白色
その、フォントサイズは、25
その、可視は、オフ

左手下を、ラベルとして、作成
その、Xは、153
その、Yは、75
その、テキストは、「\」
その、フォント色は、白色
その、フォントサイズは、25
その、可視は、オン

右手上旗を、ラベルとして、作成
その、Xは、80
その、Yは、50
その、テキストは、「■」
その、フォント色は、赤色
その、フォントサイズは、20
その、可視は、オフ

右手下旗を、ラベルとして、作成
その、Xは、80
その、Yは、98
その、テキストは、「■」
その、フォント色は、赤色
その、フォントサイズは、20
その、可視は、オン

左手上旗を、ラベルとして、作成
その、Xは、180
その、Yは、50
その、テキストは、「■」
その、フォント色は、白色
その、フォントサイズは、19
その、可視は、オフ

左手下旗を、ラベルとして、作成
その、Xは、180
その、Yは、98
その、テキストは、「■」
その、フォント色は、白色
その、フォントサイズは、19
その、可視は、オン

'表示ラベルの作成
表示ラベルを、ラベルとして、作成
その、テキストは、「スタート」
その、フォント色は、白色
その、Xは、115
その、Yは、170

スコアラベルを、ラベルとして、作成
その、テキストは、「SCORE{スコア}」
その、フォント色は、白色
その、Xは、230
その、Yは、10

判定を、呼ぶ
待機

*キーイベント
もし、押されたキーが、赤キーならば、(
   もし、赤旗=オフならば、(
      右手上の、可視は、オン
      右手上旗の、可視は、オン
      右手下の、可視は、オフ
      右手下旗の、可視は、オフ
      赤旗=オン
      右入力=右上
      もし、右正解=右入力ならば、(
         スコア=スコア+10
         スコアラベルの、テキストは、「SCORE{スコア}」
         表示ラベルの、テキストは、「OK!」
         0.8秒、待つ
      )
      違えば、(
         表示ラベルの、テキストは、「OH、NO!」
         0.8秒、待つ
         ゲームオーバーへ、飛ぶ
      )
      判定を、呼ぶ
      待機
   )
   もし、赤旗=オンならば、(
      右手上の、可視は、オフ
      右手上旗の、可視は、オフ
      右手下の、可視は、オン
      右手下旗の、可視は、オン
      赤旗=オフ
      右入力=右下
      もし、右正解=右入力ならば、(
         スコア=スコア+10
         スコアラベルの、テキストは、「SCORE{スコア}」
         表示ラベルの、テキストは、「OK!」
         0.8秒、待つ
      )
      違えば、(
         表示ラベルの、テキストは、「OH、NO!」
         0.8秒、待つ
         ゲームオーバーへ、飛ぶ
      )
      判定を、呼ぶ
      待機
   )
)
もし、押されたキーが、白キーならば、(
   もし、白旗=オフならば、(
      左手上の、可視は、オン
      左手上旗の、可視は、オン
      左手下の、可視は、オフ
      左手下旗の、可視は、オフ
      白旗=オン
      左入力=左上
      もし、左正解=左入力ならば、(
         スコア=スコア+10
         スコアラベルの、テキストは、「SCORE{スコア}」
         表示ラベルの、テキストは、「OK!」
         0.8秒、待つ
      )
      違えば、(
         表示ラベルの、テキストは、「OH、NO!」
         0.8秒、待つ
         ゲームオーバーへ、飛ぶ
      )
      判定を、呼ぶ
      待機
   )
   もし、白旗=オンならば、(
      左手上の、可視は、オフ
      左手上旗の、可視は、オフ
      左手下の、可視は、オン
      左手下旗の、可視は、オン
      白旗=オフ
      左入力=左下
      もし、左正解=左入力ならば、(
         スコア=スコア+10
         スコアラベルの、テキストは、「SCORE{スコア}」
         表示ラベルの、テキストは、「OK!」
         0.8秒、待つ
      )
      違えば、(
         表示ラベルの、テキストは、「OH、NO!」
         0.8秒、待つ
         ゲームオーバーへ、飛ぶ
      )
      判定を、呼ぶ
      待機
   )
)
もし、押されたキーが、現状維持キーならば、(
   もし、右正解=右入力&&左正解=左入力ならば、(
      スコア=スコア+10
      スコアラベルの、テキストは、「SCORE{スコア}」
      表示ラベルの、テキストは、「OK!」
      0.8秒、待つ
   )
   違えば、(
      表示ラベルの、テキストは、「OH、NO!」
      0.8秒、待つ
      ゲームオーバーへ、飛ぶ
   )
   判定を、呼ぶ
   待機
)

待機

*判定
乱数(4)
もし、それ=0ならば、(
   n=乱数(2)
   表示ラベルの、テキストは、右上げる台詞#n
   右正解=右上
)
もし、それ=1ならば、(
   n=乱数(2)
   表示ラベルの、テキストは、右下げる台詞#n
   右正解=右下
)
もし、それ=2ならば、(
   n=乱数(2)
   表示ラベルの、テキストは、左上げる台詞#n
   左正解=左上
)
もし、それ=3ならば、(
   n=乱数(2)
   表示ラベルの、テキストは、左下げる台詞#n
   左正解=左下
)
戻る

*ゲームオーバー
「再チャレンジしますか?」と、二択
もし、それが、はいならば、(   
   オブジェクト全破壊
   リセットへ、飛ぶ。
)
違えば、終わり。



▲[ 120 ] / 返信無し
NO.122  Re[1]: 旗揚げゲーム
□投稿者/ クジラ飛行机 -(2002/01/10(Thu) 06:55:29)
□U R L/ http://www.text2music.com
これも、面白いです!
シュールなキャラがGOODです。

>このプログラムには、キーを押しっぱなしにしているとスコアが増えつづけてしまう

前回押されたキーと、前回押された時間を覚えておくとか、どうでしょうか。
でも、時間だと、秒単位になってしまうので、これはなかなか難しいですね。




- Child Tree -