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

MESSAGE NO TITLE /のぐちゃん (02/03/29(Fri) 17:53) [680]
......MESSAGE タイトルをつけるの忘れたぁ!!! /のぐちゃん (02/03/29(Fri) 17:56) [681]
............MESSAGE タイトルを付け忘れたときは… /kobachi (02/03/29(Fri) 23:29) [682]
..................MESSAGE 頻繁に更新するときは… /moka (02/03/30(Sat) 00:58) [683]
......MESSAGE 何でも崩せる? /ムロジェク (02/03/30(Sat) 09:15) [685]
............MESSAGE 俺もやりました。 /のぐちゃん (02/03/30(Sat) 10:23) [686]


親記事 / ▼[ 681 ] ▼[ 685 ]
NO.680  NO TITLE
□投稿者/ のぐちゃん -(2002/03/29(Fri) 17:53:52)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】ボタン崩し1 (バージョン 1.01)
【作 成 者】のぐちゃん (連絡先:kazutosi101@msn.com)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.34
【転  載】可(転載条件:ご自由に)
【改変運用】可(投稿したプログラムを他人が改造し運用することを許すか)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(scoredata.ini)
【コメント】ホットキーがあるので、起動したらF1を押してください。
---投稿フォームここまで---}
'母艦の設定
終了ラベルに、終了処理設定
白色で、画面クリア
母艦の、タイトルは、「ボタン崩し」
母艦の、幅は、200
母艦の、高さは、300
母艦の、リサイズは、オフ
母艦の、キー押した時を、キーイベントに、設定
文字サイズ=20
母艦の、(20,60)へ、「ボタン崩し」と、文字描画
文字サイズ=9
文字書体=「MS ゴシック|傾斜」
母艦の、(65,170)へ、「ロード中...」と、文字描画
文字書体=「MS ゴシック」
母艦の、(40,200)へ、「日本語入力システム\nをオフにしましょう」と、文字描画

1秒、待つ

クリア回数=0
スコア=0
基本速度=4
文字書体=「MS Pゴシック」
青色で、画面クリア
'背景描画
100回(
   文字色=RGB(乱数(256),乱数(256),乱数(256))
   位置=「({乱数((母艦の、幅))},{乱数((母艦の、高さ))+20})」
   母艦の、位置へ、「ボタン崩し」と、文字描画。
)

*リトライ

'メニュー作成

'キー設定
右キー=39
左キー=37
発射キー=32
発射キーその2=13
発射キーその3=38
初期化キー=113
終了キー=27
ヘルプキー=112
'変数設定
自機X=80
自機Y=260
ボールX=97
ボールY=252
ボール状態=0
ボール発射=オフ
ブロック番号=0
ブロックX=33
ブロックY=50
ブロック色=赤色
色カウンタ=0
残りブロック数=21
COMBO=1
反射回数=0
ベクトルX=基本速度/2
ベクトルY=基本速度/2

'INIの設定
『scoredata.ini』の、INIファイル開く
『score』の、『hi-score』を、INIファイル読む
ハイスコア=それ
INIファイル閉じる

'スコアラベルの作成
スコアラベルを、ラベルとして、作成
その、フォント色は、白色
その、テキストは、「スコア:{スコア}」
その、フォントサイズは、10
その、Yは、2

'ハイスコアラベルの作成
ハイスコアラベルを、ラベルとして、作成
その、フォント色は、白色
その、テキストは、「ハイスコア:{ハイスコア}」
その、フォントサイズは、10
その、Xは、110
その、Yは、2

'COMBOラベルの作成
COMBOラベルを、ラベルとして、作成
その、フォント色は、白色
その、テキストは、「{COMBO}回、COMBO!」
その、フォントサイズは、9
その、Xは、150
その、Yは、30
その、可視は、オフ

'枠線描画
ペン色=白色
(0,20)へ、移動
(200,20)へ、線

'バーの作成
自機バーを、ラベルとして、作成
その、テキストは、「|〓〓|」
その、フォント色は、赤色
その、フォントサイズは、8
その、Xは、自機X
その、Yは、自機Y

