到目前为止,我正在制作一款你玩的游戏,然后每隔五秒便可以保存游戏。到目前为止,我有一个好的保存系统。会发生什么事情,说你有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
答案 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"
替换为保存文件夹(或路径)的名称
应该创建文件。