コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
スケさん ◆YJjXHENp4drH
2017/12/1 7:15
少しアドバイスなど下さい。
今、オワタさんの草刈りをチェックサムを入れ、セーブデーターをDATでまとめました。チェックサムについて何かアドバイスが欲しいです。
お願いします  公開キー4RF3B4AD

コメント

アバター
あきと 2017/12/2 0:59 ◆7TEpcjb/rk2E
動作してるので問題なさそうですが、あえて言うならゲーム内の変数を加算してチェックサムを作成している所が気になります。
配列SAVE[]に対して計算してやるようにすれば他のゲームでも使えるサブルーチンになりますよ。

'チェックサム作成
'N:セーブデータの個数 ARRAY:計算する配列 RANDKEY:ランダム数値
DEF GET_CHECKSUM(N, ARRAY, RANDKEY)
VAR I
VAR SUM=0
FOR I=0 TO N-1
INC SUM,ARRAY[I]
NEXT
SUM=SUM*RANDKEY
RETURN SUM
END

@SAVE
--SAVE[]にデータ格納
OO=RND(10000)
S=GET_CHECKSUM(4,SAVE,OO)
SAVE[5]=S
SAVE[6]=OO

@LOAD
--SAVE[]にデータが読み込まれた
S=GET_CHECKSUM(4,SAVE,SAVE[6])
IF S!=SAVE[6] THEN @DAME
アバター
スケさん 2017/12/2 10:02 ◆YJjXHENp4drH
ありがとうございます。チェックサムの生成に今まではスコア等の改造を想定していたので、それをかけてその結果を保存し、そのあと同じ数で割り照合して判断していたので、SAVEにそのものをチェックサムにすることは考えてもいませんでした。SAVE照合は
書き換えてみたところ、ちゃんと問題無しに反応・識別してくれました。
ありがとうございました。

コメントを書く

この投稿にはコメントできません。

- WEB PATIO -