fileメソッドを使うと,ファイル読み書きができます.これを用いて ゲームのスコアランキングを作成することができます.
Main
//ランキングファイルのオブジェクトを作成
rankFile=file("rank.json");
//rank.jsonが存在していれば
if (rankFile.exists()) {
$ranking=rankFile.obj();//$rankingに読み込む
} else {
$ranking=[20,15,10,5,3];//初期化する
}
//---ゲーム本体
$score=0;
new Label{template:"Score $score",x:200,y:200,size:30};
lb=new Label{text:"Space: get score X: game over",x:200,y:300,size:20};
while(true) {
if (getkey("space")==1) {
$score++;
}
if (getkey("x")==1) {
break;
}
update();
}
lb.text="Game Over. R:Replay C:Clear Ranking";
//----最下位のスコアより高い点数ならランクイン
if ($score>$ranking[$ranking.length-1]) {
$ranking[$ranking.length-1]=$score;//最下位を今のスコアで上書き.
$ranking=$ranking.sort(\(a,b) {return b-a;});//降順並び替え
rankFile.obj($ranking);//rank.txtに$rankingの内容をjsonで保存
}
//----ランキング表示
print ("Ranking:");
for (r of $ranking) {
print ("Score =",r);
}
while(true) {
if (getkey("r")==1) {
loadPage(Main);
}
if (getkey("c")==1) {
rankFile.rm();//ランキングファイルの消去
loadPage(Main);
}
update();
}