Sie sind auf Seite 1von 14

TRABAJO INGENIERIA DE SOFTWARE

FASE 6 : CONSTRUCCION COLABORATIVA

PRESENTADO POR:

CARLOS ARIAS. COD. 1016080905


YAINA PINZON COD 1019042906
YONNI MIGUEL TIQUE COD

PRESENTADO A:
SANDRA MILENA GARCIA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD.


INGENIERIA ELECTRÓNICA.
BOGOTÁ MAYO
2020
INTRODUCCION

En el presente trabajo se aplicarán conocimientos adquiridos durante el


curso de sofware para ingeniería en el cual por medio de una
problemática nos invita a conocer y a involucrarnos en el uso de
software de modelamiento matemático como lo es Matlab y Sictab los
cuales cuentan con sintaxis y estructuras diferentes, pero en los dos se
puede trabajar a su manera los arreglos y gráficos temas propuestos
para la presente actividad.
La problemática propuesta en esta ocasión es el juego batalla naval
iniciamos pidiendo al usuario datos importantes como son el tamaño del
tablero y la cantidad de barcos que desea en su flota, se utilizó la
sentencia while para repetir en caso de ser mas de un barco, así mismo
el condicional if para diferentes procesos en el código.
La principal característica del juego es la simpleza a ojos de los
jugadores, ya que arroja paso a paso para ubicar y disparar a los
barcos.
ACTIVIDAD A DESARROLLAR
Actividades colaborativas:
Releer el problema a resolver y con base en la idea seleccionada, la
información recopilada, las secciones de código de la práctica 2
seleccionados y la propuesta metodológica planteada, diseñar:
 El algoritmo que dé solución al problema planteado en el curso
(diagrama de flujo o pseudocódigo)

INICIA EL JUEGO

SOLICITAR NUMERO DE FILAS

SOLICITAR NUMERO DE COLUMNAS

MOSTRAR MATRIZ GENERADA

SOLICITAR CORDENADAS DE DISPARO

ACERTO
?
ON

HAS FALLADO
IS
ACTUALIZA LA MATRIZ

ACTUALIZA NUMERO DE
DISPAROS ,ACIERTOS Y
ERRORES

CONTINUAR
JUGANDO
ON
FIN DEL JUEGO
HAS GANADO
FELICITACIONES
 Desarrollar el código fuente en Matlab o Scilab, que dé solución al
problema planteado en el curso

%..............Universidad nacional abierta y a distancia............


%....................Carlos Alberto Arias Bernal.....................
%.....................Software para ingeniería.......................
%......................Ingeniería Electrónica........................
%..........................Batalla Naval.............................

disp ('A continuacion digite el tamaño del tablero') % Se pide al


