# Java 15/Slide/Boss Puzzle



## kat.minestry (20. Mrz 2014)

Hey,

ich muss ein java 15 puzzle programmieren. ich hab aber absoult keine Ahnung wie ich das anstellen soll. ich hab auch schon das halbe Internet durchsucht und finde nichts nützliches. Könnte mir vielleicht jemand helfen, dies zu programmieren oder hat jemand ein gutes Bespiel dass ich benutzen könnte?
Vielen Dank


----------



## kat.minestry (20. Mrz 2014)

[Java]
import java.util.Scanner;
public class bosspuzzle {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(" S 1   2   3");
		System.out.println("Z ----------");
		char [][] spielbrett = new char [3][3];
		spielbrett [0][0]= '3';
		spielbrett [0][1]= '5';
		spielbrett [0][2]= '2';
		spielbrett [1][0]= ' ';
		spielbrett [1][1]= '7';
		spielbrett [1][2]= '6';
		spielbrett [2][0]= '4';
		spielbrett [2][1]= '1';
		spielbrett [2][2]= '8';
		for (char i=0;i<3;i++){
			for (char j=0;j<3;j++){
				System.out.print("   "+spielbrett_[j]);
			}
			System.out.println();
		}
		int zug_zeile;
		int zug_spalte;
		System.out.println("Welches Feld möchten Sie verschrieben");
		Scanner eingabe =new Scanner(System.in);
		System.out.print("Zeile");
		zug_zeile =eingabe.nextInt();
		System.out.print("Spalte");
		zug_spalte =eingabe.nextInt();
		spielbrett [1][1] = spielbrett [1][0];
		spielbrett [1][1]= ' ';
		for (char i=0;i<3;i++){
			for (char j=0;j<3;j++){
				System.out.print("   "+spielbrett[j]);
			}
			System.out.println();
		}
	}

}
[/Java]
das ist das was ich bis jetzt habe und jetzt komm ich nicht mehr weiter
auch schaffe ich es nicht dass das ganze so dargestellt wird:_


----------



## Thunderstorm (25. Mrz 2014)

Hallo,

hier eine kleine Hilfestellung, wenn du dennoch nicht weiterkommst, melde dich nochmal.


```
while(!solved){
	// zeichne feld
	// nimm eingaben entgegen
        // prüfe ob der stein ein direkter nachbar des leeren feldes ist
	// wenn ja vertausche diese, wenn nicht einfach ne Meldung zurückgeben o.A.
}
// fertig ;)
```

Ich rate dir auch deinen Code mehr zu strukturieren. Ein paar mal Enter drücken hat noch nie geschadet :toll:
Desweiteren versuche einige Funktionalitäten wie das Zeichnen oder Erstellen eines Spielbretts in Methoden auszulaghern. So ist es halt einfacher Fehler zu beseitigen.


```
import java.util.Scanner;

public class bosspuzzle {

	public static void main(String[] args) {
		
		System.out.println(" S 1   2   3");
		System.out.println("Z ----------");

		char[][] spielbrett = new char[3][3];
		spielbrett[0][0] = '3';
		spielbrett[0][1] = '5';
		spielbrett[0][2] = '2';
		spielbrett[1][0] = ' ';
		spielbrett[1][1] = '7';
		spielbrett[1][2] = '6';
		spielbrett[2][0] = '4';
		spielbrett[2][1] = '1';
		spielbrett[2][2] = '8';
		
		for (char i = 0; i < 3; i++) {
			for (char j = 0; j < 3; j++) {
				System.out.print("   " + spielbrett[i][j]);
			}
			System.out.println();
		}
		
		Scanner eingabe = new Scanner(System.in);
		int zug_zeile;
		int zug_spalte;
		
		System.out.println("Welches Feld möchten Sie verschrieben");
		
		System.out.print("Zeile");
		zug_zeile = eingabe.nextInt();
		
		System.out.print("Spalte");
		zug_spalte = eingabe.nextInt();
		
		spielbrett[1][1] = spielbrett[1][0];
		spielbrett[1][1] = ' ';
		
		for (char i = 0; i < 3; i++) {
			for (char j = 0; j < 3; j++) {
				System.out.print("   " + spielbrett[i][j]);
			}
			System.out.println();
		}
	}

}
```


----------

