save & load

gamebuinoで作ったゲームでデータをセーブロードしたい場合。

ハイスコアとかゲームの進行状況とか。

ゲームのプログラムではファイルを意識することなく、EEPROMに対してデータを読み書きする。

基本的にこれだけ。

あとの処理はLOADERが勝手にやってくれる。

簡単な使い方概要はこのような感じ。

#include <EEPROM.h>

void setup(){

/*

もろもろの初期化処理

*/

//load save data

if ( EEPROM.read(0) == hoge ) { //本当にこのソフトのためのデータか調べる

data = EEPROM.read(1);

} else {

EEPROM.write(0) = hoge; // 識別子

EEPROM.update(1) = 0; // 初期値

}

}

//Cボタンでタイトルに戻る際などに呼ぶ。

void saveData(){

EEPROM.write(0) = hoge; //識別子

EEPROM.update(1) = data; //保存するデータ

}

常にEEPROMを介してがりがりやってると思うとちょっと、耐久性とか気になる。

しかしuSDをがりがり読み書きするよりはいいのかもしれないと思いつつ、on boardなSMDのATMega328のEEPROMが酷使されていると思うと気が気ではない。

Makerbuinoが欲しくなる。