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が欲しくなる。