用java写一份有文本存储选择过程的文本类游戏
时间: 2024-03-05 20:48:14 浏览: 71
java大作业 以海贼王为背景故事的类魔塔游戏
5星 · 资源好评率100%
好的,下面是一个用Java编写的简单文本类游戏,其中包含文本存储选择过程。
在这个游戏中,玩家将扮演一个勇敢的冒险家,他需要通过与NPC交互和找到物品来探索迷失之地,并最终找到宝藏。游戏将在控制台上运行,并使用Java的文件I / O类来存储游戏进度。
```
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class TextAdventureGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean gameInProgress = true;
String playerName = "";
int playerHealth = 100;
int playerScore = 0;
String playerInventory = "";
int currentRoom = 1;
// 欢迎玩家
System.out.println("欢迎来到迷失之地!");
System.out.println("请问您的名字是什么?");
playerName = scanner.nextLine();
System.out.println("欢迎 " + playerName + "!");
// 加载玩家进度
File saveFile = new File(playerName + ".txt");
if (saveFile.exists()) {
try {
Scanner fileScanner = new Scanner(saveFile);
playerHealth = fileScanner.nextInt();
playerScore = fileScanner.nextInt();
playerInventory = fileScanner.next();
currentRoom = fileScanner.nextInt();
System.out.println("您已经有了进度,要继续之前的游戏吗?(Y / N)");
String continueGame = scanner.nextLine();
if (continueGame.equalsIgnoreCase("Y")) {
System.out.println("继续上次游戏...");
} else {
System.out.println("重新开始游戏...");
saveFile.delete();
}
} catch (IOException e) {
System.out.println("读取进度文件出错!");
}
}
// 游戏循环
while (gameInProgress) {
System.out.println("您现在在房间 " + currentRoom);
System.out.println("请选择您要执行的操作:");
System.out.println("1. 探索房间");
System.out.println("2. 与NPC交互");
System.out.println("3. 查看背包");
System.out.println("4. 保存并退出游戏");
String choice = scanner.nextLine();
switch (choice) {
case "1":
System.out.println("您在房间内寻找物品...");
// 在这里添加探索房间的逻辑,例如查找物品并将其添加到玩家库存中
break;
case "2":
System.out.println("您与NPC交谈...");
// 在这里添加与NPC交互的逻辑,例如接受任务或获得提示
break;
case "3":
System.out.println("您查看您的背包...");
System.out.println("您的库存是:" + playerInventory);
break;
case "4":
System.out.println("正在保存并退出游戏...");
try {
FileWriter writer = new FileWriter(saveFile);
writer.write(playerHealth + " " + playerScore + " " + playerInventory + " " + currentRoom);
writer.close();
} catch (IOException e) {
System.out.println("保存进度文件出错!");
}
gameInProgress = false;
break;
default:
System.out.println("无效的选择!");
break;
}
}
System.out.println("谢谢游玩!");
}
}
```
注意:这个游戏只是一个简单的示例。您可以根据自己的喜好和需求来扩展和修改代码。同时,这种方式存储文本进度可能不是最优解,您可以使用其他方法来存储游戏进度,例如使用数据库或云存储。
阅读全文