7年前また、支館にありましたリプレイをいまさら実装したのですが、バグが発生しました。リプレイを再生していると、replayのカウンタがずれるというものです。支館にあったプログラムは正常に動きます。支館のプログラムは、key入力を記憶して再生時にそのとおりに動かすというものです。{printfDx("リプレイ最大保存時間を越えました。sizeof(pad.key));//先にnum++してしまってるので-1で}}ただ、ランダムな要素があるため、これだけではそのままは動いてくれないので、こちらも全て記憶するようにしました。(anc);}バグがおこって、おかしくなるのはコード:if(replay.rand_count[replay.rand_num]==replay_count){//関数が呼び出されたタイミングが再生元と同じならの部分です。再生してるとここの処理がたまにelseの処理を行います。・ボスの弾幕が始まってちょっとしてから(300~400cntぐらい?)バグが起こる・ボスがでてこないようにするとバグは発生しない・replay_countの値は書き換わっていない・バグが発生した時(ブレークポイントにひっかかったとき)最後にrang()を呼び出した関数はリプレイによって違う・無視したら、間違った値が代入されて、本来と全く違うものになる・ファイルに書きだした値は間違っていない・きちんと初期化はされてる・・・ぐらいでしょうかただ、自分のデバッグが正しいという保証はないので↑に書いてあることは間違えている可能性もあります。リプレイ機能をつけてからはボスの関数はいじってません。処理に不十分な点があれば教えて下さい。↑にある処理は間違ってないかと思います。7年前replay_countが書き変わっていないというのはおかしいです。replay_count++かreplay_count+=1している処理があるとおもうので、動いているか確認してみては?余談ですが、ランダム値は初期化値を設定して毎回同じ値を返すランダム関数があるので、調べてみるのもいいと思います。基本的にはこちらを用いた手法が一般的だと思います。初期化するランダムのやつはrand()・・・ですよね?とりあえずそれにのりかえました。呼び出されるタイミングが違います。エラー等ははかれませんが、やはりずれるようであたってないはずの弾に被弾してしまいます。そのほかのところはそのとおりに再生されているので(ボス以外)やっぱりreplay_countが違うのでしょうか・・・でも、今回のはreplay_countに関係せずに呼び出されたらランダムな値を返しているのでひょっとしたらrang()が呼び出されるタイミングが違うのかと思います。ミクプラは自由にリンクできます。