Code Elite.Hundir La Flota

Páginas: 11 (2529 palabras) Publicado: 5 de mayo de 2012
#include <stdio.h>

#define JUGADOR2 2
#define JUGADOR1 1
#define _JUGADORES_ 2
// Definición de los tableros
#define _MIO_ 1
#define _CONTRARIO_ 2
// Dimensiones del tablero de barcos
#define _ANCHO_ 15
#define _ALTO_ 15
char tableros[_JUGADORES_][2][_ANCHO_][_ALTO_];
// Almacenamiento de información
#define _VACIO_ ' '
#define _AGUA_ 'A'
#define _SUBMARINO_ 'S'
#define_CORBETA_ 'C'
#define _DESTRUCTOR_ 'D'
#define _PORTAAVIONES_ 'P'

void colocar_destructor(char , char, int ,int);
void colocar_corveta(char , char , int , int );
void mostrar_tablero(char ,char );
void introducir_cordenadas(char , char ,int * ,int * );
void colocar_barcos(char ,char );
void colocar_portaaviones( char , char , int , int );
void introducir_cordenadas_batalla(int * ,int *);

void introducir_cordenadas_batalla(int *Cor1 ,int *Cor2 )
{
int m,j,i;
char letra;
char v[15]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'};
do{
printf("Introduza la letra de la cordenada\n");
fflush(stdin); letra=getchar();
printf("Introduzca el numero\n");
scanf(" %d", &m);
for (i=0;i<15;i++)
if (letra==v[i]) break;*Cor2=i;
*Cor1=m;
if(i==15) printf("La letra introducida no es valida intentelo de nuevo\n\n");

if((m<0)||(m>14)) printf("El numero introducido no es valido intentelo de nuevo\n\n");

if(((m>=0)&&(m<=14))&&(i!=15)) j=0;
else j=1;
}while (j);
printf("Las cordenadas intrducisas son %c-%d\n\n",letra,m);
} // del main

voidcolocar_barcos(char jugador ,char cual)
{ int Cor1,Cor2,i;
printf("Este es el tablero donde introducira los barcos\n");
mostrar_tablero(jugador , cual);
printf("\nEn primer lugar colacaremos los cuatro submarinos del juego, estos ocupan una\ncasilla cada uno, solo hay que introducir las cordenadas \n");
for(i=0;i<4;i++)
{introducir_cordenadas(jugador,cual,&Cor1,&Cor2);
tableros[jugador][cual][Cor1][Cor2]=_SUBMARINO_;
}
mostrar_tablero(jugador, cual);
printf("\nBien ahora pasaremos a colocar las corbetas,son tres y ocupan dos casillas cada una \n");
for(i=0;i<3;i++)
{
introducir_cordenadas(jugador,cual,&Cor1,&Cor2);

colocar_corveta( jugador, cual,Cor1,Cor2);
}
mostrar_tablero(jugador,cual);

printf("Colocamos los destruztores, son dos y ocupan tres casillas cada uno\n");
for(i=0;i<2;i++)
{ introducir_cordenadas (jugador, cual, &Cor1, &Cor2);
colocar_destructor(jugador ,cual, Cor1 ,Cor2);

}
mostrar_tablero(jugador, cual);
printf("Ahora introduciremos el portaaviones, es uno y ocupa una casilla cada uno\n");
introducir_cordenadas(jugador, cual ,&Cor1,&Cor2);
colocar_portaaviones( jugador, cual, Cor1,Cor2);
mostrar_tablero(jugador, cual);
}// del main

void colocar_portaaviones( char jugador, char cual, int Cor1 , int Cor2)
{ int aux1,aux2,aux3;
char letra;
printf("Eliga la dirrecion que quiere que vaya \nHacia abajo introduzca 'D'\nHacia arriba introdiza'U'\nHacia la izquierda introduza'L'\nHaciala derecha introduza 'R'\n");
scanf(" %c", &letra);

if (letra=='U') { aux1=Cor1-1; aux2=Cor1-2; aux3= Cor1-3;
if (((aux1>=0)&&(aux1<=14))&&((aux2>=0)&&(aux2<=14))&&((aux3>=0)&&(aux3<=14))) { if((tableros[jugador][cual][aux1][Cor2]==_VACIO_)&&(tableros[jugador][cual][aux2][Cor2]==_VACIO_)&&(tableros[jugador][cual][aux3][Cor2]==_VACIO_))
{ printf("Las cordenadas son correctas\n");
tableros[jugador][cual][aux3][Cor2]=_PORTAAVIONES_;
tableros[jugador][cual][aux2][Cor2]=_PORTAAVIONES_;
tableros[jugador][cual][aux1][Cor2]=_PORTAAVIONES_;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Las Flotas
  • ¿por qué flotamos?
  • Flota
  • que flota
  • Flota
  • CODO
  • code
  • Code

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS