NEW  |  HOME  |  OLD

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NEW  |  HOME  |  OLD

nullnul中のpersistent

7/29
18:52 (hitachi) ぬるぬるの中のpersistent = 128の意味がわかんねえ
18:53 (hitachi) そこを128に書き換えるってことなのか?
18:53 (sudara13) persistent = 128 ってなんかよくわかんないねそれ
18:54 (blue-eyes) 普段なら「次Fに実行するかどうか」をきめるのがpersistentなんですが、
18:54 (blue-eyes) 親変更で使われる分には「単なる定型文」程度で十分です
18:55 (hitachi) うぬぬ
18:55 (blue-eyes) ただ、この数値が128以下の場合と129以上の場合とでアドレスの書き変え方の法則が異なります
18:55 (blue-eyes) 例えば・・・これをalive領域にpersistent
18:56 (blue-eyes) をいれてaliveをデバッグしてみるとよく分かります
18:56 (blue-eyes) それによって見えた法則とまったく同じ動きで影のIDも変化します
19:06 (hitachi) 552個目にpersistent = 128で32000
19:06 (blue-eyes) alive領域って553-556では(
19:06 (hitachi) え?
19:07 (blue-eyes) 違いましたっけ・・・?
19:08 (hitachi) 邪眼キラー用のステコンを後からぬるぬるの上に置いたんで
19:08 (hitachi) 個数がそのぶんズレてました
19:08 (hitachi) はい
19:08 (blue-eyes) なるほどw
19:10 (hitachi) 554個目は8192000
19:11 (hitachi) 555個目で2097152000
19:12 (hitachi) 556個目で0と
19:15 (hitachi) それぞれ上から2^5*1000、2^12*1000、2^21*1000 か
19:15 (blue-eyes) えっと・・・
19:16 (hitachi) ちがう8192は2^13だ
19:17 (blue-eyes) persistentがついてるステコンってnullですか?それともchangestate?
19:17 (hitachi) nullですね
19:19 (blue-eyes) どうです?aliveの値リアルタイムで変化してますか?
19:19 (blue-eyes) もっとも、そのためには長時間そこにとどまり続ける必要がありますが
19:20 (hitachi) 超即死改ってやつですね
19:20 (hitachi) だんだん減って最終的に0になります
19:20 (blue-eyes) 0で止まりますか?
19:21 (hitachi) あー
19:21 (hitachi) 既存のキャラをそのまま使ってるので0になったらchangestateしてるせいですか
19:21 (blue-eyes) ですね、問題なのは0になった後です
19:26 (hitachi) 0になったら次は32512になりました
19:27 (hitachi) 553個目にpersistent = 128をつけた結果です
19:27 (blue-eyes) そんな感じにして数値が増えるんです、さてその32512ですが、
19:27 (blue-eyes) 3番目のアドレスですね・・・
19:27 (blue-eyes) ちょいと待ってくださいね・・・
19:29 (blue-eyes) 256進数で言う2桁目、つまりその数値をアドレス一つ分が占める値である256で割ると・・・
19:29 (blue-eyes) 127が出てくるんです
19:29 (hitachi) 554個目は65536の次に
19:29 (hitachi) 失礼消しそこねた
19:29 (blue-eyes) よくある話です
19:32 (hitachi) 553個目→256進での2桁目 554個目→3桁目 555個目→4桁目に相当するんですね
19:32 (blue-eyes) 553ってのはnullの数ですか?それとも全ステート数ですか?
19:32 (blue-eyes) 確認ですが
19:32 (hitachi) ステコン数です
19:33 (blue-eyes) あれ?だったらさっきのと計算が合わないなー・・・
19:33 (blue-eyes) ただ、実際の順番は逆なんです
19:34 (blue-eyes) 全ステコン数が553-556がalive領域なんですが、556が一桁目で、553が4桁目になります
19:35 (blue-eyes) 全ステコン数と言ったら語弊があるな・・・
19:36 (hitachi) ステート内の総ステコン数ってことですか?
19:37 (blue-eyes) すみません語弊がありました、該当するpersistentがあるところまでのステコン数です
19:37 (hitachi) persistentのステコンも含めた数なら
19:37 (hitachi) ↑の数字の結果になりました
19:38 (hitachi) トリガーの条件を満たしてないものでもステコン数に含まれるなら
19:38 (hitachi) もう一個増えます
19:39 (blue-eyes) 後者ですね、トリガーが満たされていなくても数に含まれますので
19:59 (hitachi) あらためてステコン数をちゃんと調整した結果
20:00 (blue-eyes) うにゃにゃ
20:00 (hitachi) 553個目→126 554個目→32000
20:01 (hitachi) ってなりました
20:02 (hitachi) で、554個目はAlive35512でループ
20:04 (hitachi) これはaliveっ領域の
20:04 (hitachi) 各桁がpersistentに相当してるってことですか
20:04 (blue-eye_) うおお、白夜のてきすと見て思い出しました、553番目のアドレスが1桁目であってます。すみません
20:05 (blue-eye_) ですね、厳密には、0になった後どの桁の値も25
20:05 (blue-eye_) 127になってますよね?
20:08 (blue-eyes_) あともうひとつ、553のところにpersistent=128以外の数値・・・
20:08 (blue-eyes_) たとえば、persistent=100を入れてどうなるか、ですね
20:09 (blue-eyes_) たぶんそれで法則が見えるはずです
20:09 (hitachi) Alive=98になりました
20:10 (blue-eyes_) あれ、98ですか?
20:10 (hitachi) その後は99でループしてます
20:10 (blue-eyes_) よかったw
20:11 (blue-eyes_) 今ので分かったと思いますが、ループを起こす時、その最大値はpersistentで定めた値よりも1小さい値になるんです
20:11 (hitachi) 256進の各桁を[0xFF][0xFF][0xFF][0xFF]と表現して
20:12 (hitachi) 0xFFのところが(persistent -1)になるってことですか
20:12 (blue-eyes_) そんなところですね
20:12 (blue-eyes_) 超即死改の時は問答無用で0にするだけでよかったんですが、
20:13 (blue-eyes_) 親変更の場合はその値が0とは限りません
20:13 (blue-eyes_) それをコントロールするには、さっきの法則を頭の片隅にでも留めておく必要があります
20:14 (hitachi) persistentが129以上だと0になりますが
20:14 (blue-eyes_) 129以上では法則が異なり、nullで129以上のpersistentを使おうとすると必ずそうなります
20:14 (blue-eyes_) 129以上が必要になるのはかなり先の話ですw
20:17 (blue-eyes_) ループによる自動変化を利用すればpersistent=128ひとつで[0-127]の範囲内で任意の値にできるので、
20:17 (blue-eyes_) 実質的に利用されるのは128だけとなり、殆どの親変更記述にpersistent=128が採用されています
20:18 (hitachi) ループによる自動変化ってのは
20:18 (hitachi) なんですか?
20:18 (blue-eyes_) 例えばさっきの場合ですと、99になったあと次のFでは98になりましたよね?
20:19 (hitachi) あー
20:19 (hitachi) 99
20:19 (blue-eyes_) その次のFでは97、次が96・・・と、これを繰り返して0になった後もう一度99に戻る・・・
20:20 (hitachi) 99から3づつ減ってぴったり0になってKOされました
20:20 (blue-eyes_) 3ずつ?w
20:20 (hitachi) 値を変えたらちゃんと見れましたが
20:20 (blue-eyes_) これを利用してループを続けていけば、いずれ目的の数値になるタイミングが必ず現れます
20:21 (hitachi) ;[state 10002,死んだら帰れ]
20:21 (hitachi) ;type = null;selfstate
20:21 (hitachi) ;trigger1 = !alive
20:21 (hitachi) value = 5150
20:21 (hitachi) ;ignorehitpause = 1
20:21 (hitachi) ;persistent = 256
20:21 (hitachi) [state 10002,hitpause不足は帰れ]
20:21 (hitachi) type = changestate
20:21 (hitachi) ;trigger1 = alive
20:21 (hitachi) trigger1 = hitpausetime = 2
20:21 (hitachi) value = 20700
20:21 (hitachi) ignorehitpause = 1
20:21 (hitachi) persistent = 256
20:21 (hitachi) [state 10002,死んでなかったら続行]
20:21 (hitachi) type = changestate
20:21 (hitachi) ;trigger1 = alive
20:21 (hitachi) trigger1 = hitpausetime > 2
20:21 (hitachi) value = stateno
20:21 (hitachi) ignorehitpause = 1
20:21 (hitachi) persistent = 256
20:21 (hitachi) これのせいで3ずつ減ってるんですかね
20:22 (blue-eyes_) たぶんそれですね、おそらく原因は一番下のループでしょう
20:23 (blue-eyes_) ただ、何で3ずつなのかは謎ですが
20:24 (blue-eyes_) まっとうに数値を変化させていけば必ず1ずつ減るはずです
20:34 (hitachi) 3ずつ減る理由がわかった
20:34 (blue-eyes_) うにゃにゃ
20:34 (hitachi) ステコン群の最初にある邪眼キラーや本体が避難する用のchangestateのせいでした
20:35 (blue-eyes_) そうでしたか・・・
20:35 (hitachi) nullにしたらちゃんと1ずつヘリました
20:35 (blue-eyes_) 了解です
20:36 (blue-eyes_) ・・・というわけで、その1ずつ減るのを利用して目的の数値が来るのを待つんです
20:36 (blue-eyes_) それが、あの記述にあったpersistent=128の意味です
20:36 (hitachi) よし理解した
20:36 (hitachi) ありがとうございました
20:36 (blue-eyes_) いえいえ
20:37 (blue-eyes_) ちなみにですが
20:37 (blue-eyes_) persistent=129以上は全領域親変更の時に必要となりますが、
20:37 (blue-eyes_) 知っての通り途方もない作業になりますw
20:38 (hitachi) 3桁目以降の話ですか
20:38 (blue-eyes_) いえ、persistent=128では[0-127]の範囲内で任意の値にできますが、
20:38 (blue-eyes_) [128-255]の範囲はどうやって弄るんだってときにこれが出てきます
20:50 (qeg) persistent=var(うんたらかんたら)とかできれば全領域の軽量化は造作も無さそーだが
20:53 (blue-eyes_) しかしそれが出来ないのが全領域

NEW  |  HOME  |  OLD

Comment

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://kyoakumugenirc.blog61.fc2.com/tb.php/2321-761e8c75

NEW  |  HOME  |  OLD

 検索フォーム


 全記事表示リンク

 全記事表示(500件ずつ)


 プロフィール

vesper

Author:vesper

IRCチャンネルの
#凶悪MUGEN
#凶悪MUGEN_雑談
のログからMUGENに関するものを編集・公開しています。
修正した方が良い箇所があった場合は知らせてもらえると助かります。
MUGEN界隈からはリンクフリーです。
その他からのリンクはご遠慮ください。
このブログをリンクに追加

IRCへの入り方などは
IRCに関する記事
をご覧ください。

簡易凶悪MUGEN IRC情報
・ホスト名
 [irc.friend-chat.jp]
・ポート番号
 [6664]
・チャンネル名
 [#凶悪MUGEN]
 [#凶悪MUGEN_雑談]
 (以下はお好みで)
 [#凶悪MUGEN_艦これ]
 [#凶悪MUGEN_スマブラ]
 [#凶悪MUGEN_麻雀]
 [#凶悪MUGEN_緋想天]
 [#凶悪MUGEN_アカツキ]
 [#凶悪MUGEN_小説]
 [#凶悪MUGEN_絵チャ]

・推奨IRCクライアント
 LimeChat2


 カテゴリ

記述の子カテゴリは目安程度に考えてください。

 最新コメント


 最新記事


 カウンター

累計の閲覧者数:

現在の閲覧者数:

 RSSリンクの表示


他ブログ更新情報(最新70件)

仕様上、下記のリンク一覧でサイトリンクにあるサイトはこの一覧に出ません。

Twitter


基礎リンク集


リンク

サイトに断り書きがない限りリンクさせてもらっています。
リンクしてほしくない場合はお気軽におっしゃってください。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。