トップページ⇒tech
1001コメント487KB

貴様ら!ブロック崩し作るので見てください

■ このスレッドは過去ログ倉庫に格納されています
0001ヒッキー@プログラミングNGNG
VBでWinAPIを使う方法がわかってきたので
作りたくなりました。

Bitbltなど使う予定ですが、細かい技術がないので、
小出しにプログラムしようと思います。
(タマが動くだけとか、キーボードで自機を動かすだけとか)

オナーニスレだけどよろしくね。
0232ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。

・ブロックとボールの判定回数の減少

とかしてみました。

>>228
>>4さん、そろそろ2万薬師丸ひろ子程度、用意しておいてください。(藁
>>229
Stage_Data.bas、書き直しました…
さすがに前のはかっこ悪かったと思います。反省。
>>230
う〜ん、やってみたんですけど、なぜかうまく逝きませんでした…
で、MainLoopをTimer内に書かずにサブルーチンにしてみました。
>>231
今回、FreeFile使うように修正しました。
ご指摘、ありがとうございます。
0233デフォルトの名無しさんNGNG
気合がびしびし
0234デフォルトの名無しさんNGNG
ブロックの下に、おねーチャンのヌードってどうですか?
実装無茶苦茶簡単で、熱中度異常にアップします。
コストパフォーマンス最高です。
重要な部分?のブロックは、頑丈だとよいです。
0235デフォルトの名無しさんNGNG
結構作りが丁寧でちょと感動
やっぱ同じ作るにしても
他人に見られることを意識して作ると違うね〜
0236デフォルトの名無しさんNGNG
貴様ら!はどうかと思うが、ほのぼのマターリとした進行で感動した!

というわけで、漏れもスレに参加。

sin,cosを毎回計算するなって言ってる人いるけど、そんなの今の段階で言うべき
事じゃないと思うよ。だいたい今時のマシンで1フレームに1回程度のsin,cosの
計算なんか全く負担にならないし。むしろ、意味の無い最適化でソースが複雑に
なることの弊害の方が大きいかと。あ、VBって知らないんで、VBのsin,cosが死ぬ
ほど重かったらゴメソ。

パドルとボールの当たり判定だけど、ボールが画面下に動いているときだけ処理
するといいよ。そうすればめり込んだり、打ち返すまでに2回跳ねかえるような
事が無くなって良い感じ。

あと、壊れないブロックを作ると球が永遠に落ちてこなくなる事があるので注意。
■■■■■
■□  ■
■   ■
■   ■
■■■ ■
こんな地形で(■は壊れないブロック。□は壊れるブロック)□の右側に45度で
当たるように打ち込むと無限ループ突入。
単純なブロック崩しなら、たまーにランダムで反射する方向が微妙にズレるように
して回避するのが吉。名作アルカノイドでは敵キャラが無限ループ防止の役になっ
てた(ランダムでズレる手法も使われてた気がするが)。
0237236NGNG
おもいっきりズレてて恥ずかしい。

操作系に関しては色々あるが、最近2chで流行りのワンキーにしちゃうってどお?
ボタン押してると右に移動して、離してると左に移動。
少し慣性を加えておくのがミソ。
0238236NGNG
あと、タイトルを「貴様ら!ブロックを崩してください」にしたらどうかな?
0239デフォルトの名無しさんNGNG
いや、sin/cosを使わない事で DDAアリゴリズムになってていいよ

 たとえば、
1) y方向の速度vyを常に非常に小さな量加算する
-->まるで重力があるかのように

2) vx = vx-vx*vx*vx/10000 みたいにすると空気抵抗に

3)特定のブロックに引力や反力を導入する

とかね
0240デフォルトの名無しさんNGNG
引力の例
Private Sub gravitation(x0, y0, g)
  Dim L2 As Double
  Dim dx, dy As Long
  dy = ball_y - y0
  dx = ball_x - x0
  L2 = g / (dx * dx + dy * dy)
  vx = vx - dx * L2
  vy = vy - dy * L2
End Sub

呼び出しは BallMove 手続き内で
gravitation 100, 70, 0.3
みたいに
0241デフォルトの名無しさんNGNG
sub main のiniファイルにデフォルトのステージデータファイル名を
書き込むコード、あれも綺麗に書き直そう
連番ファイル名以外にも対応したいならば、リソースに
ストリングテーブルとして書いておき、それを読み出す形にすべきだろう

それにしてもこのへん、丁寧な設計思想で好感が持てる
0242ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は、