'ボールの作成
ボールを、ラベルとして、作成
その、テキストは、「●」
その、フォント色は、黄色
その、フォントサイズは、8
その、Xは、ボールX
その、Yは、ボールY

'ブロックの作成
ブロックX=33
ブロックY=50
21回(
   「ブロック{ブロック番号}を、ボタンとして、作成」を、ひまわりする
   その、テキストは、「■」
    その、フォントサイズは、12
    その、フォント色は、ブロック色
   その、幅は、20。
    その、高さは、20。
    その、Xは、ブロックX
   その、Yは、ブロックY
   判定X#ブロック番号=ブロックX
   判定Y#ブロック番号=ブロックY
   ブロック番号=ブロック番号+1
   ブロックX=ブロックX+20
   
   '7個並べたら次の行に移る。
   もし、ブロック番号%7=0ならば、(
          もし、色カウンタ=0ならば、ブロック色=黄色
         もし、色カウンタ=1ならば、ブロック色=青色
      ブロックX=33
      ブロックY=ブロックY+20
         色カウンタ=1
   )
)

待機

*キーイベント

'左右移動設定
もし、押されたキーが、右キーならば、(
   自機X=自機X+10
   もし、自機X>160ならば、自機X=160
   自機バーの、Xは、自機X
   ボール状態で、条件分岐。
   右上の時、ボール移動右上
   右下の時、ボール移動右下
   左上の時、ボール移動左上
   左下の時、ボール移動左下
   0の時、(
      ボールX=ボールX+10
      もし、ボールX>178ならば、ボールX=178
      ボールの、Xは、ボールX
   )
   待機
)
もし、押されたキーが、左キーならば、(
   自機X=自機X-10
   もし、自機X<0ならば、自機X=0
   自機バーの、Xは、自機X
   ボール状態で、条件分岐。
   右上の時、ボール移動右上
   右下の時、ボール移動右下
   左上の時、ボール移動左上
   左下の時、ボール移動左下
   0の時、(
      ボールX=ボールX-10
      もし、ボールX<18ならば、ボールX=18
      ボールの、Xは、ボールX
   )
   待機
)
もし、押されたキーが、初期化キーならば、(
   スコア=0
   基本速度=4
   オブジェクト全破壊
   リトライへ、飛ぶ
)

もし、押されたキーが、終了キーならば、終わる。

もし、押されたキーが、ヘルプキーならば、(
文字書体=「MS ゴシック||10」。
文字色=10
「      ボタン崩しのコマンド      
ESC:終了         ↑:ボールを発射
F1:ヘルプを表示      Space:ボールを発射
F2:初期化         
→:右に移動         
←:左に移動         
Enter:ボールを発射   」と、言う。
)

'ボールの発射
もし、押されたキーが、発射キーならば、(
   もし、ボール発射=オフならば、(
      ボール発射=オン
      ボール移動右上
   )
   違えば、戻る
)
もし、押されたキーが、発射キーその2ならば、(
   もし、ボール発射=オフならば、(
      ボール発射=オン
      ボール移動右上
   )
   違えば、戻る
)
もし、押されたキーが、発射キーその3ならば、(
   もし、ボール発射=オフならば、(
      ボール発射=オン
      ボール移動右上
   )
   違えば、戻る
)
戻る

*ボール移動右上
ボールの、テキストは、「↑」。
ボール状態=右上
ボールX=ボールX+ベクトルX
ボールY=ボールY-ベクトルY
もし、(ボールY<100)かつ(ボールY>40)ならば、接触判定
もし、ボールX>195ならば、(
   反射回数=反射回数+1
   もし、反射回数%10=0ならば、基本速度=基本速度+1
   ボール移動左上
)
もし、ボールY<20ならば、(
   反射回数=反射回数+1
   もし、反射回数%10=0ならば、基本速度=基本速度+1
   ボール移動右下
)
ボールの、Xは、ボールX
ボールの、Yは、ボールY
0.001秒、待つ
ボール移動右上

