トップページgamedev
53コメント13KB

ディグダグ2の島が崩れるアルゴリズムが

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。03/11/18 00:41ID:Crpq0T4L
すげーわからん一日中考えたけど結局わからなかった。
囲碁のアルゴリズムか、オセロのアルゴリズムを使えばいいのかわからん。
IQ87の俺の頭じゃ限界だr助けてくれ
0004名前は開発中のものです。03/11/18 20:23ID:d3NPi9o5
だから、単発質問スレはダメだってあれほ(ry
0005名前は開発中のものです。03/11/18 22:45ID:VJuiMxLk
こういう風にいきなりケリがつくからな。
0006名前は開発中のものです。03/11/18 23:22ID:k1jOtDbq
IQ87でもわかるようにペインターアルゴリズムを説明しる
0007名前は開発中のものです。03/11/18 23:23ID:k1jOtDbq
だって糞スレたてないと誰もレスつけてくれないんだもん
0008名前は開発中のものです。03/11/18 23:27ID:fCRVrrKJ
レスつけてもらえてよかったな。
悪いことだと分かってるなら、早いところ削除依頼出してこいよ?
0009名前は開発中のものです。03/11/18 23:44ID:k1jOtDbq
たぶん削除依頼だしても削除されないと思うんだよ。
前にも削除以来出したんだけど削除されなかったからさあ・・・
0010名前は開発中のものです。03/11/19 00:13ID:zV8ta+5e
クソスレいいじゃねーかよ
どうせクソ板なんだからよ
0011イタチ飼い03/11/19 02:04ID:6Xr8xysS
ディグダグ2といえば、ファミコン版は40何面だったかで投げたな。
スプライトラインオーバーで敵がまったく見えん。ありえねえ。
0012名前は開発中のものです。03/11/20 01:16ID:+szHshA9
>>3
小さいほうじゃなくてプレイヤーのいない方じゃなかったっけ?
自分が乗ってる島は崩れたりしなかったような。

まぁペインタアルゴリズムについてはわからん奴はググれと。
0013名前は開発中のものです。03/11/20 15:35ID:UU+R17Y2
いや、必ず小さいほう。
そのせいで、自分も溺れることがある。
0014名前は開発中のものです。03/11/21 00:01ID:Tx8GiByW
10.2.2 奥行きソート法(depth sorting algorithm)


奥行きソート法は,
優先順位アルゴリズムとかペインタアルゴリズム
とも呼ばれる.
ソートは整列とか分類ともよばれ,
データ列をデータのキー項目について,
その大きさの順(昇順か降順)に並べることである.
0015名前は開発中のものです。03/11/21 03:36ID:ptMouEaE
マップなんてブロック毎にわけてればたいした大きさじゃないし
ひび割れを起こした時に一度チェックすれば済む話なので簡単そうだがな。
マップを配列にしておいてひび割れによって区切られた部分でフラグを起こしていけばできそう。

例えばブロックを海、陸、ひび割れ(ヒビ)の3種類にわけてプレイヤーがひび割れを作った時点でチェック。

まずはマップ全体をチェックし、陸地の個数を記憶。

次にヒビのつながりを調べて陸地が分断されたかをチェック。
海→ヒビ→・・・→ヒビ→海と繋がっていたら分断とみなし、陸地の沈没処理へ。

次に陸地部分を塗りつぶしと同じ要領(スキャンラインだっけ)で走査してフラグを立てていく(同時に塗りつぶした個数も覚えておく)
塗りつぶしが終わった時点で個数を調べて全部の陸地のうち塗りつぶした部分とそうでない部分の数を比較
塗りつぶした部分のほうが少なければそっちを沈没。そうじゃなければ残りのほうを沈没。で、終了。

適当に考えてみたが、こんなもんか?
0016名前は開発中のものです。03/11/21 12:58ID:gs8jhwlW
あっほー
0017名前は開発中のものです。03/11/21 18:03ID:sQhN3DhF
う〜れしいなぁ♪
うれしいなぁ〜♪
0018名前は開発中のものです。03/11/21 23:11ID:du27YTXl
>15

いい感じだ。あと、1マスだけ落としたら魚が跳ねるのを忘れるな。ちゃんとそれをモリで撃てるようにな。
00191503/11/22 00:49ID:KFMeZDs1
>>18
大丈夫だ、1マスだけのときは例外投げるので魚クラスでCatchすればおkのはず(←Javaかよ)
0020名前は開発中のものです。03/11/22 03:06ID:16OYWIdA
>>15の案を誰かソースに起こしてくれ、IQが87だとわからない。

VB、QBASIC、JAVA、Cできぼん
0021名前は開発中のものです。03/11/22 06:49ID:vT6OwUZa
VBとQBASICとCはいらん
0022名前は開発中のものです。03/11/22 08:23ID:OLl4oDEu
リブルラブルのアルゴリズムの方が余程難しいわタワケ
0023名前は開発中のものです。03/11/22 09:00ID:16OYWIdA
>>22
名古屋人ハケーン
0024名前は開発中のものです。03/11/22 09:45ID:SwiyTdf1
>>21
むしろJAVA要らない。
0025名前は開発中のものです。03/11/22 15:47ID:kcIpV7xt
>>22
リブルラブルってよく塗り間違えるよな
0026名前は開発中のものです。03/11/22 22:03ID:qLrNXSBU
アルゴリズムレベルで言語を指定する時点で〜⊂´⌒∠;゚Д゚)ゝつ {イ、イッテヨシ...
0027名前は開発中のものです。03/11/23 00:25ID:pL8MRiMX
>>20
おいおい、次はIQ87だからコンパイル出来ないとか言い出すんじゃないだろうな?
0028名前は開発中のものです。03/11/23 03:23ID:JQQCytpE
>>27
コーディングとコンパイルはできるから任せて
0029名前は開発中のものです。03/11/23 21:17ID:DtVBQZay
でも、リンクができない罠w
0030イタチ飼い03/11/24 01:39ID:5Ww60Vn+
難易度的にはこんなとこか。

リブルラブル>>>>>>>クイックス>(越えられない壁)>ディグダグ2

00311503/11/25 00:27ID:b47pLzot
リブルラブル、そんなに難しいかなぁ・・・面倒そうではあるが

んじゃま、皆でリブルラブルのアルゴリズムを妄想してみるか。
自分じゃ作らない(作れない)けど、考えるだけならいくらでもできるし、
アルゴリズムを考えるのはプログラミングのいい練習になるんじゃね?

前提条件としてはこんなもんか。
・画面上にはいくつかの杭が配置されている
・リブルとラブルの間はヒモで結ばれている
・ヒモは杭に引っかかる
・ヒモの長さは無制限
・ヒモがクロスするとその内側が塗りつぶされる。

塗りつぶしは杭を頂点とした多角形のペイントで良さそう。
問題はヒモと杭の当たり判定部分か。
杭の数もそんなに多くないし、やっぱ杭毎にヒモとの接触フラグを
持たせるほうがいいのかなぁ?
00321503/11/25 00:41ID:b47pLzot
条件に追加。
・ヒモには敵との当たり判定がある
・ハサミみたいな敵に切られる場合がある
・ヒモが切られた場合は現在のリブルとラブルの位置に新たに出現する
・ヒモに触れると自分に向かってヒモを伝ってくる敵がいる。

※一緒に考えたい奴は適当にアイデアだしてくれ。
※あと、実際に作ってくれる神も大募集中でつw
0033名前は開発中のものです。03/11/28 14:19ID:uXQnpRL5
>>31
> 塗りつぶしは杭を頂点とした多角形のペイントで良さそう。

リブルラブルの杭にはちゃんと大きさがある
から、もっと難しいはず。

杭の数には制限があるかもしれんが
異様に密集しているとき(40面の配置)でもちゃんと動くようにしないといけないぞ。

そして68000の5MHzで60fpsで動かせるように頑張れ。
0034名前は開発中のものです。03/12/03 11:09ID:Q8K+61yA
GUIOSの画面みたいなもんだよな
アップルでも解析したんだろうな
0035名前は開発中のものです。03/12/03 11:28ID:Q8K+61yA
ttp://www001.upp.so-net.ne.jp/LibbleRabble/main-frame-u.html
CPU1個じゃないわけか
すげー
0036名前は開発中のものです。03/12/07 13:48ID:Rno+nzv+
>>36
すげー
0037名前は開発中のものです。03/12/07 20:13ID:RfbYmCcE
>36
すげーw
0038名前は開発中のものです。04/01/12 00:11ID:YA3ghbTt
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&q=%83y%83C%83%93%83%5E%83A%83%8B%83S%83%8A%83Y%83%80

ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&q=%89%9C%8Ds%82%AB%83%5C%81%5B%83g%96%40

ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&q=%97D%90%E6%8F%87%88%CA%83A%83%8B%83S%83%8A%83Y%83%80
0039304/01/12 11:04ID:qiUVhG4U
ちなみにシードフィルアルゴリズムと間違えました。すいません。
0040名前は開発中のものです。04/01/12 11:20ID:YA3ghbTt
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&q=%83V%81%5B%83h%83t%83B%83%8B%83A%83%8B%83S%83%8A%83Y%83%80
0041名前は開発中のものです。04/01/12 11:46ID:YA3ghbTt



                  見つかったところで

                    〜終劇〜

0042名前は開発中のものです。04/01/12 12:53ID:JRbL47Oq
リブルラブルはPAINT処理中はゲーム進行がとまってるから、意外とたいしたことないよな
0043名前は開発中のものです。04/01/12 15:33ID:u5e4/O/l
ペイント中に動けたらゲームのシステムが破綻せんか?
0044名前は開発中のものです。04/01/13 00:09ID:aHg59ics
リブルラブルのペイント処理はどうってことないじゃん。
どちらかというと、杭にヒモが引っかかるのが「えっ!?」って思ったよ。
0045名前は開発中のものです。04/01/13 19:10ID:3x0c+W8I
そうか?点が線分の内か外かを計算するだけじゃん。
0046名前は開発中のものです。04/01/13 23:06ID:FNfivq3T
杭の太さも考慮した表現の仕方を考えてみたが俺は挫折した。
しかも端と線、端と端だけでなく、線と線でも囲んだと判定させるんだよな…
0047名前は開発中のものです。04/01/13 23:50ID:1X1iOCPv
線毎に頂点とノードを配列に持つ。
杭に接するとそこで線データは2件になり、離れればそこを支点にした2件はまた1件になる具合。

カーソルのいる線の末端が他の線に触れたら、触れられた側の線をそこでまた2件に分け、囲み判定開始。
0048名前は開発中のものです。04/01/14 21:57ID:OFOIhCeA
今こそ3Dリブルラブルを

ダンシングアイは3Dクイックス
0049名前は開発中のものです。04/03/18 20:14ID:8tfh18DJ
>>48
3Dかぁ、つーことはリブル(X軸)とラブル(Y軸)とルブル(新キャラ:Z軸)の3つを操作するわけだ。
いいねぇ。



俺は遊ばないけどな。
0050名前は開発中のものです。04/03/19 04:01ID:yhsTlmIQ
クイックスの塗りつぶしのアルゴリズムと似てるかも。
フリーのクイックスで遊んでて塗りつぶし率100%出た。。。
ありえないし。
0051名前は開発中のものです。04/05/12 03:52ID:mUyYV4MS
崩れてるようにみせるだけでいいんだ
0052名前は開発中のものです。04/10/01 10:05:52ID:r87Xa2jx
>>1
Xonixのソースをミロ
0053名前は開発中のものです。05/03/10 22:49:19ID:M4Em59KN
sage
■ このスレッドは過去ログ倉庫に格納されています