位置变化的java2d数组问题
我会尽力解释我的问题。首先,我将把我所有的代码放在这里,这样你就可以看到我在这里做了什么,并得到一个更好的观点位置变化的java2d数组问题,java,arrays,Java,Arrays,我会尽力解释我的问题。首先,我将把我所有的代码放在这里,这样你就可以看到我在这里做了什么,并得到一个更好的观点 package co.edureka; import java.util.Scanner; import java.util.Formatter; public class Puzzle { static void output(int[][] gamefield) { for (int i = 0; i < 4; i++) {
package co.edureka;
import java.util.Scanner;
import java.util.Formatter;
public class Puzzle {
static void output(int[][] gamefield) {
for (int i = 0; i < 4; i++) {
System.out.println("|");
System.out.println("+-------+-------+-------+-------+");
for (int y = 0; y < 4; y++) {
System.out.print("| " + gamefield[i][y] + "\t");
}
}
}
static void coordinate(int[][] gamefield) {
Scanner entry = new Scanner(System.in);
System.out.println("\n\nEntry a number to move position");
System.out.print("Row: ");
int row = entry.nextInt();
System.out.print("Column: ");
int column = entry.nextInt();
while (true) {
while ((row == 0 && column == 0)) {
if (row == 0 || column == 0) {
gamefield[0][0] = 0;
}
gamefield[3][0] = 11;
break;
}
while ((row == 0 && column == 1)) {
if (row == 0 || column == 1) {
gamefield[0][1] = 0;
}
gamefield[3][0] = 12;
break;
}
while ((row == 0 && column == 2)) {
if (row == 0 || column == 2) {
gamefield[0][2] = 0;
}
gamefield[3][0] = 13;
break;
}
while ((row == 0 && column == 3)) {
if (row == 0 || column == 3) {
gamefield[0][3] = 0;
}
gamefield[3][0] = 14;
break;
}
while ((row == 1 && column == 0)) {
if (row == 1 || column == 0) {
gamefield[1][0] = 0;
}
gamefield[3][0] = 1;
break;
}
while ((row == 1 && column == 1)) {
if (row == 1 || column == 1) {
gamefield[1][1] = 0;
}
gamefield[3][0] = 2;
break;
}
while ((row == 1 && column == 2)) {
if (row == 1 || column == 2) {
gamefield[1][2] = 0;
}
gamefield[3][0] = 3;
break;
}
while ((row == 1 && column == 3)) {
if (row == 1 || column == 3) {
gamefield[1][3] = 0;
}
gamefield[3][0] = 4;
break;
}
while ((row == 2 && column == 0)) {
if (row == 2 || column == 0) {
gamefield[2][0] = 0;
}
gamefield[3][0] = 8;
break;
}
while ((row == 2 && column == 1)) {
if (row == 2 || column == 1) {
gamefield[2][1] = 0;
}
gamefield[3][0] = 7;
break;
}
while ((row == 2 && column == 2)) {
if (row == 2 || column == 2) {
gamefield[2][2] = 0;
}
gamefield[3][0] = 6;
break;
}
while ((row == 2 && column == 3)) {
if (row == 2 || column == 3) {
gamefield[2][3] = 0;
}
gamefield[3][0] = 5;
break;
}
while ((row == 3 && column == 0)) {
if (row == 3 || column == 0) {
gamefield[3][0] = 0;
}
gamefield[3][0] = 0;
break;
}
while ((row == 3 && column == 1)) {
if (row == 3 || column == 1) {
gamefield[3][1] = 0;
}
gamefield[3][0] = 9;
break;
}
while ((row == 3 && column == 2)) {
if (row == 3 || column == 2) {
gamefield[3][2] = 0;
}
gamefield[3][0] = 10;
break;
}
while ((row == 3 && column == 3)) {
if (row == 3 || column == 3) {
gamefield[3][3] = 0;
}
gamefield[3][0] = 15;
}
if(row >4 || column >4) {
System.out.println("Please put a number lower then 4");
break;
} else {
break;
}
}
}
public static void main(String[] args) {
int[][] gamefield = new int[4][4];
gamefield[0][0] = 11;
gamefield[0][1] = 12;
gamefield[0][2] = 13;
gamefield[0][3] = 14;
gamefield[1][0] = 1;
gamefield[1][1] = 2;
gamefield[1][2] = 3;
gamefield[1][3] = 4;
gamefield[2][0] = 8;
gamefield[2][1] = 7;
gamefield[2][2] = 6;
gamefield[2][3] = 5;
gamefield[3][0] = 0;
gamefield[3][1] = 9;
gamefield[3][2] = 10;
gamefield[3][3] = 15;
output(gamefield);
coordinate(gamefield);
output(gamefield);
}
}
教育包装公司;
导入java.util.Scanner;
导入java.util.Formatter;
公共类难题{
静态无效输出(int[][]游戏场){
对于(int i=0;i<4;i++){
System.out.println(“|”);
System.out.println(“+----+----+----+----+----+”;
对于(int y=0;y<4;y++){
系统输出打印(“|”+游戏场[i][y]+“\t”);
}
}
}
静态虚空坐标(int[][]游戏场){
扫描仪条目=新扫描仪(System.in);
System.out.println(“\n\n输入一个数字以移动位置”);
系统输出打印(“行:”);
int row=entry.nextInt();
系统输出打印(“列:”);
int column=entry.nextInt();
while(true){
while((行==0和列==0)){
如果(行==0 | |列==0){
游戏场[0][0]=0;
}
游戏场[3][0]=11;
打破
}
while((行==0和列==1)){
如果(行==0 | |列==1){
游戏场[0][1]=0;
}
游戏场[3][0]=12;
打破
}
while((行==0和列==2)){
如果(行==0 | |列==2){
游戏场[0][2]=0;
}
游戏场[3][0]=13;
打破
}
while((行==0和列==3)){
如果(行==0 | |列==3){
游戏场[0][3]=0;
}
游戏场[3][0]=14;
打破
}
while((行==1和列==0)){
如果(行==1 | |列==0){
游戏场[1][0]=0;
}
游戏场[3][0]=1;
打破
}
while((行==1和列==1)){
如果(行==1 | |列==1){
游戏场[1][1]=0;
}
游戏场[3][0]=2;
打破
}
while((行==1和列==2)){
如果(行==1 | |列==2){
游戏场[1][2]=0;
}
游戏场[3][0]=3;
打破
}
while((行==1和列==3)){
如果(行==1 | |列==3){
游戏场[1][3]=0;
}
游戏场[3][0]=4;
打破
}
while((行==2和列==0)){
如果(行==2 | |列==0){
游戏场[2][0]=0;
}
游戏场[3][0]=8;
打破
}
while((行==2和列==1)){
如果(行==2 | |列==1){
游戏场[2][1]=0;
}
游戏场[3][0]=7;
打破
}
while((行==2和列==2)){
如果(行==2 | |列==2){
游戏场[2][2]=0;
}
游戏场[3][0]=6;
打破
}
while((行==2和列==3)){
如果(行==2 | |列==3){
游戏场[2][3]=0;
}
游戏场[3][0]=5;
打破
}
while((行==3和列==0)){
如果(行==3 | |列==0){
游戏场[3][0]=0;
}
游戏场[3][0]=0;
打破
}
while((行==3和列==1)){
如果(行==3 | |列==1){
游戏场[3][1]=0;
}
游戏场[3][0]=9;
打破
}
while((行==3和列==2)){
如果(行==3 | |列==2){
游戏场[3][2]=0;
}
游戏场[3][0]=10;
打破
}
while((行==3和列==3)){
如果(行==3 | |列==3){
游戏场[3][3]=0;
}
游戏场[3][0]=15;
}
如果(行>4 | |列>4){
System.out.println(“请输入一个低于4的数字”);
打破
}否则{
打破
}
}
}
公共静态void main(字符串[]args){
int[][]游戏场=新int[4][4];
游戏场[0][0]=11;
游戏场[0][1]=12;
游戏场[0][2]=13;
游戏场[0][3]=14;
游戏场[1][0]=1;
游戏场[1][1]=2;
游戏场[1][2]=3;
游戏场[1][3]=4;
游戏场[2][0]=8;
游戏场[2][1]=7;
游戏场[2][2]=6;
游戏场[2][3]=5;
游戏场[3][0]=0;
游戏场[3][1]=9;
游戏场[3][2]=10;
游戏场[3][3]=15;
输出(游戏场);
坐标(游戏场);
输出(游戏场);
}
}
上下文:
要了解我的想法:
我想编程一个益智游戏,也叫滑块或15个游戏益智。
我的程序打印一个表,其中包含所有数组元素。所以在坐标法中有了所有的while循环,我现在可以改变我想要的每个位置。但这不是重点,我得找零,所以是空位
我无法让它工作,0可以用它旁边的数字改变位置。看看我的程序,0在8的旁边