Files
El-juego-de-la-vida/Documentacion/global.html

1084 lines
12 KiB
HTML
Executable File

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Global</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Global</h1>
<section>
<header>
<h2></h2>
</header>
<article>
<div class="container-overview">
<dl class="details">
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="_contarvecinos"><span class="type-signature"></span>_contarvecinos<span class="signature">(x, y)</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Contar Vecinos</h1>
<p>Esta funcion permite contar los vecinos de una celula, sea que esta viva como si esta muerta y devuelve la cantidad de vecinos vivos que esta tenga.</p>
<p>Esquema:</p>
<p><strong>Esquema:</strong></p>
<pre><code> 3 4 5
| | |
v v v
__ ___ ___
| | | | &lt;-3
+---|---|---|
| 1 | 1 | 1 | &lt;-4
+---|---|---|
| | | | &lt;-5
+---|---|---|
</code></pre>
<p><strong>calcular el vecino de 4,4</strong></p>
<p>xCelula la cantidad de filas de celulas
yCelula es la cantidad de columnas de celulas</p>
<table>
<thead>
<tr>
<th>variable</th>
<th>estado</th>
</tr>
</thead>
<tbody>
<tr>
<td>prev[4][3]</td>
<td>verdadero</td>
</tr>
<tr>
<td>prev[5][3]</td>
<td>falso</td>
</tr>
<tr>
<td>prev[5][4]</td>
<td>falso</td>
</tr>
<tr>
<td>prev[5][5]</td>
<td>falso</td>
</tr>
<tr>
<td>prev[4][5]</td>
<td>verdadero</td>
</tr>
<tr>
<td>prev[3][5]</td>
<td>falso</td>
</tr>
<tr>
<td>prev[3][4]</td>
<td>falso</td>
</tr>
<tr>
<td>prev[3][3]</td>
<td>falso</td>
</tr>
</tbody>
</table>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>x</code></td>
<td class="type">
<span class="param-type">int</span>
</td>
<td class="description last"><p>filas</p></td>
</tr>
<tr>
<td class="name"><code>y</code></td>
<td class="type">
<span class="param-type">int</span>
</td>
<td class="description last"><p>columnas</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line212">line 212</a>
</li></ul></dd>
</dl>
<h4 class="name" id="getPuntoBajoMouse"><span class="type-signature"></span>getPuntoBajoMouse<span class="signature">(e)</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Celda seleccionada (getPuntoBajoMouse)</h1>
<p>Esta funcion permite al programa determinar en sobre que celda se encuentra posicionado el mouse a partir de las coordenadas devueltas por el evento mousedown.</p>
<p>Para calcular este valor, se realizan las siguientes operaciones</p>
<p>X=</p>
<p>Donde:</p>
<p>e.pageX: posicion del cursor en x
e.pageY: posicion del cursor en y</p>
<p>gx.ctx.canvas.offsetLeft: pixeles desde el lienzo hasta el borde de la pantalla a la izquierda
gx.ctx.canvas.offsetright: pixeles desde el lienzo hasta el borde de la pantalla arriba
gx.tamaño_celula: tamaño de la celula en pixeles</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>e</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>eventos devueltos por el listener de mousedown</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line124">line 124</a>
</li></ul></dd>
</dl>
<h4 class="name" id="iniciar"><span class="type-signature"></span>iniciar<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Iniciar</h1>
<p>Inicia el temporizador que avanza cada generacion</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line317">line 317</a>
</li></ul></dd>
</dl>
<h4 class="name" id="init"><span class="type-signature"></span>init<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Init</h1>
<p>Esta funcion permite inicializar todas las variables necesarias para el funcionamiento de este programa</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line143">line 143</a>
</li></ul></dd>
</dl>
<h4 class="name" id="limpiar"><span class="type-signature"></span>limpiar<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Limpiar</h1>
<p>Cambia el estado de cada celula a apagado</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line285">line 285</a>
</li></ul></dd>
</dl>
<h4 class="name" id="parar"><span class="type-signature"></span>parar<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Parar</h1>
<p>Limpia el temporizador que ejecuta la funcion de siguiente_generacion</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line326">line 326</a>
</li></ul></dd>
</dl>
<h4 class="name" id="procesarCelula"><span class="type-signature"></span>procesarCelula<span class="signature">(celula)</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Procesar Celula</h1>
<p>Esta funcion permite calcular la posicion de la celula y determinar su estado</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>celula</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>Objeto de puntos en X,Y definido en la clase Puntos</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line89">line 89</a>
</li></ul></dd>
</dl>
<h4 class="name" id="siguiente_generacion"><span class="type-signature"></span>siguiente_generacion<span class="signature">()</span><span class="type-signature"></span></h4>
<div class="description">
<h1>Siguiente Generacion</h1>
<p>Esta funcion se encarga de calcular la siguiente generacion de la partida, para esto, crea un nuevo arreglo con la matriz aun vigente, luego hace un barrido por cada una de las celdas buscando cuantas celulas tienen vecinos y evalua su situacion actual segun las reglas del juego de la vida. Una vez hecho esto, se copia la nueva matriz sobre la anterior, sobreescribiendola y mostrandola en pantalla.</p>
<h2>Reglas del juego de la vida</h2>
<ul>
<li>Cualquier celula viva con dos o tres compañeros vivos, sobrevive</li>
<li>Cualquier celula muerta con tres compañeros vivos, revive</li>
<li>Todas las demas celulas mueren en la siguiente generacion. De la misma forma, las celulas muertas, permanecen muertas</li>
</ul>
<p>(Conway's game of Life, Wikipedia)</p>
</div>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="index.js.html">index.js</a>, <a href="index.js.html#line247">line 247</a>
</li></ul></dd>
</dl>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="graficos.html">graficos</a></li><li><a href="Punto.html">Punto</a></li></ul><h3>Global</h3><ul><li><a href="global.html#_contarvecinos">_contarvecinos</a></li><li><a href="global.html#getPuntoBajoMouse">getPuntoBajoMouse</a></li><li><a href="global.html#iniciar">iniciar</a></li><li><a href="global.html#init">init</a></li><li><a href="global.html#limpiar">limpiar</a></li><li><a href="global.html#parar">parar</a></li><li><a href="global.html#procesarCelula">procesarCelula</a></li><li><a href="global.html#siguiente_generacion">siguiente_generacion</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a> on Fri Sep 10 2021 08:16:05 GMT-0500 (GMT-05:00)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>