・画面効果の追加

です。

>>233
うおー。がんばります。
>>234
僕も考えているんですが、ネットに落ちてる画像勝手に使ったりしたら
まずくないかなーと思って考え中です。→ >>52(藁
>>235
ありがとうございます。
やっぱ、一人で作ってるとあんまり見た目考えないですねー。
プログラム板のかたに見て頂けてうれしいです。
>>236
おぉ、ご意見ありがとうございます。
Sin・Cos関数を使う部分は1つにしてみてます。なんかVBの標準機能って
どうも遅い気がするので…。
2回跳ね返るとどうも動きに違和感がありますね。画面内の方向に
跳ね返るようにしました。
壊れないブロックって、そういう事も考えられるんですね。
そういえばアルカノイドって敵いてましたね。敵キャラがそんな役目も
果たしているとは…。ちゃんと考えられてるんですね。

ワンキーにしたら、熱中しそうですね(藁
考えてみます。

タイトルを「貴様ら!ブロックを崩してください」にしてみました。

>>239
おお、実用的な例をありがとうございます。
ボールに動きが出て面白そうですねー。
(ところでDDAとは何でしょうか…検索してみます。)
>>240
具体的なソースまで挙げて頂いて、ありがとうございます。
頭でイメージするのが難しいので、一回実験してみたいと思います。
>>241
そうですねー。あのままだと何かあるたびにiniファイルに書くコードを
考え直さないといけない気がします。
そういえばストリングテーブルってありましたね。調べてみます。
0243233-242だけ読んだNGNG
スコアのつけ方をもう少し何とかしてほしい。
連続してブロック壊したらポイントが2倍とか
ブロック壊せなかったら5ポイント減らすとか
ずっと同じポイントだったら、意欲がうせる?
0244デフォルトの名無しさんNGNG
DDA=デジタル微分解析 で検索すると日本語サイトがヒットするよ・・・きっと・・たぶん
0245ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は、

・コンボボーナスの追加

です。

>>243
ういー。最近のシューティングゲーム的に点が増えるようにしました。
>>244
出てきましたー。どもです。
でも言葉の意味はいまだ良くわからず…
0246ヒッキー@プログラミングNGNG
あ…バグありました。
直します…
0247ヒッキー@プログラミングNGNG
直しました。
ゲームをストップさせてもコンボのカウントが動いてました。
0248おすぎNGNG
最近見たどの映画よりもこのスレッドに感動しました。
私はこのスレを応援します。
0249デフォルトの名無しさんNGNG
> ball_x = ball_x + vx * (90 - Angle) / 90
> ball_y = ball_y + vy * Angle

Angle という変数は何?
 このAngleさえなければ このball移動はDDAなのに惜しいね

進行方向の角度だけを変えたい場合は、
s= sin(PI()*Angle/180)
c= cos(PI()*Angle/180)
 として
wk=vx*c-vy*s
vy=vy*c+vx*s
vx=wk
のようにするんだよ。


DDAなら色々とボールの動きに面白い加工が可能だから
ぜひ修正してみるといいよ
0250デフォルトの名無しさんNGNG
>>249
それってDDAって言うの?
ただのベクトル演算にしか見えないが。
0251デフォルトの名無しさんNGNG
ね。DDA直線発生とはゼンゼン違う。
DDA使うと1単位の直線移動距離が傾きによって変わるので
素人にはお勧めできない、てゆかフレーム単位に描画する
リアルタイムゲームではお勧めできない。
この程度のプログラムで小数点演算を忌避する理由も特にないことだし
存分にベクトル演算してくれ。

それに>>249の書き方だと移動量は変わっても角度変数angleは変わらない。
2回目以降の反射のときはどうするんだろうか。
0252デフォルトの名無しさんNGNG
コピペ許可ねがいます>>1 >>1
----------------------------------
そんな事より4よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
昨日、近所の2ちゃん見に言ったんです。2ちゃん。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか垂れ幕下がってて、「完成しない」に3万5000薬師丸ひろ子、とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、「完成しない」如きで普段来てない2ちゃんに来てんじゃねーよ、ボケが。
「完成しない」だよ、「完成しない」。
なんか親子連れとかもいるし。一家4人で2ちゃんか。おめでてーな。
よーしパパ,完成しない>>1を煽っちゃうぞ〜、とか言ってるの。もう見てらんない。
お前らな、うまいぼうやるから3万5000薬師丸ひろ子、調達しろと。
2ちゃんってのはな、もっと殺伐としてるべきなんだよ。
3万5000薬師丸ひろ子 をほしそうに見つめている奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。
女子どもは(除:3万5000薬師丸ひろ子)すっこんでろ。
で、やっと3万5000薬師丸ひろ子もらえたかと思ったら、隣の奴が、金玉なめて、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、「金玉なめて」なんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、金玉なめて、だ。
お前は本当に金玉なめてもらいたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、金玉なめてって言いたいだけちゃうんかと。
2ちゃん通の俺から言わせてもらえば今、2ちゃん通の間での最新流行はやっぱり、
チンコはみらせる、これだね。
横ちんはみって勃起中。これが通の頼み方。
チンコはみらせるってのはパンツのよこからからチンコがもろに出ている。
そん代わり ウェイトレスが最高裁に訴えてくる(ニュー速に前スレたってた)。これ。
で、それに横ちん勃起中。これ最強。
しかしこれを頼むと次から3万5000薬師丸ひろ子にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、自分のちんこをなめてなさいってこった。

(http://8931.com/yosinoya.php3 で作成)
0253249NGNG
>それってDDAって言うの?
 前半とは別の発言のつもり・・・
  >>249 Angleを小さくして毎サンプルかければカーブを描けるけど
    それならDDAかな

>>251  直線発生だけじゃなくても、浮動小数点演算でも
  差分方程式ならDDAって言うと思うけどなあ・・・
0254デフォルトの名無しさんNGNG
>>252
面白かった。リンク先でいろいろやってみたり(藁
ニュー速たってたのはしってるけど、スレ倉庫にもないって。
9月ごろのスレだし、、、

1のレスが面白そう。
0255デフォルトの名無しさんNGNG
>吉野家コピペジェネレータ
作るなこんなもん〜(爆笑)
なんだかもう。
0256ヒッキー@プログラミングNGNG
そんな事より>>252よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
昨日、近所の漏れのスレ覗いたんです。漏れのスレ。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか吉野家コピペとか張ってあるんです。
もうね、アホかと。馬鹿かと。
お前らな、吉野家コピペ如きで普段来てない漏れのスレに来てんじゃねーよ、ボケが。
吉野家コピペだよ、吉野家コピペ。
なんか親子連れとかもいるし。一家4人で漏れのスレか。おめでてーな。
よーしパパもコピペ作っちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、ブロック崩しのソースやるからコピペやめろと。
漏れのスレってのはな、もっと殺伐としてるべきなんだよ。
熟練プログラマな奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと落ち着いたかと思ったら、隣の奴が、薬師丸ひろ子もらった、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、薬師丸ひろ子もらったなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、薬師丸ひろ子もらった、だ。
お前は本当に薬師丸ひろ子もらいたかったのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、薬師丸ひろ子もらったって言いたいだけちゃうんかと。
漏れのスレ通の俺から言わせてもらえば今、漏れのスレ通の間での最新流行はやっぱり、
Win32API、これだね。
VB、Win32API。これが通の頼み方。
Win32APIってのはWindows依存。そん代わり使いこなすとGUIバリバリ。これ。
で、それにVB、。これ最強。
しかしこれを頼むと次から熟練プログラマにマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、HTMLでも書いてなさいってこった。
0257デフォルトの名無しさんNGNG
>>256
普段からこのスレには来てたり<252

まぁ、行数が多いから面倒なんだよな。読むのも。
なんか俺って荒らしみたいだな。何行も貼りつけて。

なんとなく「ちゆ」見に行ったんです。
そしたら、>吉野家コピペジェネレータ
があったんですね。実験に使ってみたり(藁

1さん、頑張れ!俺もなんか作ってみるよ、最近疲れ気味だが
ひまだ氏。
0258デフォルトの名無しさんNGNG
>>256
あと今 HTML と CSS , JavaScript かいてた。
どうせド素人だから……ブツブツ
#ギコぺダウソしたてでちょっとウキウキ(藁
0259デフォルトの名無しさんNGNG
おめでとう0xff君!

で、薬師丸ヒロミが・・・なにか?
0260ヒッキー@プログラミングNGNG
>>257
ごめんなさい、煽るつもりはなかったんです。
吉野家コピペジェネレータが面白かったので…。

何か作られたらUPしてみせてください。
0261デフォルトの名無しさんNGNG
いや、長いのは読まない主義だったのに
読んで得したスレだ。いや、筆舌っぽいんでドーモ
0262249NGNG
>それに>>249の書き方だと移動量は変わっても角度変数angleは変わらない。
>2回目以降の反射のときはどうするんだろうか。
 angleはソースを見た所、単にラケットの動きのバリエーションをつける為だから
 反射した後に微調整したいだけだけじゃない?

 VBにはAtnしかなくて C/Delphiにあるatan2が無いのでvx/vyから進行方向角度
 に変換するのがメンドクサイんだけど
 反射は既にやってるように vx,vyの符号を反転するだけでいいんだし

なお、angleを使わなくても ラケットの移動でコスレル雰囲気を出すなら
 1)vxをラケットの進行方向に一定値加える
 2) ラケットにぶつかったらw=±0.1 程度にして
   if abs(w)>0.01 then
    ax=vy*w
    ay=vx*w
    vx=vx-ax
    vy=vy+ay
    w=w*0.99
   endif
 みたいにするともっと簡単
0263デフォルトの名無しさんNGNG
ふつー、vx,vyから角度なんて求めないけどね。
角度を10度変えたいなら、直接vx,vyを10度回転させる。
0264デフォルトの名無しさんNGNG
>>263
一次変換を忘れてるに 3 ガノッサ。
0265デフォルトの名無しさんNGNG
ガノッサという264は、カノッサを間違えて覚えているに東京ドーム2杯分。
0266デフォルトの名無しさんNGNG
>>265
じゃー漏れは薬師丸ひろ子2人分
0267(・ε・)NGNG
ステージデータをテキスト形式にして2chとかに貼り付けて
交換できるようにして欲しいに、4ガノッサ。
0268デフォルトの名無しさんNGNG
>>253
>直線発生だけじゃなくても、浮動小数点演算でも
>差分方程式ならDDAって言うと思うけどなあ・・・

DDAの最初のDが何を意味するか?
DDAがどういう要求から生まれたものか?
を考えれば、DDAは「実数演算を用いない」ことが
定義に含まれていると考えるのが自然
でなきゃ単なる微分解析じゃん
0269デフォルトの名無しさんNGNG
DDAは考え方としては、実数を分数で扱うような感じだな。
正直言うと、いまどきそんな考え方は必要無い。
(ラスタライザとか書くなら別だが)
0270ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

・他の色のブロックの追加
・ステージエディタの修正

です。

>>249
毎回除算してた部分を書き直してみました。
次うぷするときは重力とか入れてみたいです。
>>251
ういー。なんかDDAというのは難しそうなので、
また今度調べてみようと思います。
>>262
アークタンジェントってどうやって使ったらいいのでしょうか…。
ラケットにこすれる時、vxを直接変えたほうが簡単かもしれないですねー。
>>263
ほおほお。そういうことも考えられるんですね。参考になります。
>>267
してみました。
4ガノッサください。
0271ヒッキー@プログラミングNGNG
なんとなくageとこう。
0272デフォルトの名無しさんNGNG
DDAは Bresenham の アルゴリズムで線・円描画で有名だけど
考え方としての応用範囲は広いよ。 差分解析だよね。
整数演算だけで実現出来るけど、無理に整数に拘る必要はないと思うよ

でもデジタル微分とか差分とか難しく考える必要はないよ
 説明は x=f(t) を  x=∫f'(t)t として f('t) を積分するだけ
 tの多項式なら何度かこの変換をすれば定数になる
 また2変数の多くは相互に参照すればt項が消せる
 ・・・・というのが理屈だけど、ゲームなんかだと理屈関係
 なく自然に使ってるよね。

 というか px,pyにvx,vyを毎回足すという処理が既にDDAだから
難しいというより 既に使ってるよ >>270
0273249NGNG
ソース見た所、まだAngleを変な感じに使ってるね・・・反射が難しいのかな

反射 は 回転(カーブ)に似てるけど壁の角度をAngle
 水平 Angle=0度
 垂直 Angle=90度
 とすると vx,vyに対して
Private Sub reflect(Angle)
Dim s, c
 s = Sin(PI * 2 * Angle)
 c = Cos(PI * 2 * Angle)
 x = vx: y = vy
 vx = c * x + s * y
 vy = -c * y + s * x
End Sub

となる 0度の時は c=1,s=0 になるから yだけ符号が反転
 90度なら c=-1,s=0で xだけ符号反転
 というのは既に使ってるよね。
 これを一般化したのが上の式

だからラケット位置や動きの効果を反射で表現したいなら
水平との反射=0度でなく±45度の範囲で反射させればいい

ラケットの左右のスミの場合は、スミ座標とボール中央と90度
の方向に反射させればいい
0274249NGNG
上で使ってる PI は 3.1415/180 という定義になってるからそれを使ってる

でもPIは3.1415にして PiDegみたいな変数名の方がいいと思うな
0275249NGNG
 ラケットのスミでの反射はatnを使って角度を求めてもいいけど
  スミ座標と玉の中心座標の差 dx,dyを使って直接s,cを求めてもいい

1、正規化    c=dx/sqr(dx*dx+dy*dy) : s=dy/sqr(dx*dx+dy*dy)
2、90度反転 これは s,cを入れ替えて片方の符号を反対に
3、2倍角    c'=c*c-s*s s'=2s*c
と3つの手順で求まる
 でも、幸い ボールは上からしか来ないから dyは0にならないはずとして
  atn(dx/dy)*180/3.14 で角度求めた方が判り易くいていいと思うけどね
0276デフォルトの名無しさんNGNG
うーむむ
 三角関数が判らないと というより行列がわからないとゲームも作れない雰囲気だな
0277デフォルトの名無しさんNGNG
ここ読んでも判るようにさ
http://members.tripod.co.jp/snishi/text/index.html
みんなそんな難しい手法使ってないから安心しろよ>>1
0278吾輩は名無しさんであるNGNG
うむ。吾輩などはむりやり型が好みだな。
0279デフォルトの名無しさんNGNG
でも、まあ、三角関数と行列ベクトルが判る程度に勉強はするべし
0280デフォルトの名無しさんNGNG
さらに微積分も必要かもな
0281249NGNG
いや、別にゲームだから中でどんな処理しようが動いてるなら問題ない
と俺も思うよ。
 でも、1はソースを公開してるし、習得も早いからさ、
 つい、スタンダードというか普通はこうするってのを教えたくなったのさ

 基本的なアイテムの動かし方を身に付けた方がいいだろって余計なお世話かもしれんけどな
0282sageNGNG
数学関係の参考テキストも少しこのスレであげといた方が( ・∀・)イイ
0283デフォルトの名無しさんNGNG
なんかさ、ずーっとボールが同じ速度にするのではなくて
壁に当たったら少しずつ速度がUPみたいなほうが
おもしろいとおもう。

実際、テトリヌなんか、ブロックの落ちる速度が速くなったりするしね。

# あんまりテストプレイさせてもらっていないから分からないけど…
0284デフォルトの名無しさんNGNG
http://jp.shockwave.com/games/arcade/bricks/bricks_frame.html
のブロック崩しみたいに、ボールの角度変え + 敵きぼんぬ>>1
0285デフォルトの名無しさんNGNG
>>284
カコイイ!
0286吾輩は名無しさんであるNGNG
制作中の人間に、あまり同ジャンルのゲームは見せないほうがいいと思うぞ。
0287デフォルトの名無しさんNGNG
>>286 スマソ。
パクリだ!なんて騒がれたら、1がかわいそう。
1さん、オリジナル な要素を含めてね(♥
0288デフォルトの名無しさんNGNG
ブロック崩し自体、既にパクリなので大丈夫です。
0289(・ε・)NGNG
>>270
http://shinkiro.tripod.co.jp/valkyrie/cd_gano.html

す、すいません。1ガノッサしかないんです。
0290デフォルトの名無しさんNGNG
/*  ここからコメント

>>260
煽るつもりはって言われても、
こっちもわざと書いてみたりしただけだし(藁 カメレススマソ
完成したらどっかにうぷしておきます。ただしURIは公開しません(藁

# なんとなく今暇だからアプリ作りつつ例の吉野家コピペ
# 作成ScriptをJavaScriptでかいてたり。

重力もいいね。なにかボールと反発するようなブロックとかも追加きぼん!
ボールが風か何かで吹き飛ばされるみたいなのとか。

みんながアイデア出すから、結構ゲームの発想の手間が省けてたり
してるんじゃないかと。

厨房のとき発想力の無さからあきらめたんだよね。折れ。
だからこそ応援しているぞ1!

ここまでコメント */
0291デフォルトの名無しさんNGNG
>>284
アルカノイドのつもりで敵にパドルぶつけたら、パドルが破壊された(笑

同ジャンルのゲームを見た方がいいかは微妙だね。
パクり以前にモチベーション下がるか上がるか・・・それは本人次第だけど。
俺なんかは、自分のアイディアが既出だったりすると萎えるタイプ。

最初このスレ見たとき俺もブロック崩し作ろうかと思ったけど、1が萎えそう
だからやめたよ。
0292デフォルトの名無しさんNGNG
けっこう面白いじゃん。みんな何点くらいいったよ?
おれは7314点が最高。三面がクリアできない。。。
0293292NGNG
記録更新。5面までで16,258点
0294(・ε・)NGNG
>>292
それは何?
インターネットランキングに対応しろと言うことかい・・・?(笑)
0295デフォルトの名無しさんNGNG
わざわざ落としてまでやる気無し
0296(・ε・)NGNG
あれ?ステージエディタはテキスト化されてないの?
作って公開しようと思ったんだけど。
0297デフォルトの名無しさんNGNG
ときどきブルブルいいながらブロックにくっついて移動するね
0298あきまさNGNG
age
0299デフォルトの名無しさんNGNG
ステージクリアした時の、ご褒美エロCGキボンヌ (´Д`;)ハアハア
0300 NGNG
いろいろみんな1を応援してるようだけど、
ソースまで載せて手ほどきするのはどうかと思うよ。
最初の頃のようにキーワードや概要だけを載せてあげたほうが、
1も試行錯誤するだろうし結果的に身に付けるスピードも速くなると思う。

まあ1が鵜呑みにせず自分なりに解釈して作り出すタイプ(根っからのプログラマ気質?)
なら全然構わないんだけどさ。
頑張って欲しいね。
0301デフォルトの名無しさんNGNG
>>299
ステージクリアまで待てないよ・・・
ステージの背景に描いて頂戴!
0302デフォルトの名無しさんNGNG
>>300 そうは言っても、衝突や反射をちゃんと解説してるサイトってある?
0303デフォルトの名無しさんNGNG
26180てん!わ〜い
0304デフォルトの名無しさんNGNG
つまんね〜。ちょうくそげーじゃん。
もっとましなの作れよ。
0305吾輩は名無しさんであるNGNG
>>304
お主が作ればよかろう。
0306ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/
↑つぎうぷしました。変更点は

・マウスモードの追加
・残機を3に変更
・難易度の調整

です。

>>272
ほお、そうなんですか?既に使っていたとは(藁
理屈的にはムズカシそうですねー。ちゃんと理解できるようにします…。
>>273
ちょ、ちょっとまってください…理解するのに紙に書いてみないと
難しいです…正規化とはなんでしょう?ヘイホウコン使うんでしょうか。
もうちょっと頭使います。
>>277
お、ちょっと安心しました(w
ラケットがあたる位置で判定してたりするんですねー。
>>279
了解。頭に刻んでおきます。
>>280
ビブンセキですか。できるかな…。
>>281
おー、ありがとうございます。そういう意図があったんですね。感謝します。
>>283
一応、書いてはいたんですが、上がり方がしょぼかったようです。
難易度調整しました。
>>284
やってみました。ShockWaveって結構すごいですねー。
まだまだ負けてる…。敵っておもしろいので考えてみたいです。
>>289
ありがとうございます。1ガノッサ頂きます…ってガノッサって
おっさんだったんですね。
>>290
ご意見ありがとうございます。風とか吹いてもおもしろそうですね。
結局重力は今回、いれれませんでした…

更新age
0307ヒッキー@プログラミングNGNG
>>291
自分のアイデアが既出だったらちょっと悲しいと思います。
ブロック崩し、2chの人も結構作ってるみたいで、ヒッキー崩しというのを
発見したんですが、(鬱打のページ)それもコンボ点とかありました…
VBでDirectXつかってるし。鬱氏
>>292
おぉ、感謝感謝。やってくださる人がいてると嬉しいです。
>>294
完成したらインターネットランキング作ってみたいと思います。
>>295
う…
>>296
一応テキスト化したんですが、拡張子がSTGになっています。
>>297
そうですねー。壊れないブロックにあたるとぶるぶるします。
今回は修正できませんでした…
>>299
エロ画像描いてくれる人キボンヌ
>>300
がんばりますー。
ソースは参考にさせていただいてます。…が、ちょっと難しいです(藁
>>303
僕は最高15000点くらいです。26000点…すごい。
>>304
ちゃんとゲームとして認識されるようになっただけでも嬉しいです。
最初はゲームどころではなかったので(w
0308デフォルトの名無しさんNGNG
じゃあ参考図書
本物のヒッキ-なら
 高専の数学1,2 これの問題集とセットで勉強するといい
http://www.morikita.co.jp/mokuji/0481.html
http://www.morikita.co.jp/mokuji/0482.html
0309249NGNG
ええと、やっぱりベクトル・行列を勉強した方がいいよ
といっても、
 ベクトルは単に複数の数をまとめて扱うというだけ
 行例は、数式の係数をまとめて扱うというだけという理解でとりあえずスタート

たとえば、玉の動きは
  x = x + speed * cos(angle)
  y = y + speed * sin(angle)
これは正しい でも
  ball_x = ball_x + vx * (90 - Angle)
  ball_y = ball_y + vy * Angle
 こではダメっての説明してみるね。
 前者は回転だけど、後者は、伸張になってしまう。

○回転というのは
  vx*cos(w) - vy*sin(w)
  vx*sin(w) + vy*cos(w)
 という形になっている。これはひとつのスタイルだから覚える。
 そして、掛算してるのは vx,vyと4つの係数だからそれぞれ
 |vx| |cos ,-sin|
 |vy| | sin , cos| と分離して考える。
 左がベクトルで右側が行列だ
 で、元の格好に直す規則は・・・判るよね?
 ここまでいい? とにかく2つの数がこういう格好に並んでいれば回転だって事で

○反射は既にやってるように
 vx=vx
 vy=-vy
 という格好になっている これも分離すると
 |vx| | 1 , 0|
 |vy| | 0 ,-1| となる。
  上の回転では角度がどうであれこの格好にならないの判るよね?

 任意の角度で反射させるには回転を組み合わせればいい。
 ただ、反射する時は反射面に対して倍角で反射するというのに注意
 で、組み合わせる時は この反射を掛算した結果のベクトルは
 | vx|
 |-vy| となるなら、上の回転の vyを単に-vyにするだけでいい

○伸張 y軸が斜面で、斜めにあるのを上から見る場合は
  | 1 , 0|
  | 0 , a | というようになるよね? これが伸張さらに裏から見たら 上にある反射になる

○拡大/縮小 これは簡単で全体に
  | a , 0|
  | 0 , a | とaを掛算すればいい
0310デフォルトの名無しさんNGNG
>>309
気持ちはうれしいけど、その説明は
ちゃんと数学の本を手にして読まないと
わけわからんかと。
0311デフォルトの名無しさんNGNG
 演算子法的立場からの解説って奴だね
 遅延演算子も導入してさ
 一挙に微積分飛び越してフーリエ・ラプラス変換の世界にご招待ってのは?
0312249NGNG
>>310 そうかもしれないね。
 Web上の教科書は 特にベクトル 行列は少ない。基礎だからね
 だから高校の教科書でも手に入れて勉強するしかないね。

 ちょっと調べてみつけたのは
 高校:
ttp://www.kwansei.ac.jp/hs/z90010/hyousi/2106.htm

応用数学なら見つかるんだけどね
ttp://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/diffpub/diffpub.html
0313249NGNG
どうも探し方が悪かったみたい

数学玉手箱
http://www.nikonet.or.jp/spring/sanae/MathTopic/MathTopic.htm

ベクトルとは
http://www.nikonet.or.jp/spring/what_v/what_v.htm
0314デフォルトの名無しさんNGNG
>>1
エロ画像ソース!

★☆★いやんエッチ!見ないでよ!★☆★
http://piza2.2ch.net/test/read.cgi/kao/1000818283/
0315デフォルトの名無しさんNGNG
どうせ回転くらいにしか使わないなら、行列は回転後の座標系の単位ベクトルを
組み合わせたものと教えるのが一番分かりやすくていいんじゃないか?
もっとも、ブロック崩しごときで行列を持ち出す必要ないと思うけど。

方向変えるなら、vxを適当にいじったあとに、√(vx*vx+vy*vy)がvxをいじる
前と同じになるようにするだけでも十分だよ。
例えばC言語で書くと
v = sqrt(vx*vx+vy*vy);
vx1 = vx / v;
vy1 = vy / v;
vx1 += (適当な値。例えばパドルのX座標-ボールのX座標など);
v1 = sqrt(vx1*vx1+vy1*vy1);
vx = (vx1 / v1) * v;
vy = (vy1 / v1) * v;
この程度で十分かと。
0316249NGNG
>>315 そりゃそれで、十分といえば十分。

だいたい、今のAnglleで傾斜させる方式でもゲームが今の状態で完成だとすれば十分。
  実現方法は面白さとは何の関係もないしね
0317デフォルトの名無しさんNGNG
>>309
 |vx| |cos ,-sin|
 |vy| | sin , cos|
じゃなく
 |cos ,-sin| . |vx|
 | sin , cos|  |vy|
てかいてよ
0318(・ε・)NGNG
ブロックを全部壊した後、自機で球を受け止めてクリアにしてはどうだろうか。
0319(・ε・)NGNG
Block00,9,000,032#Block01,9,016,016#Block02,9,032,000#Block03,9,216,032
Block04,9,200,016#Block05,9,184,000#Block06,9,024,008#Block07,9,008,024
Block08,9,192,008#Block09,9,208,024#Block10,9,048,080#Block11,9,056,088
Block12,9,064,096#Block13,9,072,104#Block14,9,168,080#Block15,9,160,088
Block16,9,152,096#Block17,9,144,104#Block18,3,088,040#Block19,3,128,040
Block20,3,128,056#Block21,3,088,056#Block22,3,088,072#Block23,3,128,072
Block24,3,088,024#Block25,3,128,024#Block26,9,096,136#Block27,9,120,136
Block28,3,192,128#Block29,3,024,128

-----
>>1 これでプレイしてみて。"#"は改行に置き換えて。
ブロックにくっつくバグが置きやすいよ。
0320(・ε・)NGNG
要望ばかりでゴメン。
ステージファイルをパラメータに与えて起動するとそのステージだけ
プレイできるとステージのテストプレイがやりやすいなぁと。
0321>318NGNG
なぜ?
0322デフォルトの名無しさんNGNG
>>318
なんかいいね。
0323デフォルトの名無しさんNGNG
>>318
なんだそりゃ
マッピーで盗品全部集めた後に
開けたドアを全部閉めたらクリア
って言ってるのと同じだぞそれ
0324(・ε・)NGNG
Block00,9,104,184#Block01,2,024,120#Block02,9,184,152#Block03,2,024,096
Block04,9,024,152#Block05,2,080,096#Block06,2,080,120#Block07,2,128,120
Block08,2,128,096#Block09,2,184,096#Block10,2,184,120#Block11,1,128,072
Block12,1,128,048#Block13,1,080,072#Block14,1,080,048#Block15,1,184,072
Block16,1,184,048#Block17,1,024,072#Block18,1,024,048#Block19,3,080,024
Block20,3,080,000#Block21,3,128,024#Block22,3,128,000#Block23,3,184,024
Block24,3,184,000#Block25,3,024,024#Block26,3,024,000#Block27,1,024,184
Block28,1,184,184#Block29,1,104,152
------
かなりバグります。球の速度に制限を設けた方がいいかもしれませんね。

>>321 なんとなく。ゲーム性があがらないかな?
>>323 マッピー知らんです。ゲームはあまりやらないもんでして。
0325(・ε・) ◆LbaGYMio NGNG
要望は出すけど、組み込むかは>>1が判断してね。当たり前だけど。
0326デフォルトの名無しさんNGNG
とりあえず、ゲームのバランス調節等のアドバイス

基本は、難しいことをしたら見返りがあって、簡単なことをしたらペナルティ。
見返りってのはボーナス点が貰えるとか、ブロック崩しなら速度が遅くなるとか。
ペナルティはその逆。
とは言っても、必ずしもこれに従う必要は無いよ。
例えば同等の難易度の2種類の行為について、片方だけ点を高くしておくと
点を稼ぐにはそれだけを狙う必要があって、結果的に難易度の向上に繋がる。

クリアだけなら簡単、稼ごうとすると難しくなるようにようにするのが俺流。
0327デフォルトの名無しさんNGNG
>>320
iniファイルのステージファイル名を書き換えるのがいいと思われ
0328初心者さんNGNG
漏れも超級素人なんで見てておもしろい。
がんばってね。>>1
0329コーダーさんNGNG
今更発見したが、いいスレだ。

>>1
俺は始めて作ったゲームっぽい作品はBio100%の戦艦シューティングもどき
だった。なつかしい。
最後までがむばれYO!
0330ななしNGNG
コンボボーナスの点数がカウントされないことがあるみたいだよ。
水平に近い弾道でブロック壊したら、
2Hitsって出たけど、ポイントが0から増えなかった。

うまく再現できないんで、もう少し試してみる。
0331デフォルトの名無しさんNGNG
なんか、自機の真中心で跳ね返したらブロックを突き抜けて
壊すみたいのがいいなぁ。

要望ばっかだが、>>330の 問題をぼくも確認してみます。
■ このスレッドは過去ログ倉庫に格納されています