Algoritmia - codigo fuente juego barcos

 
Vista:

codigo fuente juego barcos

Publicado por Moe (2 intervenciones) el 07/01/2003 23:35:13
Alguien tiene el codigo fuente del tipico juego de barcos en C++ ?
Por favor le necesito
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 juego de barcos en C++

Publicado por Alejandro (307 intervenciones) el 28/02/2024 19:50:09
Hola, Moe. A continuación, te proporciono un esquema básico de un juego de barcos en C++. Ten en cuenta que este código es simplificado y puede necesitar ajustes según tus necesidades específicas. Aquí implementaré un juego de Batalla naval para dos jugadores:

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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
const int BOARD_SIZE = 5;
 
class Player {
public:
    vector<vector<char>> board;
 
    Player() {
        board.resize(BOARD_SIZE, vector<char>(BOARD_SIZE, 'O'));  // 'O' representa agua
    }
 
    void placeShips() {
        // Aquí puedes implementar la lógica para que los jugadores coloquen sus barcos en el tablero.
        // Por simplicidad, se puede hacer de manera manual o aleatoria.
 
        // Ejemplo aleatorio:
        srand(static_cast<unsigned>(time(0)));
        int numShips = 3;  // Número de barcos
        while (numShips > 0) {
            int x = rand() % BOARD_SIZE;
            int y = rand() % BOARD_SIZE;
            if (board[x][y] == 'O') {
                board[x][y] = 'S';  // 'S' representa un barco
                numShips--;
            }
        }
    }
 
    void printBoard() const {
        for (const auto &row : board) {
            for (char cell : row) {
                cout << cell << " ";
            }
            cout << endl;
        }
    }
};
 
class BattleshipGame {
public:
    Player player1, player2;
 
    void play() {
        player1.placeShips();
        player2.placeShips();
 
        // Implementa el bucle principal del juego aquí.
 
        // Ejemplo de turno:
        int x, y;
        cout << "Jugador 1, ingresa coordenadas (x y): ";
        cin >> x >> y;
        processMove(player1, player2, x, y);
 
        // Continúa con los turnos, verifica si alguien ganó, etc.
    }
 
private:
    void processMove(Player &attacker, Player &opponent, int x, int y) {
        // Implementa la lógica para procesar un movimiento, marcar el tablero, verificar si se ha hundido un barco, etc.
        // Puedes personalizar esta función según tus reglas específicas del juego.
    }
};
 
int main() {
    BattleshipGame game;
    game.play();
 
    return 0;
}

Recuerda que este código es un punto de partida y puede requerir adaptaciones según tus necesidades específicas y reglas del juego. ¡Espero que te sea útil!
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