#include int main() { int room = 1; // 玩家初始房间 int treasureFound = 0; // 宝藏是否被找到 printf("欢迎来到文本冒险游戏!\n"); printf("你正在一个神秘的地宫中...\n"); while (room != 0 && !treasureFound) { switch (room) { case 1: printf("你在房间1。你看到一扇门通向北方。\n"); printf("1. 向北走\n"); printf("2. 留在房间1\n"); printf("请选择你的行动:"); break; case 2: printf("你在房间2。你看到一扇门通向南方和另一扇门通向一间密室。\n"); printf("1. 向南走\n"); printf("2. 进入密室\n"); printf("请选择你的行动:"); break; case 3: printf("你在房间3。这里有一扇通向房间1的门。\n"); printf("1. 返回房间1\n"); printf("2. 探索其他房间\n"); printf("请选择你的行动:"); break; case 4: printf("你找到了密室!里面有一个大宝箱!\n"); treasureFound = 1; // 找到宝藏 printf("恭喜你,你找到了宝藏!游戏结束。\n"); break; default: printf("无效的房间号,游戏结束。\n"); room = 0; // 结束游戏 break; } int choice; scanf("%d", &choice); switch (choice) { case 1: if (room == 1) room = 2; // 向北走 else if (room == 2) room = 3; // 向南走 break; case 2: if (room == 1) room = 3; // 留在房间1 else if (room == 2) room = 4; // 进入密室 break; default: printf("无效的选择,请重新输入。\n"); break; } } return 0; } 在这个游戏中,玩家最初位于房间1。他们可以通过输入1或2来选择行动。根据他们的选择,玩家将被移动到不同的房间或执行不同的动作。游戏会继续进行,直到玩家找到宝藏(房间4)或做出无效选择为止。