Skip to content

Juego de Batalla Naval - Trabajo de Ingeniería en Software

Notifications You must be signed in to change notification settings

Mauricho/Batalla-Naval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Batalla Naval

Proyecto final de la materia Ingeniería en Software de la Facultad de Ciencias Exactas, Físicas y Naturales de la Universidad Nacional de Córdoba.

Indice

[TOCM]

[TOC]

Consigna

Presentar como trabajo final un programa donde se aplique todas las prácticas de Ingeniería en Software vista en la materia a lo largo del cuatrimestre. El objetivo del trabajo es aprender sobre Administración y Control de las Configuraciones, la Ingeniería de los Requerimientos, el Modelado de Sistemas, la Introducción de las Pruebas de Software, Patrondes de Diseño y de Arquitectura y el Desarrollo Ágil.

Nuestra Idea

El proyecto lo basamos en el juego Batalla Naval, en el cual un usuario selecciona las posiciones de los barcos (100 lugares en total) y su orientación (horizontal o vertical). Y el contrincante debe disparar dando unas coordenadas (x e y) para hundir el barco del rival. El juego continua de esta forma hasta que alguno de los dos se queda sin barco. Y agregamos un modo de juego inventado por nosotros, LuckShot cuyas reglas se explican más abajo.

Reglas del juego modo normal

  1. Cada jugador puede tener como máximo 10 barcos
  2. Cada jugador puede tener: 4 fragatas, 3 destructores, 2 submarinos, 1 acorazado
  3. Es un disparo por turno.
  4. Quien se queda sin barcos pierde la partida

Regla del juego modo LuckShot

Documentación

A toda la documentación del proyecto se la puede leer en el repositorio de github. Aquí se encuentran los requerimientos definidos por nosotros mismos, los diagramas UML (diagramas de clase, diagramas de objetos, diagramas de secuencia, diagramas de casos de uso, etc), la matrix de trazabilidad, los patrones de diseño usados (Observer, Strategy, Singletos) y el patrón de Arquitectura (Model View Controller). Algunos datos más se pueden llegar a encontrar en esos archivos .pdf.

Capturas de pantalla

Esta son algunas capturas de pantalla sobre el avance del juego.

Tablero y Barcos

En la imagen se puede visualizar la idea de un tablero, con los respectivos barcos y los lugares que ocupa cada uno.

Menú Principal

Selección de los barcos

Tablero de la jugada

Integrantes

Los integrantes del proyecto son:

// Abajo dejo la guía por si hace falta agregar más cosas !!

删除线 删除线(开启识别HTML标签时) 斜体字 斜体字 粗体 粗体 粗斜体 粗斜体

上标:X2,下标:O2

缩写(同HTML的abbr标签)

即更长的单词或短语的缩写形式,前提是开启识别HTML标签时,已默认开启

The HTML specification is maintained by the W3C.

引用 Blockquotes

引用文本 Blockquotes

引用的行内混合 Blockquotes

引用:如果想要插入空白换行即<br />标签,在插入处先键入两个以上的空格然后回车即可,普通链接

锚点与链接 Links

普通链接

普通链接带标题

直接链接:https://github.com

锚点链接

mailto:test.test@gmail.com

GFM a-tail link @pandao 邮箱地址自动链接 test.test@gmail.com www@vip.qq.com

@pandao

多语言代码高亮 Codes

行内代码 Inline code

执行命令:npm install marked

缩进风格

即缩进四个空格,也做为实现类似 <pre> 预格式化文本 ( Preformatted Text ) 的功能。

<?php
    echo "Hello world!";
?>

预格式化文本:

| First Header  | Second Header |
| ------------- | ------------- |
| Content Cell  | Content Cell  |
| Content Cell  | Content Cell  |

JS代码 

function test() {
	console.log("Hello world!");
}
 
(function(){
    var box = function() {
        return box.fn.init();
    };

    box.prototype = box.fn = {
        init : function(){
            console.log('box.init()');

			return this;
        },

		add : function(str) {
			alert("add", str);

			return this;
		},

		remove : function(str) {
			alert("remove", str);

			return this;
		}
    };
    
    box.fn.init.prototype = box.fn;
    
    window.box =box;
})();

var testBox = box();
testBox.add("jQuery").remove("jQuery");

HTML 代码 HTML codes

