der Spiel Teil meines Puzzles nichts zurückgibt, habe ich ähnlichen Code in anderen Bereichen, die arbeiten. Ich bekomme keine Fehler, daher weiß ich nicht, was falsch ist. Ich habe versucht, '==' zu verwenden und das Puzzle separat auszugeben, aber es passiert wieder nichts. jede Hilfe wäre nützlich. Das Puzzle sollte auch eine Schleife verwenden und das Spiel sollte enden, wenn das Puzzle gelöst ist, aber ich bin mir nicht sicher, was ich als Vorher und Nachher verwenden soll, jede Hilfe hier wäre auch nützlich."Play" Teil meines Puzzles nichts zurück
package assignment;
import java.util.Scanner;
import static java.util.Scanner.*;
public class puzzle {
public static final int N = 4;
public static final int NUMBER_OF_ROTATIONS = 5;
public static void main(String[] args) {
int[][] puzzle = new int[N][N];
reset(puzzle);
test(puzzle);
reset(puzzle);
scramble(puzzle);
System.out.println("### Testing puzzle game play\n");
play(puzzle);
}
public static void print(int[][] puzzle) {
for (int[] row : puzzle) {
for (int elem : row) {
System.out.printf("%4d", elem);
}
System.out.println();
}
System.out.println();
}
public static void test(int[][] puzzle) {
System.out.println("### Testing reset method\n");
print(puzzle);
System.out.println("### Testing rotate methods\n");
print(puzzle);
for (int i = 0; i < N; i++) {
System.out.println("### rotateColumn(" + i + ")\n");
rotateColumn(puzzle, i);
print(puzzle);
System.out.println("### rotateRow(" + i + ")\n");
rotateRow(puzzle, i);
print(puzzle);
}
reset(puzzle);
System.out.println("### Testing random rotations\n");
print(puzzle);
for (int i = 0; i < 5; i++) {
randomRotation(puzzle);
print(puzzle);
}
}
public static void reset(int[][] puzzle) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++)
puzzle[i][j] = i * N + j;
}
}
public static void scramble(int[][] puzzle) {
for (int i = 0; i < NUMBER_OF_ROTATIONS; i++) {
randomRotation(puzzle);
}
}
// TODO: Implement method as specified in assignment brief
public static void rotateRow(int[][] arr, int row) {
int newRow = arr[row][arr.length - 1];
int nextRow;
for (int IndexNo = 0; IndexNo < arr.length; IndexNo++) {
nextRow = arr[row][IndexNo];
arr[row][IndexNo] = newRow;
newRow = nextRow;
}
}
// TODO: Implement method as specified in assignment brief
public static void rotateColumn(int[][] arr, int column) {
int newCol = arr[arr.length - 1][column];
int nextCol;
for (int IndexNo = 0; IndexNo < arr.length; IndexNo++) {
nextCol = arr[IndexNo][column];
arr[IndexNo][column] = newCol;
newCol = nextCol;
}
}
// TODO: Implement method as specified in assignment brief
public static void randomRotation(int[][] puzzle) {
int rowrandom = (int) (Math.random() * 3 + 1);
int colrandom = (int) (Math.random() * 3 + 1);
int option = (int) (Math.random() * 2 + 1);
if (option == 1) {
rotateRow(puzzle, rowrandom);
} else {
rotateColumn(puzzle, colrandom);
}
}
// TODO: Implement method as specified in assignment brief
static void play(int[][] puzzle) {
reset(puzzle);
print(puzzle);
for (int i = 0; i < 5; i++) {
randomRotation(puzzle);
}
print(puzzle);
System.out.println("enter row x or col x: ");
Scanner input = new Scanner(System.in);
String x = input.next();
if (x.equals("row 0")){
rotateRow(puzzle, 0);
print (puzzle);
}
if (x.equals("row 1")){
rotateRow(puzzle, 1);
print(puzzle);
}
if (x.equals("row 2")){
rotateRow(puzzle, 2);
print(puzzle);
}
if (x.equals("row 3")){
rotateRow(puzzle, 3);
print(puzzle);
}
if (x.equals("col 0")){
rotateColumn(puzzle, 0);
print(puzzle);
}
if (x.equals("col 1")){
rotateColumn(puzzle, 1);
print(puzzle);
}
if (x.equals("col 2")){
rotateColumn(puzzle, 2);
print(puzzle);
}
if (x.equals("col 3")){
rotateColumn(puzzle, 3);
print(puzzle);
}
}
}
verwenden. Wenn Sie etwas zurücksenden, beziehen Sie sich auf einen tatsächlichen Rückgabewert, oder suchen Sie nach einer Druckanweisung, die ich ablehne, weil void hat keinen Rückgabetyp und wird nichts zurückgeben. – Afflicted
die Methode war eine Vorlage, die uns gegeben wurde, also können wir es nicht ändern, also glaube ich nicht, dass wir tatsächlich die Rückgabe verwenden, ich möchte nur, dass das Puzzle ausgegeben wird – sb33