Nachdem ich meinen Code für ein Magic Square Puzzle -Spiel beendet hatte, bittet es mich immer wieder, einen Schritt zu machen und den Platz nicht zu aktualisieren. Hier ist der Code: < /p>
Nachdem ich meinen Code für ein Magic Square Puzzle -Spiel beendet hatte, bittet es mich immer wieder, einen Schritt zu machen und den Platz nicht zu aktualisieren. Hier ist der Code: < /p> [code]import java.util.Arrays; import java.util.Random; import java.util.Scanner;
public class game {
static Random rand = new Random();
public static int[][] shuffleSquare( int[][] square ) { int size = square.length; int row = rand.nextInt( size ); int col = rand.nextInt( size ); int direction = rand.nextInt( 4 ); return playerMove( square, row, col, direction ); }
public static int[][] playerMove( int[][] square, int row, int col, int direction ) { int size = square.length; int temp = square[ row ][ col ]; int newRow = row; int newCol = col; //Check direction switch( direction ) { case 0: //Up newRow = ( row - 1 + size ) % size; break; case 1: //Down newRow = ( row + 1 + size ) % size; break; case 2: //Left newCol = ( col - 1 + size ) % size; break; case 3: //Right newCol = ( col + 1 + size ) % size; break; } square[ row ][ col ] = square[ newRow ][ newCol ]; square[ newRow ][ newCol ] = temp; return square; }
public static int[] getInput( int size ) { int row = 0; int col = 0; int dirNum = 0; boolean checkMove = false; while( checkMove == false ) { try { System.out.println( "Enter a row, column and a direction: U, D, L or R. For example, '3 2 U'. Enter a number from 1 to " + size + " for Row and Column" ); Scanner input = new Scanner( System.in ); String move = input.nextLine(); String[] array = move.split( "" ); row = Integer.parseInt( array[ 0 ] ) - 1; col = Integer.parseInt( array[ 1 ] ) - 1; String direction = array[ 2 ]; switch( direction ) { case "U" -> { if( row > 0 ) { dirNum = 0; checkMove = true; } } case "D" -> { if( row < ( size - 1 ) ) { dirNum = 1; checkMove = true; } } case "L" -> { if( col > 0 ) { dirNum = 2; checkMove = true; } } case "R" -> { if( col < ( size - 1 ) ) { dirNum = 3; checkMove = true; } } } } catch( Exception e ) { checkMove = false; } } int[] returnArr = { row, col, dirNum }; return returnArr;
}
public static void main( String args[] ) { int n = square.getInput(); int[][] ogSquare = square.genSquare( n ); int[][] newSquare = Arrays.stream( ogSquare ).map( int[]::clone ).toArray( int[][]::new ); System.out.println( "Og square" ); square.displaySquare( ogSquare ); for( int i = 0; i < ( n * n ); i ++ ) { newSquare = shuffleSquare( newSquare ); } System.out.println( "Shuffled square:" ); square.displaySquare( newSquare );
static int getInput() { Scanner input = new Scanner( System.in ); System.out.println( "Enter an odd number: " ); int n = input.nextInt(); if( n % 2 == 0 ) { System.out.println( "The number must be odd." ); } return n; }
static void displaySquare( int[][] square ) { for( int i = 0; i < square.length; i ++ ) { for( int j = 0; j < square.length; j ++ ) { System.out.print( square[ i ][ j ] + " " ); } System.out.println(); } }
public static int[][] genSquare( int n ) { //Fills square with zeroes int[][] square = new int[ n ][ n ];
//Sets initial position int x = 0; int y = n / 2; square[ x ][ y ] = 1;
Ich bin sehr verblüfft und ist ein wenig besorgt, um das folgende Verhalten zu entdecken, bei dem ich zwei Tests und zwei Vorrichtungen habe. import pytest
Ich habe einen Linux -Befehl für eine Aufgabe zu finden, aber ich kann es nicht tun.
Ich habe 8 Stunden damit verbracht und bin verzweifelt. Bitte helfen Sie mir. . Ein
ASCII -Puzzles besteht aus...
Hintergrund
Ich entwickle eine Unity -Anwendung für den Magic Leap 2 (Android -Plattform, MRTK3) und muss einen Datei -Picker implementieren, damit Benutzer eine Datei auswählen, ihre abrufen, ihre...