Algoritmia - codigo en java

 
Vista:

codigo en java

Publicado por migue (1 intervención) el 17/01/2006 22:59:23
A mi tambien me vendria bien que alguien me pasara el codigo del Sudoku en Java.
Mi correo es [email protected].
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Implementación de Sudoku en Java

Publicado por Alejandro (307 intervenciones) el 05/03/2024 20:30:00
Aquí tienes un ejemplo simple de cómo podrías implementar el juego Sudoku en Java. Este código proporciona una estructura básica y funciones para jugar al Sudoku. Puedes expandirlo y mejorarlo según tus necesidades específicas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import java.util.Scanner;
 
public class Sudoku {
 
    static int[][] board = new int[9][9];
 
    public static void main(String[] args) {
        initializeBoard();
        printBoard();
 
        while (!isSudokuSolved()) {
            playTurn();
            printBoard();
        }
 
        System.out.println("¡Felicidades! Has resuelto el Sudoku.");
    }
 
    static void initializeBoard() {
        // Puedes inicializar el tablero aquí o cargar uno predefinido.
        // Por simplicidad, aquí hay un ejemplo de un Sudoku fácil.
        int[][] initialBoard = {
                {5, 3, 0, 0, 7, 0, 0, 0, 0},
                {6, 0, 0, 1, 9, 5, 0, 0, 0},
                {0, 9, 8, 0, 0, 0, 0, 6, 0},
                {8, 0, 0, 0, 6, 0, 0, 0, 3},
                {4, 0, 0, 8, 0, 3, 0, 0, 1},
                {7, 0, 0, 0, 2, 0, 0, 0, 6},
                {0, 6, 0, 0, 0, 0, 2, 8, 0},
                {0, 0, 0, 4, 1, 9, 0, 0, 5},
                {0, 0, 0, 0, 8, 0, 0, 7, 9}
        };
 
        for (int i = 0; i < 9; i++) {
            for (int j = 0; j < 9; j++) {
                board[i][j] = initialBoard[i][j];
            }
        }
    }
 
    static void printBoard() {
        System.out.println("-------------------------");
        for (int i = 0; i < 9; i++) {
            System.out.print("| ");
            for (int j = 0; j < 9; j++) {
                System.out.print(board[i][j] + " ");
                if ((j + 1) % 3 == 0) {
                    System.out.print("| ");
                }
            }
            System.out.println();
            if ((i + 1) % 3 == 0) {
                System.out.println("-------------------------");
            }
        }
    }
 
    static void playTurn() {
        Scanner scanner = new Scanner(System.in);
 
        System.out.println("Ingresa la fila (1-9): ");
        int row = scanner.nextInt() - 1;
 
        System.out.println("Ingresa la columna (1-9): ");
        int col = scanner.nextInt() - 1;
 
        System.out.println("Ingresa el valor (1-9): ");
        int value = scanner.nextInt();
 
        if (isValidMove(row, col, value)) {
            board[row][col] = value;
            System.out.println("Movimiento válido. ¡Buena jugada!");
        } else {
            System.out.println("Movimiento inválido. Intenta de nuevo.");
        }
    }
 
    static boolean isValidMove(int row, int col, int value) {
        // Verifica si el movimiento es válido en términos de las reglas del Sudoku.
        // Puedes implementar las reglas de Sudoku aquí.
        return true;
    }
 
    static boolean isSudokuSolved() {
        // Verifica si el Sudoku está resuelto.
        // Puedes implementar esta lógica según tus necesidades.
        return false;
    }
}

Ten en cuenta que este código proporciona una estructura básica y deberás implementar la lógica específica para verificar la validez de los movimientos y determinar si el Sudoku está resuelto. ¡Espero que te sea de ayuda, Migue!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar