Está en la página 1de 12

Práctica 6.

Construcción GRUPAL

Estudiante

Jimmy Alexander Macias Patiño

Grupo:

203036_108

Tutor

Juan Guillermo Muñoz

Universidad Nacional Abierta y a Distancia (UNAD)


Ingeniería Electrónica
Software para Ingeniería

2020
JUEGO BATALLA NAVAL

clc;
clear all;
disp ("BATALLA NAVAL")

%% ingreso de datos del jugador 1


jugador1=input("jugador 1 escriba su nombre: ","s")
disp(jugador1)
%% tamaño del campo de batalla del jugador 1
fprintf("Establece el orden de la matriz donde va a contener los barcos, puede elegir
entre 8 a 10 filas y entre 8 a 10 columnas. \n ");
R1 = input ("ingrese las cantidad de filas del campo debatalla ");
R2 = input("ingrese la cantidad de columnas del campo de batalla " );
campo1=randi([0,0],R1,R2);
sprintf("el campo de batalla es :");
disp (campo1);
%% organizacion de la flota jugador1
flota=input("ingrese la cantidad de barcos en su flota debe incluir almenos: \n
minimo 1 porta-aviones (5 casillas) maximo 2 \n minimo 1 acorazado (4 casillas)
maximo 3 \n minimo 1 lancha (3 casillas) maximo 5");
rep=0;
while rep<=flota - 1
ubi=input("digite 1 si desea ubicar el porta-aviones \n digite 2 si desea ubicar el
acorazado \n digite 3 si desea ubicar la lancha \n ");
if ubi==1
posicion=input("indique 1 si desea ubicar el barco vertical o 2 si desea ubicar el
barco horizontal");
disp("digite las coordenadas donde desea ubicar el porta-aviones recuerde que este
utiliza 5 pociciones");
if posicion==1
disp("usted escogio vertical");
F=input("ingrese la columna:");
C1=input("ingrese la primera fila:");
C2=input ("ingrese la segunda fila:");
C3=input ("ingrese la tercera fila:");
C4=input ("ingrese la cuarta fila:");
C5=input ("ingrese la quinta fila:");
campo1([C1:C5],F)=5
rep=rep+1
end
if posicion==2
disp("usted escogio horizontal");
C=input("ingrese la fila: ");
F1=input("ingrese la primera columna:");
F2=input ("ingrese la segunda columna:");
F3=input ("ingrese la tercera columna:");
F4=input ("ingrese la cuarta columna:");
F5=input ("ingrese la quinta columna:");
campo1(C,[F1:F5])=5
rep=rep+1
end
end
if ubi==2
posicion=input("indique 1 si desea ubicar el barco vertical o 2 si desea ubicar el
barco horizontal");
disp("digite las coordenadas donde desea ubicar el acorazado recuerde que este
utiliza 4 pociciones");
if posicion==1
disp("usted escogio vertical");
F=input("ingrese la columna:");
C1=input("ingrese la primera fila:");
C2=input ("ingrese la segunda fila:");
C3=input ("ingrese la tercera fila:");
C4=input ("ingrese la cuarta fila:");
campo1([C1:C4],F)=4
rep=rep+1
end
if posicion==2
disp("usted escogio horizontal");
C=input("ingrese la fila: ");
F1=input("ingrese la primera columna:");
F2=input ("ingrese la segunda columna:");
F3=input ("ingrese la tercera columna:");
F4=input ("ingrese la cuarta columna:");
campo1(C,[F1:F4])=4
rep=rep+1
end
end
if ubi==3
posicion=input("indique 1 si desea ubicar el barco vertical o 2 si desea ubicar el
barco horizontal");
disp("digite las coordenadas donde desea ubicar la lancha recuerde que este utiliza 3
pociciones");
if posicion==1
disp("usted escogio vertical");
F=input("ingrese la columna:");
C1=input("ingrese la primera fila:");
C2=input ("ingrese la segunda fila:");
C3=input ("ingrese la tercera fila:");
campo1([C1:C3],F)=3
rep=rep+1
end
if posicion==2
disp("usted escogio horizontal");
C=input("ingrese la fila: ");
F1=input("ingrese la primera columna:");
F2=input ("ingrese la segunda columna:");
F3=input ("ingrese la tercera columna:");
campo1(C,[F1:F3])=3
rep=rep+1
end
end
end
%% ingreso de datos del jugador 2
jugador2=input("jugador 2 escriba su nombre: ","s")
disp(jugador2)
%% tamaño del campo de batalla del jugador 2
fprintf("Establece el orden de la matriz donde va a contener los barcos, puede elegir
entre 8 a 10 filas y entre 8 a 10 columnas. \n ");
R1 = input ("ingrese las cantidad de filas del campo debatalla ");
R2 = input("ingrese la cantidad de columnas del campo de batalla " );
campo2=randi([0,0],R1,R2);
sprintf("el campo de batalla es :");
disp (campo2);
%% organizacion de la flota jugador2
flota=input("ingrese la cantidad de barcos en su flota debe incluir almenos: \n
minimo 1 porta-aviones (5 casillas) maximo 2 \n minimo 1 acorazado (4 casillas)
maximo 3 \n minimo 1 lancha (3 casillas) maximo 5");
rep=0;
while rep<=flota - 1
ubi=input("digite 1 si desea ubicar el porta-aviones \n digite 2 si desea ubicar el
acorazado \n digite 3 si desea ubicar la lancha \n ");
if ubi==1
posicion=input("indique 1 si desea ubicar el barco vertical o 2 si desea ubicar el
barco horizontal");
disp("digite las coordenadas donde desea ubicar el porta-aviones recuerde que este
utiliza 5 pociciones");
if posicion==1
disp("usted escogio vertical");
F=input("ingrese la columna:");
C1=input("ingrese la primera fila:");
C2=input ("ingrese la segunda fila:");
C3=input ("ingrese la tercera fila:");
C4=input ("ingrese la cuarta fila:");
C5=input ("ingrese la quinta fila:");
campo2([C1:C5],F)=5
rep=rep+1
end
if posicion==2
disp("usted escogio horizontal");
C=input("ingrese la fila: ");
F1=input("ingrese la primera columna:");
F2=input ("ingrese la segunda columna:");
F3=input ("ingrese la tercera columna:");
F4=input ("ingrese la cuarta columna:");
F5=input ("ingrese la quinta columna:");
campo2(C,[F1:F5])=5
rep=rep+1
end
end
if ubi==2
posicion=input("indique 1 si desea ubicar el barco vertical o 2 si desea ubicar el
barco horizontal");
disp("digite las coordenadas donde desea ubicar el acorazado recuerde que este
utiliza 4 pociciones");
if posicion==1
disp("usted escogio vertical");
F=input("ingrese la columna:");
C1=input("ingrese la primera fila:");
C2=input ("ingrese la segunda fila:");
C3=input ("ingrese la tercera fila:");
C4=input ("ingrese la cuarta fila:");
campo2([C1:C4],F)=4
rep=rep+1
end
if posicion==2
disp("usted escogio horizontal");
C=input("ingrese la fila: ");
F1=input("ingrese la primera columna:");
F2=input ("ingrese la segunda columna:");
F3=input ("ingrese la tercera columna:");
F4=input ("ingrese la cuarta columna:");
campo2(C,[F1:F4])=4
rep=rep+1
end
end
if ubi==3
posicion=input("indique 1 si desea ubicar el barco vertical o 2 si desea
ubicar el barco horizontal");
disp("digite las coordenadas donde desea ubicar la lancha recuerde que este
utiliza 3 pociciones");
if posicion==1
disp("usted escogio vertical");
F=input("ingrese la columna:");
C1=input("ingrese la primera fila:");
C2=input ("ingrese la segunda fila:");
C3=input ("ingrese la tercera fila:");
campo2([C1:C3],F)=3
rep=rep+1
end
if posicion==2
disp("usted escogio horizontal");
C=input("ingrese la fila: ");
F1=input("ingrese la primera columna:");
F2=input ("ingrese la segunda columna:");
F3=input ("ingrese la tercera columna:");
campo2(C,[F1:F3])=3
rep=rep+1
end
end
end

disp("INICIA LA BATALLA \n QUE GANE EL MEJOR");


DISPAROS=input("ingrse la cantidad maxima de disparos por jugador:");
disp("¿quien inicia el ataque?");
turno=0
while turno<=DISPAROS -1
jugador=input("digite 1 para jugador 1 \n digite 2 para jugador 2 \n");
if jugador==1
sprintf("el jugador");
disp(jugador1);
disparo=input("digite 3 para ingresar las coordenadas del disparo");
if disparo==3
F=input("ingrese el numero de la fila");
C=input("ingrese el numero de la columna");
campo2(F,C)=1
turno=turno+1
end
end
if jugador==2
sprintf("el jugador");
disp(jugador2);
disparo=input("digite 3 para ingresar las coordenadas del disparo");
if disparo==3
F=input("ingrese el numero de la fila");
C=input("ingrese el numero de la columna");
campo1(F,C)=1
turno=turno+1
end
end
end
disp("fin de la batalla");

PANTALLAZOS DEL FUNCIONAMIENTO DEL JUEGO


PARA COMPLETAR LA SOLUCION ME FALTA LA ASIGNACION DE LAS FALLAS Y

ACIERTOS DEL DISPARO

Y LA ASIGNACION DE PUNTOS POR GOLPE

SERIA DE GRAN AYUDA SU COLABORACION PARA INCLUIR ESTOS PARAMETROS

DENTRO DEL EJERCICIO


Bibliografia

Kernighan, B. W., & Ritchie, D. M. (1991). EL LENGUAJE DE PROGRAMACION C . Naucalpan de Juárez:


PRENTICE-HALL HISPANOAMERICANA, S.A.

Marcet García, E., Palacios-Callender, M., & Marcet Sánchez, M. (2016). Diseño y programación de un
software de transformacion de matrices para el analisis de redes . Revista Hispana Para el
Analisis de redes sociales , 73-80.

Sanchez Garcia , G. (1995). Como programar en C/C++. Naucalpan de Juárez: PRENTICE-HALL


HISPANOAMERICANA, S.A.

También podría gustarte