C/Visual C - necesito el codigo de combate naval en C

 
Vista:

necesito el codigo de combate naval en C

Publicado por Sebastian (1 intervención) el 13/10/2001 02:00:45
porfavor si alguien me puede ayudar necesito el codigo del combate naval o algo parecido para poder hacerlo yo tiene que ser unicamente en c manden cualquier cosa a [email protected]
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

Código de Combate naval en C

Publicado por Alejandro (913 intervenciones) el 16/10/2024 23:27:09
A continuación, te presento un ejemplo básico de un juego de combate naval en C. Este código es un punto de partida y puedes expandirlo según tus necesidades.

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define SIZE 5
#define MAX_ATTEMPTS 5
 
void initializeBoard(char board[SIZE][SIZE]) {
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++) {
            board[i][j] = '~'; // Agua
        }
    }
}
 
void printBoard(char board[SIZE][SIZE]) {
    printf("  0 1 2 3 4\n");
    for (int i = 0; i < SIZE; i++) {
        printf("%d ", i);
        for (int j = 0; j < SIZE; j++) {
            printf("%c ", board[i][j]);
        }
        printf("\n");
    }
}
 
int main() {
    char board[SIZE][SIZE];
    int shipRow, shipCol;
    int guessRow, guessCol;
    int attempts = 0;
    int hit = 0;
 
    srand(time(0));
    shipRow = rand() % SIZE;
    shipCol = rand() % SIZE;
 
    initializeBoard(board);
 
    while (attempts < MAX_ATTEMPTS && hit == 0) {
        printBoard(board);
        printf("Adivina la fila y columna del barco (ejemplo: 1 2): ");
        scanf("%d %d", &guessRow, &guessCol);
 
        if (guessRow == shipRow && guessCol == shipCol) {
            printf("¡Tocado y hundido!\n");
            hit = 1;
        } else {
            printf("Fallaste. Intenta de nuevo.\n");
            board[guessRow][guessCol] = 'X'; // Marca el intento fallido
            attempts++;
        }
    }
 
    if (hit == 0) {
        printf("Has agotado tus intentos. El barco estaba en %d, %d.\n", shipRow, shipCol);
    }
 
    return 0;
}

Explicación del código:


1. Inicialización del tablero: Se crea un tablero de 5x5 donde cada celda se inicializa con '~' (agua).
2. Colocación del barco: Se coloca un barco en una posición aleatoria del tablero.
3. Juego: El jugador tiene 5 intentos para adivinar la posición del barco. Si acierta, se muestra un mensaje de éxito; si no, se marca el intento fallido con 'X'.
4. Fin del juego: Si se agotan los intentos, se revela la posición del barco.

Puedes modificar y expandir este código para agregar más características, como múltiples barcos, un sistema de puntuación, o una interfaz gráfica si lo deseas. ¡Espero que esto te ayude a comenzar, Sebastián!
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