Batalla
naval, se puede jugar hasta 4 jugadores.
#include
<iostream>
using
namespace std;
void
mat_en_cero(int mat[][10]);
void
mat_en_x(int mat[][10]);
void
parte1(int mat[][10]);
void
parte2(int mat[][10]);
void
parte3(int mat[][10]);
void
parte4(int mat[][10]);
void
batalla(int tir,int &j,int h[],int a[]);
int main(int
argc, char *argv[]) {
int cant;
char
jug[10][10];
cout<<"Ingrese
cantidad de jugadores: ";
cin>>cant;
for(int i=0;i<cant;i++){
cout<<"Ingrese nombre jugador "<<i+1<<"
: ";
cin>>jug[i];
cout<<endl;
}
int
tir;
cout<<endl<<"A
cuantos tiros juegan?"<<endl;
cin>>tir;
int h[4],a[4];
int i=1,gan=0,seg=0;
for(int f=0;f<cant;f++){
batalla(tir,i,h,a);
i++;
cout<<endl<<endl<<"Turno
seguiente jugador"<<endl;}
for(int j=0;j<cant;j++){
if(h[j+1]>seg){
if(seg>gan){
seg=gan;gan=h[j+1];}
else
seg=h[j+1];
}
}
cout<<"Ganador:
"<<jug[gan]<<". Barcos Hundidos:
"<<h[gan]<<endl;
return 0;
}
void
mat_en_x(int fal [][10]){
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
fal[i][j]=0;
}
void
mat_en_cero(int mat [][10]){
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
mat[i][j]=0;
}
void
parte1(int mat[][10]){
int fil,col;
cout<<"Barco de 1
parte"<<endl<<"Ingrese fila"<<endl;
cin>>fil;
cout<<"Ingrese
columna"<<endl;
cin>>col;
mat[fil-1][col-1]=1;
}
void
parte2(int mat[][10]){
int fil,col;
cout<<"Barco
de 2 partes"<<endl;
for(int i=0;i<2;i++){
cout<<"Ingrese
fila"<<endl;
cin>>fil;
cout<<"Ingrese
columna"<<endl;
cin>>col;
mat[fil-1][col-1]=2;
}
//como
hago para mostar msj en caso de que este mal ingresado?
}
void
parte3(int mat[][10]){
int fil,col;
cout<<"Barco
de 3 partes"<<endl;
for(int i=0;i<3;i++){
cout<<"Ingrese
fila"<<endl;
cin>>fil;
cout<<"Ingrese
columna"<<endl;
cin>>col;
mat[fil-1][col-1]=3;
}
}
void
parte4(int mat[][10]){
int fil,col;
cout<<"Barco
de 4 partes"<<endl;
for(int i=0;i<4;i++){
cout<<"Ingrese
fila"<<endl;
cin>>fil;
cout<<"Ingrese
columna"<<endl;
cin>>col;
mat[fil-1][col-1]=4;
}
}
void
batalla(int tir,int &j,int h[],int a[]){
h[j]=0;
a[j]=0;
int mat[10][10];
mat_en_cero(mat);
parte1(mat);
parte2(mat);
parte3(mat);
parte4(mat);
for(int i=0;i<10;i++){
for(int
j=0;j<10;j++){
cout<<mat[i][j];}
cout<<endl;
}
int k=5;
int fal[10][10],col,c1=0,fil;
mat_en_x(fal);
while(c1<tir){
cout<<"Ingrese
tiro!"<<endl<<endl;
cout<<"Columna:
"<<endl;
cin>>col;
cout<<"Ingrese
fila: "<<endl;
cin>>fil;
if(mat[fil-1][col-1]==0){
cout<<endl<<"oleeeeeeee
jajajaj agua bobo"<<endl<<endl;
}else{
if(mat[fil-1][col-1]==1){
cout<<"HUNDISTE EL BARCO DE 1
PARTE!!"<<endl;fal[fil-1][col-1]=1;h[j]++;}
if(mat[fil-1][col-1]==2){
cout<<"Averiaste
barco de 2 partes"<<endl;fal[fil-1][col-1]=2;
mat[fil-1][col-1]=0;
for(int
i=0;i<10;i++)
for(int
j=0;j<10;j++)
if(mat[i][j]==2){
cout<<"te falta una/s parte/s"<<endl;
a[j]++;k=0;}
if(k==5){cout<<"BARCO
HUNDIDO!!!"<<endl;h[j]++;}
}
if(mat[fil-1][col-1]==3){
cout<<"Averiaste
barco de 3 partes"<<endl;fal[fil-1][col-1]=3;
mat[fil-1][col-1]=0;
for(int
i=0;i<10;i++)
for(int
j=0;j<10;j++)
if(mat[i][j]==3){
cout<<"te falta una/s parte/s"<<endl;a[j]++;k=0;}
if(k==5){cout<<"BARCO
HUNDIDO!!!"<<endl;h[j]++;}
}
if(mat[fil-1][col-1]==4){
cout<<"Averiaste
barco de 4 partes"<<endl;fal[fil-1][col-1]=4;
mat[fil-1][col-1]=0;
for(int
i=0;i<10;i++)
for(int
j=0;j<10;j++)
if(mat[i][j]==4){
cout<<"te falta una/s parte/s"<<endl;a[j]++;k=0;}
if(k==5){cout<<"BARCO
HUNDIDO!!!"<<endl;h[j]++;}
}
}
for(int
i=0;i<10;i++){
for(int
j=0;j<10;j++){
cout<<fal[i][j];}
cout<<endl;
}
cout<<endl<<endl<<endl<<endl;
c1++;
k=5;
}
}