usuario tamaño del tablero
Matriz_filas=input ('ingrese el numero de filas que quiere para el
tablero"de 8 a 10: ') % Se brinda rando para elegir el tamaño de filas
Matriz_columna=input ('ingrese el numero de columnas que quiere para el
tablero de 8 a 10: ') % Se brinda rango para elegir el tamaño de columnas
Matriz= zeros(Matriz_filas,Matriz_columna) % Se crea la matriz Segun lo
indicado

Barcos= input('Ingrese la cantidad de barcos en su flota: ') % El usuario


ingresa la cantidad de barcos que quiere
Rep=0;
while Rep <= Barcos-1 % Sentencia while que repite el proceso las
veces necesarias
Barco_elegido=input('Digite el barco de su preferencia "1
Porta-aviones (5 Posiciones)" "2 Acorazado (4 posiciones)" "3 Lancha (2
posiciones)": ') % El usuario digita el barco de su preferencia
if Barco_elegido==1 % Condicional si el barco elegido es el uno
disp ('Digite coordenadas donde quere ubicar el porta
aviones') % El jugador digita coordenadas para ubicacion
Posicion=input('Digite el numero segun lo deseado "1"
horizontal "2" vertical: ') % Digita Posicion del barco vertical o
horizontal
if Posicion==1 % Condicional if si quiere vertical o horizontal
disp('Escogio horizontal') % Preferencia del usuario
f=input('ingrese la fila: ') % Jugador ingresa fila
columna1=input('ingrese la primera columna: ') % Jugador ingresa
columna
columna2=input('ingrese la segunda columna: ') % Jugador ingresa
columna
columna3=input('ingrese la tercersa columna: ') % Jugador ingresa
columna
columna4=input('ingrese la cuarta columna: ') % Jugador ingresa
columna
columna5=input('ingrese la quinta columna: ') % Jugador ingresa
columna
Matriz(f,[columna1,columna2,columna3,columna4,columna5])=5 % Se
muestra la matriz en juego con el barco elegido y en posicion
Rep=Rep+1
end % Fin de condicional if
if Posicion==2 % Condicional if si quiere vertical o horizontal
disp('Escogio vertical') % Preferencia del usuario
f=input('ingrese la columna: ') % Jugador ingresa la columna
fila1=input('ingrese la primera fila: ') % Jugador ingresa fila
fila2=input('ingrese la segunda fila: ') % Jugador ingresa fila
fila3=input('ingrese la tercersa fila: ') % Jugador ingresa fila
fila4=input('ingrese la cuarta fila: ') % Jugador ingresa fila
fila5=input('ingrese la quinta fila: ') % Jugador ingresa fila
Matriz(f,[fila1,fila2,fila3,fila4,fila5])=5 % Se muestra matriz
en juego Con lo elegido por el usuario
Rep=Rep+1
end % Fin de condicional if
end % Fin de condicional if
if Barco_elegido==2 % Condicional if si el barco elegido es el 2
disp ('Digite coordenadas donde quere ubicar el porta
acorazado') % Jugador digita coordenadas
Posicion=input('Digite el numero segun lo deseado "1"
horizontal "2" vertical: ') % Preferencia del usuario
if Posicion==1 % Condicional if si es elegido horizontal
disp('Escogio horizontal') % Se indica que eligio horizontal
f=input('ingrese la fila: ') % Jugador ingreesa la fila
columna1=input('ingrese la primera columna: ') % Jugador ingresa
columna
columna2=input('ingrese la segunda columna: ') % Jugador ingresa
columna
columna3=input('ingrese la tercersa columna:') % Jugador ingresa
columna
columna4=input('ingrese la cuarta columna: ') % Jugador ingresa
columna
Matriz(f,[columna1,columna2,columna3,columna4])=4 % Se muestra
matriz con el barco en posicion que eligio el usuario
Rep=Rep+1
end% Fin de condicional if
if Posicion==2 % Condicional if si el jugador elige vertical
disp('Escogio vertical') % Se indica lo deseado
f=input('ingrese la columna: ') % Jugador ingresa columna
fila1=input('ingrese la primera : ') % Jugador ingresa fila
fila2=input('ingrese la segunda fila: ') % Jugador ingresa fila
fila3=input('ingrese la tercersa fila: ') % Jugador ingresa fila
fila4=input('ingrese la cuarta fila: ') % Jugador ingresa fila
Matriz(f,[fila1,fila2,fila3,fila4])=4 % Se muestra matriz con el
barco en posicion que eligio el usuario
Rep=Rep+1
end % Fin de condicional if
end % Fin de condicional if
if Barco_elegido==3 % Condicional if si el barco elegido es el 2
disp ('Digite coordenadas donde quere ubicar la lancha') % Se
indica para saber las coordenadas
Posicion=input('Digite el numero segun lo deseado "1"
horizontal "2" vertical: ') % Jugador elige vertical o horizontal
if Posicion==1 % Condicional if si posicion es horizontal
disp('Escogio horizontal') % se indica lo elegido
f=input('ingrese la fila: ') % Jugador ingresa fila
columna1=input('ingrese la primera columna: ') % Jugador ingresa
columna
columna2=input('ingrese la segunda columna: ') % Jugador ingresa
columna
columna3=input('ingrese la tercersa columna: ') % Jugador ingresa
columna
Matriz(f,[columna1,columna2,columna3])=3 % Se muestra matriz con
el barco en posicion que eligio el usuario
Rep=Rep+1
end % Fin condicional if
if Posicion==2 % Condicional if si posicion es vertical
disp('Escogio vertical') % se indica lo elegido
f=input('ingrese la columna: ') % Jugador ingresa columna
fila1=input('ingrese la primera fila: ') % Jugador ingresa fila
fila2=input('ingrese la segunda fila: ') % Jugador ingresa fila
fila3=input('ingrese la tercersa fila: ') % Jugador ingresa fila
Matriz(f,[fila1,fila2,fila3])=3 % Se muestra matriz con el barco
en posicion que eligio el usuario
Rep=Rep+1
end % Fin de condicional if
end % Fin de condicional if

end % Fin de sentencia while


DISPAROS=input('Ingrese la cantidad maxima de disparos: ') % El
jugador ingresa los disparos maximos

turno=0 % Turno
while turno <=DISPAROS-1 % Sentencia while disparos
DISPARO=input('digite 3 para ingresar coordenadas de disparo:
') % Usuario digita 3 para ingresar coordenadas de disparo
if DISPARO == 3 % Condicional if si usuario digita 3
L=input ('Ingrese el numero de la fila: ') % Jugador ingresa
el numero de fila
H=input ('Ingrese el numero de la columna: ') % Jugador
ingresa el numero de columna
Matriz(L,H)=1 % Matriz se muestra en pantalla con el disparo
efectuado
end % Fin de condicional if
end % Fin de Sentencia while
function figure1_closerecuestFcn(hObject)
opc=questdlg('Desea salir del juego ''Salir','si','no','no')
if strcmp(opc,'no')
return
end
delete (hObject)
end
 Capturas de pantalla del funcionamiento del aplicativo,
debidamente comentadas.
Inicia el programa, indica al jugador que ingrese el número de filas que quiere
para el tablero especificando que lo posible es de 8 a 10

Posteriormente pide al jugador ingresar el numero de columnas y asi


mismo especifica de 8 10 solo es posible
Luego de ingresar los números de fila y columna automáticamente se
crea la matriz con las características dadas, y se pide ingresar la
cantidad de barcos que se desea

Luego pedimos digitar el barco de su preferencia ( portaaviones,


acorazado o lancha).
Luego el usuario digita la posición de preferencia (Horizontal o Vertical)

Posteriormente se muestra en pantalla la posición deseada y se indica al


usuario que coloque el número de la fila y columnas, esto se hace de
acuerdo al barco elegido.
Se muestra la matriz en pantalla ya con el barco en posición, así mismo
repite el proceso para posicionar el otro barco

Luego de realizar el mismo proceso con el otro barco, en este caso


escogimos lancha, se muestra la matriz de nuevo ahora con los dos
barcos en posición.
Ya terminando de posicionar los barcos Se indica al jugador ingresar la
cantidad de disparos y según eso teclear 3 para iniciar a disparar

Luego pide al jugador ingresar el numero de fila y numero de columna


que será el disparo exacto
Posteriormente el programa muestra la matriz de nuevo con el disparo
efectuado.

Por último se realiza el mismo proceso hasta que el usuario decida


terminar el juego.
CONCLUSION

 Debido a las demás prácticas que se realizaron a lo largo del


curso, se adquirió conocimientos para lograr culminar el proyecto
final, la idea es estructurar un juego óptimo para el jugador con
ayudas didácticas.
 En busca de la solución a la problemática se identificó como se
debe estructurar un arreglo y la utilidad en la programación.
 Es necesario conocer y estudiar las diferentes funciones, sintaxis y
estructuras del software para llevar a buen término la solución a la
problemática planteada.
BIBLIOGRAFIA

 Hahn, B. D., & Valentine, D. T. (2013). Essential MATLAB for


Engineers and Scientists (Vol. Fifth edition). Waltham, MA: Academic
Press. Capítulo 6. Pág. 129-160. Recuperado
de http://bibliotecavirtual.unad.edu.co/login?
url=http://search.ebscohost.com/login.aspx?
direct=true&db=nlebk&AN=485981&lang=es&site=eds-live
 Gil, R. M. (2003). Introducción rápida a Matlab y Simulink para
ciencia e ingeniería. Madrid, ES: Ediciones Díaz de Santos. Capítulo
4. pág. 41-50. Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.actio
n?ppg=1&docID=11059428&tm=1479848795401

Das könnte Ihnen auch gefallen