*ボール移動右下
ボールの、テキストは、「↓」。
ボール状態=右下
ボールX=ボールX+ベクトルX
ボールY=ボールY+ベクトルY
もし、(ボールY<100)かつ(ボールY>40)ならば、接触判定
もし、ボールX>195ならば、(
   反射回数=反射回数+1
   もし、反射回数%10=0ならば、基本速度=基本速度+1
   ボール移動左下
)
もし、(自機X-5<ボールX)かつ(自機X+46>ボールX)ならば、(
   もし、(自機Y-4<ボールY)かつ(自機Y>ボールY)ならば、(
      もし、(自機X+11<ボールX)かつ(自機X+30>ボールX)でなければ、(
         ベクトルX=基本速度-乱数(基本速度)
         ベクトルY=基本速度-ベクトルX
         もし、ベクトルY<1ならば、ベクトルY=1
      )
      COMBOラベルの、可視は、オフ
      COMBO=1
      反射回数=反射回数+1
      もし、反射回数%10=0ならば、基本速度=基本速度+1
      ボール移動右上
   )
)
もし、ボールY>320ならば、ゲームオーバーへ、飛ぶ
ボールの、Xは、ボールX
ボールの、Yは、ボールY
0.001秒、待つ
ボール移動右下

*ボール移動左上
ボールの、テキストは、「↑」。
ボール状態=左上
ボールX=ボールX-ベクトルX
ボールY=ボールY-ベクトルY
もし、(ボールY<100)かつ(ボールY>40)ならば、接触判定
もし、ボールX<0ならば、(
   反射回数=反射回数+1
   もし、反射回数%10=0ならば、基本速度=基本速度+1
   ボール移動右上
)
もし、ボールY<20ならば、(
   反射回数=反射回数+1
   もし、反射回数%10=0ならば、基本速度=基本速度+1
   ボール移動左下
)
ボールの、Xは、ボールX
ボールの、Yは、ボールY
0.001秒、待つ
ボール移動左上

*ボール移動左下
ボールの、テキストは、「↓」。
ボール状態=左下
ボールX=ボールX-ベクトルX
ボールY=ボールY+ベクトルY
もし、(ボールY<100)かつ(ボールY>40)ならば、接触判定
もし、ボールX<0ならば、(
   反射回数=反射回数+1
   もし、反射回数%10=0ならば、基本速度=基本速度+1
   ボール移動右下
)
もし、(自機X-5<ボールX)かつ(自機X+46>ボールX)ならば、(
   もし、(自機Y-4<ボールY)かつ(自機Y>ボールY)ならば、(
      もし、(自機X+11<ボールX)かつ(自機X+30>ボールX)でなければ、(
         ベクトルX=基本速度-乱数(基本速度)
         ベクトルY=基本速度-ベクトルX
         もし、ベクトルY<1ならば、ベクトルY=1
      )
      COMBOラベルの、可視は、オフ
      COMBO=1
      反射回数=反射回数+1
      もし、反射回数%10=0ならば、基本速度=基本速度+1
      ボール移動左上
   )
)
もし、ボールY>320ならば、ゲームオーバーへ、飛ぶ
ボールの、Xは、ボールX
ボールの、Yは、ボールY
0.001秒、待つ
ボール移動左下

*接触判定
nを、0から、20まで、繰り返す(
   もし、(判定X#n<ボールX)かつ(判定X#n+14>ボールX)ならば、(
      もし、(判定Y#n+2<ボールY)かつ(判定Y#n+12>ボールY)ならば、(
      「ブロック{n}の、可視は、オフ」を、ひまわりする
      判定X#n=300
      スコア=スコア+10*COMBO
      スコアラベルの、テキストは、「スコア:{スコア}」
      もし、COMBO>1ならば、(COMBOラベルの、可視は、オン。COMBOラベルの、テキストは、「{COMBO} COMBO!」)
      COMBO=COMBO+1
      残りブロック数=残りブロック数-1
      もし、残りブロック数=0ならば、クリアへ、飛ぶ
      反射回数=反射回数+1
      もし、反射回数%10=0ならば、基本速度=基本速度+1
      ボール状態で、条件分岐
      右上の時、ボール移動右下
      右下の時、ボール移動右上
      左上の時、ボール移動左下
      左下の時、ボール移動左上
      )
   ) 
   もし、(判定X#n+2<ボールX)かつ(判定X#n+12>ボールX)ならば、(
      もし、(判定Y#n<ボールY)かつ(判定Y#n+14>ボールY)ならば、(
      「ブロック{n}の、可視は、オフ」を、ひまわりする
      判定X#n=300
      スコア=スコア+10*COMBO
      スコアラベルの、テキストは、「スコア:{スコア}」
      もし、COMBO>1ならば、(COMBOラベルの、可視は、オン。COMBOラベルの、テキストは、「{COMBO} COMBO!」)
      COMBO=COMBO+1
      残りブロック数=残りブロック数-1
      もし、残りブロック数=0ならば、クリアへ、飛ぶ
      反射回数=反射回数+1
      もし、反射回数%10=0ならば、基本速度=基本速度+1
      ボール状態で、条件分岐
      右上の時、ボール移動左上
      右下の時、ボール移動左下
      左上の時、ボール移動右上
      左下の時、ボール移動右下
      )
   ) 
)
戻る