<!DOCTYPE html>
<html>
    <head>
        <mate charest="utf-8" />
        <meta name="keywords" content="Editor.md, Markdown, Editor" />
        <title>Hello world!</title>
        <style type="text/css">
            body{font-size:14px;color:#444;font-family: "Microsoft Yahei", Tahoma, "Hiragino Sans GB", Arial;background:#fff;}
            ul{list-style: none;}
            img{border:none;vertical-align: middle;}
        </style>
    </head>
    <body>
        <h1 class="text-xxl">Hello world!</h1>
        <p class="text-green">Plain text</p>
    </body>
</html>

图片 Images

Image:

Follow your heart.

图为:厦门白城沙滩

图片加链接 (Image + Link):

图为:李健首张专辑《似水流年》封面


列表 Lists

无序列表(减号)Unordered Lists (-)

  • 列表一
  • 列表二
  • 列表三

无序列表(星号)Unordered Lists (*)

  • 列表一
  • 列表二
  • 列表三

无序列表(加号和嵌套)Unordered Lists (+)

  • 列表一
  • 列表二
    • 列表二-1
    • 列表二-2
    • 列表二-3
  • 列表三
    • 列表一
    • 列表二
    • 列表三

有序列表 Ordered Lists (-)

  1. 第一行
  2. 第二行
  3. 第三行

GFM task list

  • GFM task list 1
  • GFM task list 2
  • GFM task list 3
    • GFM task list 3-1
    • GFM task list 3-2
    • GFM task list 3-3
  • GFM task list 4
    • GFM task list 4-1
    • GFM task list 4-2

绘制表格 Tables

项目 价格 数量
计算机 $1600 5
手机 $12 12
管线 $1 234
First Header Second Header
Content Cell Content Cell
Content Cell Content Cell
First Header Second Header
Content Cell Content Cell
Content Cell Content Cell
Function name Description
help() Display the help window.
destroy() Destroy your computer!
Left-Aligned Center Aligned Right Aligned
col 3 is some wordy text $1600
col 2 is centered $12
zebra stripes are neat $1
Item Value
Computer $1600
Phone $12
Pipe $1

特殊符号 HTML Entities Codes

© & ¨ ™ ¡ £ & < > ¥ € ® ± ¶ § ¦ ¯ « ·

X² Y³ ¾ ¼ × ÷ »

18ºC " '

[========]

Emoji表情 😃

Blockquotes ⭐

GFM task lists & Emoji & fontAwesome icon emoji & editormd logo emoji :editormd-logo-5x:

  • 😃 @mentions, 😃 #refs, links, formatting, and tags supported :editormd-logo:;
  • list syntax required (any unordered or ordered list supported) :editormd-logo-3x:;
  • [ ] 😃 this is a complete item 😃;
  • []this is an incomplete item test link :fa-star: @pandao;
  • [ ]this is an incomplete item :fa-star: :fa-gear:;
    • 😃 this is an incomplete item test link :fa-star: :fa-gear:;
    • 😃 this is :fa-star: :fa-gear: an incomplete item test link;

反斜杠 Escape

*literal asterisks*

[========]

科学公式 TeX(KaTeX)

$$E=mc^2$$

行内的公式$$E=mc^2$$行内的公式,行内的$$E=mc^2$$公式。

$$x > y$$

$$(\sqrt{3x-1}+(1+x)^2)$$

$$\sin(\alpha)^{\theta}=\sum_{i=0}^{n}(x^i + \cos(f))$$

多行公式:

$$\displaystyle \left( \sum\_{k=1}^n a\_k b\_k \right)^2 \leq \left( \sum\_{k=1}^n a\_k^2 \right) \left( \sum\_{k=1}^n b\_k^2 \right)$$
\displaystyle 
    \frac{1}{
        \Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{
        \frac25 \pi}} = 1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {
        1+\frac{e^{-6\pi}}
        {1+\frac{e^{-8\pi}}
         {1+\cdots} }
        } 
    }
f(x) = \int_{-\infty}^\infty
    \hat f(\xi)\,e^{2 \pi i \xi x}
    \,d\xi

分页符 Page break

Print Test: Ctrl + P

[========]

绘制流程图 Flowchart

st=>start: 用户登陆
op=>operation: 登陆操作
cond=>condition: 登陆成功 Yes or No?
e=>end: 进入后台

st->op->cond
cond(yes)->e
cond(no)->op

[========]

绘制序列图 Sequence Diagram

Andrew->China: Says Hello 
Note right of China: China thinks\nabout it 
China-->Andrew: How are you? 
Andrew->>China: I am good thanks!

End

About

Juego de Batalla Naval - Trabajo de Ingeniería en Software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages