[過去ログ] 【ウディタ】WOLF RPGエディター 其の69 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
164: 2021/03/14(日)12:33 ID:BeWsaKm5(1/6) AAS
方向転換後に向き取得するのじゃダメなのか?
具体例がないから何がしたいか分からん
165(1): 2021/03/14(日)16:22 ID:PecVvPiR(2/4) AAS
具体例と言われてもな…
現在の向きnから左に90度回転した場合の向きmを求める式は作れるか?とかのが伝わるのかな
n=2のときm=6、n=4のときm=2、n=6のときm=8、n=8のときm=4
ってのは自明だけど、一般化できるか?みたいな
166(1): 2021/03/14(日)17:25 ID:BeWsaKm5(2/6) AAS
わざわざそれを作る理由が分からんと言うか何というか
一般化は可能だけど条件分岐より?軽いかどうかは分からん
計算コマンド10行以上使うと思うし
167: 2021/03/14(日)17:32 ID:gIkOO6c1(1) AAS
>>165
自前で時計回りに方向を表す0〜7の定数を定義して、回転操作は加算と剰余、テンキー方式への変換はテーブルを用いる、というだけでいいのでは?
168(1): 2021/03/14(日)17:35 ID:yB+dwvMO(1/4) AAS
俺も似たようなことを考えたことはあるが諦めた
基本的には時間の無駄、動作速度に影響など全くないだろう
どうしてもやるなら
逆向きの処理が似ていることを念頭に置いて5を利用すべかな
あとは余りやビット演算を駆使すれば見つかるかもしれんね
169: 2021/03/14(日)17:36 ID:yB+dwvMO(2/4) AAS
つーか皆色々考えるのな
俺は半端だったか、でも基本分岐でいいと思うぞ
コモンにしておけば汚れて見えることもないよ
170: 2021/03/14(日)17:39 ID:BeWsaKm5(3/6) AAS
確かにテーブルのが早そうだな
呼び出しで計算コマンド何個分だったっけ
171: 2021/03/14(日)17:56 ID:PecVvPiR(3/4) AAS
>>168
そうそう、まさに考えるだけ時間の無駄って思って条件分岐で実装済みなんだけど、好奇心から質問したんだよね
>>166
ぜひその一般化した式を教えてください お願いします
172: 2021/03/14(日)18:02 ID:BeWsaKm5(4/6) AAS
ほい。
ざっくり16行ぐらい。頑張ればもうちょい減らせるかも
cself11が方向転換後の値ね
WoditorEvCOMMAND_START
[121][4,0]<0>(1600020,0,0,0)()
[103][0,1]<0>()("右回転=0、左回転=1")
[121][4,0]<0>(1600021,1,1600020,4096)()
[124][4,0]<0>(1600010,4096,-2,5)()
[121][4,0]<0>(1600010,1,0,512)()
[121][4,0]<0>(1600011,1600010,3,16384)()
省12
173(1): 2021/03/14(日)18:05 ID:BeWsaKm5(5/6) AAS
知っての通り、テンキー配置-1に%3と/3すれば上下と左右を分割できるんだけど、それを捏ね繰り回した形
174: 2021/03/14(日)19:21 ID:yB+dwvMO(3/4) AAS
俺もやってみるか
右45度回転で+3または-3の必要な向き1、4、6、9を
+1または-1の必要な2、3、7、8と分離してみることから始める
全て-5してみると、-4、-1、1、4と-3、-2、2、3、絶対値で41143223
%3で1111と0220、さらに%2で1111、0000
これをAとして、B=1-AとするとA*3とB*1で補正値Cが生まれる
あとは1、4、7、8であればプラス、2、3、6、9であればマイナスにすればいい
1のクソッタレが邪魔なので11を割った時の余りで処分する
これで0343と1252だ、%4で0303と1212だな、こうなれば簡単だ
+1してから%3すると1111と2020、%2で1111と0000が得られる
省2
175: 2021/03/14(日)19:43 ID:yB+dwvMO(4/4) AAS
最後で90度といってしまったが実際は45度だった
まあ絶対使わないからどうでもいいんだけども
176: 2021/03/14(日)20:22 ID:PecVvPiR(4/4) AAS
>>173
おーありがとうございます!
177: 2021/03/14(日)21:20 ID:BeWsaKm5(6/6) AAS
軽さとか気にしないなら回転座標変換使ってもいいぞ
直感的にはそっちのが分かりやすい
178(2): 2021/03/15(月)00:12 ID:SbK/0dIB(1/2) AAS
上下左右(2, 4, 6, 8)だけでいいなら
2か8をかけて10で割った余りを出せば90度、10から引けば180度回転できる
179: 2021/03/15(月)00:20 ID:BPeU1NVF(1) AAS
>>178
まさにこういうのあるんじゃないかと思ってたまんまの式を出してくれた
ありがとう天才
180(3): 2021/03/15(月)01:36 ID:9Kbj6lkG(1/2) AAS
ウディタでノベルゲーってどうなのかな
ノベルゲーなら専門のソフトがあるだろと言われるだろうけど大抵ノベルゲー作成ソフトって吉里吉里等プログラミング系で
唯一視覚的に出来そうなのがティラノビルダーだけど有料で(無料は制限がかなり厳しい)
有料もティラノスクリプトと比べると制限があるようなので
出来ればウディタが個人的に使いやすかったので作りたいのだけど
さすがに専門外すぎてウディタでは専門ソフトに比べて作り辛いのであれば
一から勉強し直してでもティラノビルダーとかにすべきか迷ってる
ウディタとノベルゲー専門ソフトでノベルゲー作ったことある人いるかな?
181: 2021/03/15(月)02:02 ID:09sLTkkw(1/3) AAS
4方向だとその方法があるのか。目からうろこだわ
8方向でも掛けたあとに += 5 * (方向 % 2) すればその方法でいけるな
182: 2021/03/15(月)02:30 ID:09sLTkkw(2/3) AAS
45度の場合は
右回転 (方向 * 3 + (方向 % 2) +5 * (1 - (方向 % 2)) ) % 10
左回転 (方向 * (7 + (2 * (方向 % 2) ) ) + 5 ) % 10
だな。計算式が美しくないからもうちょっとスマートな方法がありそう
183: 2021/03/15(月)02:37 ID:a+FgTZ1E(1/4) AAS
いや十分すげーだろ
>>178もそうだが、よく見つけたもんだ
突き詰めれば条件分岐より早いのかもしれんな
上下前次1-新書関写板覧索設栞歴
あと 819 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s