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
Por favor le necesito
Gracias
Valora esta pregunta


0
#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;
}