可以帮忙写一个JAVA迷宫游戏程序吗?
导入Java . io . buffered reader;
导入Java . io . inputstreamreader;
导入Java . io . io exception;
公共类游戏开始{
公共静态void main(String[] args) {
int num = 0;//判断方向
System.out.println("迷宫游戏开始:");
int[][] array =新米公()。get migong();//创建一个迷宫
system . out . println(array . length);
for(int I = 0;我& lt数组.长度;I++)//启动迷宫。
{
System.out.println("现在你在"+(i+1)+"房间!请选择方向:“);
布尔b =真;
While(b)//判断选择的方向。
{
system . out . println("-");
system . out . println(" | | ");
system . out . println(" | | ");
system . out . println(" | | ");
system . out . println(" | 00 | ");
System.out.println("1:向上。");
System.out.println("2:向左走。");
System.out.println("3:向右走。");
尝试{
string s = new buffered reader(new InputStreamReader(system . in))。readLine();
尝试
{
num = integer . parse int(s);
if(num & lt;0 | |数字& gt3)
{
System.out.println("错误的选择!请重试:“);
继续;
}
If(array[i][num-1]==2)//确定是否选中该墙。
{
开关(数量)
{
Case 1:System.out.println("上去就是堵墙!请重新选择:“);打破;
案例二:System.out.println("往左走就是一堵墙!请重新选择:“);打破;
案例三:System.out.println("往右走是一堵墙!请重新选择:“);打破;
}
继续;
}
b =假;
}
catch (NumberFormatException ex)
{
System.out.println("非数字,请重试:");
继续;
}
}
捕捉(IOException ex)
{
system . out . println(ex);
}
}
If(array[i][num-1]==3)//判断是否是炸弹。
{
开关(数量)
{
Case 1:System.out.println("往上就是炸弹!游戏结束!”);打破;
案例二:System.out.println("向左走就是炸弹!游戏结束!”);打破;
案例三:System.out.println("往右就是炸弹!游戏结束!”);打破;
}
打破;
}
if (i==array.length-1)
{
System.out.println("恭喜你走出迷宫!");
}
}
system . out . println(" 88 ");
}
}
//迷宫地图类
公共类MiGong {
静态int[][]数组;//迷宫中房间的数量以及房间中三面墙的状态。
米公(){
int a =(int)(math . random()* 90)+10;//随机获取房间数量
array = new int[a][3];
for(int I = 0;我& lta;I++) {//获取每个房间的墙的状态。
array[i] = new House()。get house();
}
}
Static int[][] getMiGong() {//输出迷宫
返回数组;
}
}
//创建一个房间类
公共类房屋{
私有静态int north//以上
私有静态int west//左侧
私有静态int east//右
房子(){
north = getStatus(北);
west = get status(west);
east = getStatus(东);
如果(!panDuan()) {
新房();
}
}
private static int get status(int Qiang){//随机获取墙的状态,其中1是门,2是墙,3是炸弹。
Qiang =(int)(math . random()* 4+1);
归羌;
}
private static Boolean Pandora(){//确定是否有且只有一个门。
if(north = = 1 & amp;& amp向西!= 1。& amp东边!= 1) {
返回true
}
如果(北!= 1。& ampwest = = 1 & amp;& amp东边!= 1) {
返回true
}
如果(北!= 1。& amp向西!= 1。& ampeast == 1) {
返回true
}
返回false
}
Int[] getHouse() {//输出房间
int[]a = new int[3];
a[0] =北;
a[1] =西;
a[2] =东;
返回a;
}
}