package com.just.test;
import java.util.Scanner;
public class T3mazeGame {
public static void game(int [][] maze) {
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(maze[i][j]+" ");
}
System.out.println();
}
System.out.println("游戏规则:4向左,6向右,8向上,2向下,推动数字3走出迷宫");
System.out.println("开始运动");
System.out.println("⏬⏬⏬⏬⏬⏬");
//定义初始位置 1,0
int x =1;
int y =0;
int m =2;
int n =2;
Scanner scanner =new Scanner(System.in);
while (true) {
int a = scanner.nextInt();
switch (a) {
//向上移动
case 8:
if (maze[x-1][y]==0) {
int temp=maze[x][y];
maze[x][y]=maze[x-1][y];
maze[x-1][y]=temp;
x--;
}else {
if (maze[x-1][y]==3&&maze[x+2][y]==0) {
int temp=maze[x-2][y];
maze[x-2][y] = maze[x-1][y];
maze[x-1][y] = maze[x][y];
maze[x][y] = temp;
x--;
m--;
}
}
break;
//向下移动
case 2:
if (maze[x+1][y]==0) {
int temp=maze[x][y];
maze[x][y]=maze[x+1][y];
maze[x+1][y]=temp;
x++;
}
if (maze[x+1][y]==3&&maze[x+2][y]==0) {
int temp=maze[x+2][y];
maze[x+2][y] = maze[x+1][y];
maze[x+1][y] = maze[x][y];
maze[x][y] = temp;
x++;
m++;
}
break;
//向右移动
case 6:
if (maze[x][y+1]==0) {
int temp=maze[x][y];
maze[x][y]=maze[x][y+1];
maze[x][y+1]=temp;
y++;
}
if (maze[x][y+1]==3&&maze[x][y+2]==0) {
int temp=maze[x][y+2];
maze[x][y+2] = maze[x][y+1];
maze[x][y+1] = maze[x][y];
maze[x][y] = temp;
y++;
n++;
}
break;
//向左移动
case 4:
if (maze[x][y-1]==0) {
int temp=maze[x][y];
maze[x][y]=maze[x][y-1];
maze[x][y-1]=temp;
y--;
}
if (maze[x][y-1]==3&&maze[x][y-2]==0) {
int temp=maze[x][y-1];
maze[x][y-2] = maze[x][y-1];
maze[x][y-1] = maze[x][y];
maze[x][y] = temp;
y--;
n--;
}
break;
default:
break;
}
//打印实时变化的地图
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(maze[i][j]+" ");
}
System.out.println();
}
if (m==6&&n==5){
System.out.println("you win ");
break;
}
}
scanner.close();
}
public static void main(String[] args) {
//定义一个二维数组充当地图
int [][] maze={
{1,1,1,1,1,1,1},
{5,0,0,0,0,0,1},
{1,0,3,0,1,0,1},
{1,0,0,1,0,1,1},
{1,0,0,1,0,0,1},
{1,0,0,0,0,0,1},
{1,1,1,1,1,0,1},
};
game(maze);
}
//打印地图
// for (int i = 0; i < 7; i++) {
// for (int j = 0; j < 7; j++) {
// System.out.print(maze[i][j]+" ");
// }
// System.out.println();
// }
// System.out.println("游戏规则:4向左,6向右,8向上,2向下,推动数字3走出迷宫");
// System.out.println("开始运动");
// System.out.println("⏬⏬⏬⏬⏬⏬");
// //定义初始位置 1,0
// int x =1;
// int y =0;
// int m =2;
// int n =2;
// Scanner scanner =new Scanner(System.in);
//
//
// while (true) {
// int a = scanner.nextInt();
// switch (a) {
// //向上移动
// case 8:
// if (maze[x-1][y]==0) {
// int temp=maze[x][y];
// maze[x][y]=maze[x-1][y];
// maze[x-1][y]=temp;
// x--;
//
// }else {
// if (maze[x-1][y]==3&&maze[x+2][y]==0) {
// int temp=maze[x-2][y];
// maze[x-2][y] = maze[x-1][y];
// maze[x-1][y] = maze[x][y];
// maze[x][y] = temp;
// x--;
// m--;
// }
// }
// break;
// //向下移动
// case 2:
// if (maze[x+1][y]==0) {
// int temp=maze[x][y];
// maze[x][y]=maze[x+1][y];
// maze[x+1][y]=temp;
// x++;
//
// }
// if (maze[x+1][y]==3&&maze[x+2][y]==0) {
// int temp=maze[x+2][y];
// maze[x+2][y] = maze[x+1][y];
// maze[x+1][y] = maze[x][y];
// maze[x][y] = temp;
// x++;
// m++;
// }
// break;
// //向右移动
// case 6:
// if (maze[x][y+1]==0) {
// int temp=maze[x][y];
// maze[x][y]=maze[x][y+1];
// maze[x][y+1]=temp;
// y++;
//
// }
// if (maze[x][y+1]==3&&maze[x][y+2]==0) {
// int temp=maze[x][y+2];
// maze[x][y+2] = maze[x][y+1];
// maze[x][y+1] = maze[x][y];
// maze[x][y] = temp;
// y++;
// n++;
// }
// break;
// //向左移动
// case 4:
// if (maze[x][y-1]==0) {
// int temp=maze[x][y];
// maze[x][y]=maze[x][y-1];
// maze[x][y-1]=temp;
// y--;
// }
// if (maze[x][y-1]==3&&maze[x][y-2]==0) {
// int temp=maze[x][y-1];
// maze[x][y-2] = maze[x][y-1];
// maze[x][y-1] = maze[x][y];
// maze[x][y] = temp;
// y--;
// n--;
// }
// break;
// default:
// break;
// }
// //打印实时变化的地图
// for (int i = 0; i < 7; i++) {
// for (int j = 0; j < 7; j++) {
// System.out.print(maze[i][j]+" ");
// }
// System.out.println();
// }
// if (m==6&&n==5){
// System.out.println("you win ");
// break;
// }
//
//
// }
}
java 循环maze游戏深入推箱子游戏
最新推荐文章于 2024-10-09 12:07:12 发布