读 Beginning Android Games 2nd Edition (十四) 玩家设置存储类
2013-01-09 17:28
274 查看
下面是接上篇中用到的一个类,该类用来存储用户设置,例如静音或非静音,另外存储玩家的一个分数榜前5名
package com.badlogic.androidgames.mrnom; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import com.badlogic.androidgames.framework.FileIO; public class Settings { public static boolean soundEnabled = true; public static int[] highscores = new int[] { 100, 80, 50, 30, 10 }; public static void load(FileIO files) { BufferedReader in = null; try { in = new BufferedReader(new InputStreamReader( files.readFile(".mrnom"))); soundEnabled = Boolean.parseBoolean(in.readLine()); for (int i = 0; i < 5; i++) { highscores[i] = Integer.parseInt(in.readLine()); } } catch (IOException e) { // :( It's ok we have defaults } catch (NumberFormatException e) { // :/ It's ok, defaults save our day } finally { try { if (in != null) in.close(); } catch (IOException e) { } } } public static void save(FileIO files) { BufferedWriter out = null; try { out = new BufferedWriter(new OutputStreamWriter( files.writeFile(".mrnom"))); out.write(Boolean.toString(soundEnabled)); for (int i = 0; i < 5; i++) { out.write(Integer.toString(highscores[i])); } } catch (IOException e) { } finally { try { if (out != null) out.close(); } catch (IOException e) { } } } public static void addScore(int score) { for (int i = 0; i < 5; i++) { if (highscores[i] < score) { for (int j = 4; j > i; j--) highscores[j] = highscores[j - 1]; highscores[i] = score; break; } } } }从上面的代码看出,声音设置和分数榜都是存在一个后缀名为.mrnom的文件中
相关文章推荐
- 读 Beginning Android Games 2nd Edition (四) 创建罗盘事件监听类
- 读 Beginning Android Games 2nd Edition (二十一) 封装OpenGL之GLGraphics类
- 读 Beginning Android Games 2nd Edition (六) 创建键盘事件处理类
- 读 Beginning Android Games 2nd Edition (二) 创建声音工具类
- 读 Beginning Android Games 2nd Edition (十三) "Nom先生"游戏设计
- 读 Beginning Android Games 2nd Edition (二十二) 封装OpenGL之GLGame类
- 读 Beginning Android Games 2nd Edition (十八) 贪食蛇类
- 读 Beginning Android Games 2nd Edition (七) 创建Touch事件处理类
- 读 Beginning Android Games 2nd Edition (五) 创建对象池类
- 读 Beginning Android Games 2nd Edition (一) 创建读取文件IO的工具类
- 读 Beginning Android Games 2nd Edition (十五) 游戏主菜单
- 读 Beginning Android Games 2nd Edition (十九) 游戏World类
- 读 Beginning Android Games 2nd Edition (九) 创建像素图类
- 读 Beginning Android Games 2nd Edition (十七) 分数榜类
- 读 Beginning Android Games 2nd Edition (八) 创建输入事件处理类
- 读Beginning Android Games 2nd Edition中的贪吃蛇游戏
- 读 Beginning Android Games 2nd Edition (三) 创建速度感应器事件监听类
- 读 Beginning Android Games 2nd Edition (十) 创建绘图类
- 读 Beginning Android Games 2nd Edition (十六) 游戏帮助
- 读 Beginning Android Games 2nd Edition (十一) 加入游戏暂停/恢复功能