[過去ログ] 【ウディタ】WOLF RPGエディター 其の71 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
479: 2022/11/27(日)14:56 ID:00dBib9q(1) AAS
3.081
画像リンク
480(1): 2022/11/27(日)15:38 ID:fferOYec(1) AAS
パーティ内の順番調べたいなら可変DB見れば一発だが
やりたい事がいまいち分からん
481(2): 473 2022/11/27(日)16:01 ID:ssUaNl7O(3/5) AAS
>>480
目的は「パーティ内のキャラの並び順をID番号の小さい順にする」こと
その為に必要なのは「そのキャラのIDは現パーティ内で何番目かを把握する」こと
その為に必要なのは「IDの数字を「順位」に直す」こと
例えばIDが 2 4 12 8 6 7 だったら
2 4 6 7 8 12 の順に並べ直した上で1~6までの数字に直してコモンセルフ変21~26にそれぞれ記録
一度仲間を全員外した後でそれを条件にして順番に再加入させる
これができれば「パーティ内のキャラの並び順をID番号の小さい順にする」というのができるんだけど、どうやら「複数の変数同士の数値を比べて順位付けする」という機能はないようです
482: 473 2022/11/27(日)16:04 ID:ssUaNl7O(4/5) AAS
×2 4 6 7 8 12 の順に並べ直した上で1~6までの数字に直してコモンセルフ変21~26にそれぞれ記録
〇2 4 6 7 8 12 の順に並べ直した上で1~6位までの順位に対応したコモンセルフ変数21~26にそれぞれ記録
483: 2022/11/27(日)16:22 ID:XNmcUDKt(1) AAS
>>481
複数変数内での順位を調べる関数的なのは無い
ただその目的であれば順位が分からなくてもバブルソートで行ける
484(1): 2022/11/27(日)16:26 ID:rql/XECy(4/7) AAS
あぁ、なるほど!
噛み砕いて説明すると、並び替えのことをソートっていうんだよね。
並び替えの方法の1つのバブルソートっていう方法があるんだ。
基本システム2の戦闘の行動順も実は、素早さの大きい順にバブルソートしてて、
バブルソートっていうのは、値を比較して大きい方が手前、又は小さい方が手前に来るように、
ループ内で何度も交換して、並び替える方法なんだ。
だから、バブルソートってさっき言っていた人は正解!
初心者は、専門用語急に言われてもわかんないよね……。
ただ、明確な定義が必要な場合って結構あるから、
どうしても専門用語できちゃうんだよね!
485: 2022/11/27(日)16:29 ID:rql/XECy(5/7) AAS
あ、ごめん、レス番号付けてない中、タイミング被っちゃったね……。
>>484 は >>481 に対するレスね。
紛らわしくてすまん。
486(1): 2022/11/27(日)16:47 ID:IXoV13Jw(1/2) AAS
なんでバブルソートなの?
クイックソートやマージソートではダメなの?
ソートできりゃ何でもいいと思うんだが
効率ガーとか言うならバブルソートは一番効率的なソート方法ではないでしょ
487: 2022/11/27(日)16:47 ID:IXoV13Jw(2/2) AAS
なんでバブルソートなの?
クイックソートやマージソートではダメなの?
ソートできりゃ何でもいいと思うんだが
効率ガーとか言うならバブルソートは一番効率的なソート方法ではないでしょ
488(1): 473 2022/11/27(日)16:48 ID:ssUaNl7O(5/5) AAS
どうにもならなそうなんで
「パーティメンバーを0にする」コモンを作ってメンバーチェンジのイベント時にコモン005の直前に使う
並び順はその時に記述して指定するというダサい方法で妥協します
制作者の方にはぜひ複数の変数を順位付けして扱える機能の実装を求めます
489(1): 2022/11/27(日)17:00 ID:iMvCzC53(1) AAS
普通に仲間DBの1から順に在籍判定していけよ……
んで、引っかかった奴から順に変数格納していくと。
CDB用意してバリアブルした後に「何番目か」決めるなんて可読性低いやろ。
490(2): 2022/11/27(日)17:08 ID:Lz3W71eC(4/4) AAS
バブルソート機能くらい自分で作ればいい
2,4,12,8,6,7なら、2と4、4と12…って比較・入れ替えしていってだんだんゴール地点を前にしていけばいい
ちなみにこのID数だとバブルソートの計算量が一番少ないと思う
画像リンク
491: 2022/11/27(日)17:22 ID:rql/XECy(6/7) AAS
>>473
元も子もないこと言うとプレイヤーが並び順を変えられるようにした方が、
プレイヤー側も使いやすいし、工数も減るから、ID順に並び替えちゃうのは勿体ない。
ソート機能入れるなら、ソート用の能力値を選べるようにして、
その能力値順に並び替えるくらいした方が喜ばれる。
>>486
バブルソートは、実装が簡単で、コムソートへの強化も容易だし、
他のソートを学ぶ良い練習になるから、基本システム2に入っているんだろうけど、
クイックソートやマージソートを選ぶ辺りガチ勢で草
>>490
計算量の程度がなんとなくでわかるくらい感覚が身に付いていて草
仕事でも日常的に使ってそう
492: 2022/11/27(日)17:57 ID:rql/XECy(7/7) AAS
(誉め言葉のつもりでございやしたけど、
絡まれるの嫌でしたらすいやせん……、自信失くしたんでROMりやす……)
493: 2022/11/27(日)18:34 ID:/CcSyHBt(2/2) AAS
ウディタは配列構造を持ってないから、デフォルトで適切なソート機能が無いのは仕方ない
大変かもしれんけど、自分で目的に合わせて作るのが一番良い
494: 2022/11/27(日)19:00 ID:uX30wO11(1) AAS
素早さで順番変えるソートのやり方がわからんから
変数を1ずつ減らしていってゼロになったら行動開始みたいな戦闘作ってた思ひ出
495: 2022/11/27(日)20:05 ID:E9q8qygY(3/4) AAS
そういう戦闘も面白いんだけどな
ターン制ではなくなるが
496: 2022/11/27(日)20:52 ID:BPuKCYxM(1) AAS
>>489
の案は設計が安定すぎる
パーティメンバーが有限なら、内部変数として重複しない裏IDを設定しておき、別項の有効/無効でスキップする
並べかえる場合も参照用DBを用意すればいいわけで、プレイ上の動作と内部処理を同じにする理由はない
データ型に極度の最適化を求めると、プレイ中のソート画面のUIデザインまで関係してくるから面倒よね
>>488
複数の変数を順位付けって、評価関数でまとめて出力できるよね?
ウディタには変数の変数呼び出しが実装されているわけだし、"体力x10^6 + 攻撃力x10^2 + ID"やら、好きに作れる
タイプ番号は固定なわけだから、比較する項目(変数)番号を改行込みの文字列につっこんでコモン呼び出し、
戻り値を保存。これをソートすればいい
497: 2022/11/27(日)22:53 ID:qzO1ulMA(1) AAS
変わり種で解こうとピクチャ使ってみた。計算量は知らん
WoditorEvCOMMAND_START
[121][4,0]<0>(1600012,-1,0,0)()
[179][1,0]<0>(6)()
[250][5,4]<1>(6,0,1,4096,1600011)("","","","")
[121][4,0]<1>(1600012,1600011,1,1536)()
[111][4,0]<1>(1,1600011,0,1)()
[401][1,0]<1>(1)()
[150][11,1]<2>(32,1600011,0,1,1,1,255,0,0,100,0)("")
[300][4,1]<2>(0,2,1,1600011)("○メンバーの増減")
[499][0,0]<1>()()
[498][0,0]<0>()()
[121][4,0]<0>(1600011,0,0,0)()
[179][1,0]<0>(1600012)()
[124][4,0]<1>(1600013,16384,1600011,9)()
[111][4,0]<1>(1,1600013,1,2)()
[401][1,0]<1>(1)()
[300][4,1]<2>(0,2,0,1600011)("○メンバーの増減")
[150][3,0]<2>(34,1600011,0)()
[499][0,0]<1>()()
[121][4,0]<1>(1600011,1,0,256)()
[498][0,0]<0>()()
WoditorEvCOMMAND_END
498: 2022/11/27(日)23:11 ID:36D3lPOa(1) AAS
要素数少なければバブルソートで十分高速
たかが数十や数百なら前準備の必要なクイックソートよりも速いだろ
499: 2022/11/27(日)23:29 ID:E9q8qygY(4/4) AAS
ってか基本システムにバブルソートあるって言ったじゃんよ
アレ戦闘でしか使わんし、適当に書き込んで使えば良くね?
ちょっと読めば0番はソートしないことも
データ数をどこに書き込めばいいかも分かるじゃん
ついでに言えば3つ以上の実数の大小を判定するには
結局2つの実数の大小の判定が必要なわけで
ソート機能がデフォであるかどうかに大層な意味なんて無いよ
500: 2022/11/28(月)01:00 ID:aHbDfZFH(1) AAS
説明してもガン無視だと正直教えようがない
分からなくて聞きに来たんだから理解に苦しむ部分があるなら徹底的に聞いて良いんよ
501(2): 2022/11/28(月)01:42 ID:ignY9oVm(1) AAS
お前ら将来的なブラウザ実装も見据えとけよ?
カッケー高速処理に変数やらCDBやら無駄に使って
セーブ容量増やす方が悪手だと思うぜ!
502: 2022/11/28(月)01:57 ID:S54jUEYF(1) AAS
そういえば-vinput、-sinput機能無くなったな
残念でもないし当然だけど
503(2): 473 2022/11/28(月)07:43 ID:qIu1sR3B(1/2) AAS
>>490
1人目と2人目、2人目と3人目を入れ替わりが起こらなくなるまでループで延々入れ替え続けるのですね
・システム的に並び順にメリットデメリットがない
・作品設定では仲間に順番がある(背番号
なので常に並び順を揃えた方がわかりやすくてきれいに収まるとおもったので
504: 2022/11/28(月)08:09 ID:tsc55fdD(1) AAS
>>503
そうそう
最後まで処理が進むと数列の最大値が右端に行くのが分かると思う
次からは右端とは比較しなくていいから右端の一つ手前で処理を終わらせる
繰り返すと
このくらいの処理の負荷は無と変わらんレベルなので毎フレームやってもまったく問題ないよ
505: 2022/11/28(月)09:31 ID:gtVQgl7J(1) AAS
ドラクエ11の戦闘みたいなことがしたいってことか
506: 473 2022/11/28(月)10:33 ID:qIu1sR3B(2/2) AAS
回数制限付きループ処理ですが狙い通りに行きました
アドバイス感謝です
507: 2022/11/28(月)11:15 ID:glpBySQH(1/4) AAS
ウィキペディア何気に凄いよな!
バブルにコム、クイック、そしてマージ、さっきあがったソート全部あって、
いつも助けられてるわ!
>>501
俺も一応ブラウザ見据えている派だが、
アップデート以外オフライン環境限定にしたい派の方が現状多数らしいぞ?
ちなみに、ブラウザ対応するなら、方向キーに関しては >>446 がいうのと同じように
変数で仮想化した方が、押しっぱなしバグの可能性を減らせるらしいぞ!
ご存知だろうが、デフォルトのセーブを使わず、テキストとかに保存したり、
オンライン機能使ってスプレットシートとかにセーブするなら
セーブポイント型にして、セーブ地点で全回復するようにすると、
パラメータと位置記録データの分を節約できる!
勿論、どれを節約するかは好み次第だし、
ターゲット層を広げすぎるとテーマがぼやけるから、
ブラウザ対応を捨てるのも選択としては素晴らしいのだが。
>>503
なるほどな! そういうことなら、ソートするのも納得だわ!
508: 2022/11/28(月)11:22 ID:glpBySQH(2/4) AAS
というか高速処理って言葉自体あれだよな。
ソート系だと計算量が少ない方が、高速と言われているから、
高速処理の方が負荷が少なく、ブラウザと相性が良いということになる。
一方まれに、ウェイト数少なくて上限いっぱいな分速いのを高速処理という人もいるが、
両者の間で溝が深まっている。
上下前次1-新書関写板覧索設栞歴
あと 494 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s