*クリア
文字サイズ=12
文字色=黒色
「クリア!(^o^)丿」と、言う
オブジェクト全破壊
クリア回数=クリア回数+1
基本速度=4+クリア回数
リトライへ、飛ぶ

*ゲームオーバー
ハイスコア保存
文字サイズ=70
文字色=赤色
「ゲームオーバー(×_×)」と、言う
文字サイズ=12
「再チャレンジ?」と、二択
もし、それが、はいならば、(
   スコア=0
   基本速度=4
   オブジェクト全破壊
   リトライへ、飛ぶ
)
違えば、終わり 

*ハイスコア保存
もし、スコア>ハイスコアならば、
(
『scoredata.ini』の、INIファイル開く
それ=スコア
『score』の、『hi-score』へ、INIファイル書く
INIファイル閉じる
)
戻る

*終了ラベル
ハイスコア保存
おわり



▲[ 680 ] / ▼[ 682 ]
NO.681  タイトルをつけるの忘れたぁ!!!
□投稿者/ のぐちゃん -(2002/03/29(Fri) 17:56:28)
□U R L/
ごめんなさい。
タイトルをつけるのを忘れました。
タイトルは、「ボタン崩し」です。



▲[ 681 ] / ▼[ 683 ]
NO.682  タイトルを付け忘れたときは…
□投稿者/ kobachi -(2002/03/29(Fri) 23:29:35)
□U R L/ http://plaza.across.or.jp/~kobachi/
タイトルを付け忘れたときは、削除キーのメッセージを編集する機能を使って、タイトルを編集することもできますよ。送信した後で誤植などが見つかった場合などのために、削除キーは指定しておいたほうが良いですね。



▲[ 682 ] / 返信無し
NO.683  頻繁に更新するときは…
□投稿者/ moka -(2002/03/30(Sat) 00:58:18)
□U R L/ http://www.geocities.jp/moka21/teatime/
1つの作品を頻繁に更新するときは、
新規投稿じゃなくてレスとして投稿したり、
最初の投稿記事を更新する方が、
掲示板にいろんなバージョンが散乱しないし、
他の人が感想・意見を書きやすくなると思います。

さて内容についてですが、
「ブロック崩し」の改造版ですよね。
ボタンをつぶしていくのも新鮮ですね。
何気にクリックしてしまったら、左右移動できなくなっちゃうけど。(^_^;)



▲[ 680 ] / ▼[ 686 ]
NO.685  何でも崩せる?
□投稿者/ ムロジェク -(2002/03/30(Sat) 09:15:45)
□U R L/
「ブロック崩し」の改造版ですね。なかなかステキな改造です。「ボタン」のところを「エディタ」や「チェック」に変えて色々なGUIを崩して遊んでみました(笑)。
あと、ボタンをクリックすると左右移動できなくなるので、ボタンの有効をオフにしておくのはどうでしょうか。でもこれだとボタンに色がつかないんですよね…。



▲[ 685 ] / 返信無し
NO.686  俺もやりました。
□投稿者/ のぐちゃん -(2002/03/30(Sat) 10:23:15)
□U R L/
俺も有効をオフにしたんですが...
色が付かなかったです(T_T)



- Child Tree -