我需要有关创建保存系统的建议吗?

时间:2014-06-01 04:08:21

标签: java save

到目前为止,我正在制作一款你玩的游戏,然后每隔五秒便可以保存游戏。到目前为止,我有一个好的保存系统。会发生什么事情,说你有100个木头和30个面包和0个污垢然后它会保存到文件" 100 30 0"。每次启动应用程序时,都会按以下方式加载保存:

public static void loadSave(File loadPath){

    try{
    Scanner loadScanner = new Scanner(loadPath);

    while(loadScanner.hasNext()){
        for (int i = 0; i < ldStr.length; i++) {
            ldStr[i] = loadScanner.nextInt();
            if(i == 7){
                Print();
            }
        }
    }


    loadScanner.close();
    }catch(Exception e){}
}

之后它将它们放入我的主类中的变量中,如下所示:

public static void Print(){
    System.out.println("Loaded File. These are the values: " + ldStr[0] + " " + ldStr[1] + " " + ldStr[2] + " " + ldStr[3] + " " + ldStr[4] + " " + ldStr[5] + " " + ldStr[6]);

    Pane.numberOfChopers = ldStr[0];
    if(ldStr[0] > 0){
        Pane.boughtChoper = true;
        Pane.isChoping = true;
    }
    Pane.numberOfHuts = ldStr[1];
    if(ldStr[1] > 0){
        Pane.boughtHut = true;
        Pane.isRenting = true;
    }
    Pane.resMoney = ldStr[2];
    Pane.resWood = ldStr[3];
    Pane.hutCostMoney = ldStr[4];
    Pane.hutCostWood = ldStr[5];
    Pane.chopperPrice = ldStr[6];
    Pane.numberOfPeople = ldStr[7];
}

无论如何,我只是想知道这是否有效。此外,如果我要创建一个登录系统,我怎么能将值保存到他们的名字(可以为每个玩家创建一个单独的文件)。

PS。我不打算使用SQL

1 个答案:

答案 0 :(得分:2)

要为每个玩家创建一个单独的文件,我会使用它:

import java.io.File;
import java.io.IOException;

public class Login {

static String   playerName;

public static void main(String[] args) {
    playerName = "John"; //set playerName to the name of the player
    createFile();
}

public static void createFile() {

    File f = new File("res/" + playerName + ".txt");
    if (!f.exists())
        try {
            f.createNewFile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

}

public static String getSavePath(){
        return "res/" + playerName + ".txt";


}

}

"res/" + playerName + ".txt"替换为保存文件夹(或路径)的名称 应该创建文件。