Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ESTILO: estilo.css
- .reset{
- text-decoration: none;
- font-family: sans-serif;
- color: white;
- font-weight: bold;
- letter-spacing: 0.1em;
- border: #00005B 0.25em solid;
- padding: 0.3em 0.7em 0.3em .7em;
- background-color: #3399FF;
- margin: 0.3em 30.5em 1.2em 30.5em ;
- text-align: center;
- text-shadow:5px 5px 5px #ffffff;
- }
- .medioAmbiente {
- border: 4px solid #183E80;
- box-shadow:7px 6px 7px #1B204A;
- -webkit-border-radius: 20px;
- -moz-border-radius: 20px;
- border-radius: 10px;
- }
- .cuadro {
- float: left;
- width: 50px;
- }
- .muerto, .vivo {
- display: inline-block;
- width: 50px;
- height: 50px;
- }
- .vivo {
- background-color: #3399FF;
- }
- .muerto, .medioAmbiente {
- background-color: #00005B;
- }
- PHP: index.php
- <?php
- //seccion de funciones:
- function construirMedioAmbiente($columnas, $filas) {
- $tablero = array();
- for ($x = 0; $x < $columnas; $x++) {
- for ($y = 0; $y < $filas; $y++) {
- $tablero[$x][$y] = (rand(0, 100) % 2) ? 1 : 0;
- }
- }
- return $tablero;
- }
- function obtenerNuevoEstado($x, $y, array $medioAmbiente) {
- $n = 0;
- if (isset($medioAmbiente[$x][$y])) {
- if (isset($medioAmbiente[$x - 1][$y])) {
- $n+= $medioAmbiente[$x - 1][$y];
- }
- if (isset($medioAmbiente[$x - 1][$y - 1])) {
- $n+= $medioAmbiente[$x - 1][$y - 1];
- }
- if (isset($medioAmbiente[$x][$y - 1])) {
- $n+= $medioAmbiente[$x][$y - 1];
- }
- if (isset($medioAmbiente[$x + 1][$y - 1])) {
- $n+= $medioAmbiente[$x + 1][$y - 1];
- }
- if (isset($medioAmbiente[$x + 1][$y])) {
- $n+= $medioAmbiente[$x + 1][$y];
- }
- if (isset($medioAmbiente[$x + 1][$y + 1])) {
- $n+= $medioAmbiente[$x + 1][$y + 1];
- }
- if (isset($medioAmbiente[$x][$y + 1])) {
- $n+= $medioAmbiente[$x][$y + 1];
- }
- if (isset($medioAmbiente[$x - 1][$y + 1])) {
- $n+= $medioAmbiente[$x - 1][$y + 1];
- }
- if ($n < 2) {
- return 0;
- }
- if ($n > 3) {
- return 0;
- }
- if ($n == 3) {
- return 1;
- }
- if ($n == 2) {
- return $medioAmbiente[$x][$y];
- }
- }
- exit('error');
- }
- function procesarMedioAmbiente($medioAmbiente){
- foreach ($medioAmbiente as $x => $subArray) {
- foreach ($subArray as $y => $estado){
- $medioAmbiente[$x][$y] = obtenerNuevoEstado($x, $y, $medioAmbiente);
- }
- }
- return $medioAmbiente;
- }
- //inicia la aplicacion:
- session_start();
- $reset = (isset($_GET['reset'])) ? true : false;
- if (!isset($_SESSION['medio_ambiente'])) {
- $_SESSION['medio_ambiente'] = construirMedioAmbiente(20, 10);
- }else{
- $_SESSION['medio_ambiente'] = procesarMedioAmbiente($_SESSION['medio_ambiente']);
- }
- if ($reset) {
- $_SESSION['medio_ambiente'] = construirMedioAmbiente(20, 10);
- header('Location: ' . $_SERVER['PHP_SELF']);
- }
- $medioAmbiente = $_SESSION['medio_ambiente'];
- ?>
- <html>
- <head>
- <meta http-equiv="refresh" content="1">
- <title>.:: PHPCENTRAL - Desafio Ludico - Juego de la vida ::.</title>
- <link href="estilo.css" rel="stylesheet" type="text/css"/>
- </head>
- <body>
- <p class="reset"><a href="?reset=1">Reset Medio Ambiente</a></p>
- <div align="center"><table class="medioAmbiente"><tr><td>
- <div>
- <?php foreach ($medioAmbiente as $x => $subArray):?>
- <div class="cuadro">
- <?php foreach ($subArray as $y => $estado):
- ($estado)? $estadoColor= 'muerto':$estadoColor='vivo'; ?>
- <div class="<?php echo $estadoColor ?>"> </div>
- <?php endforeach; ?>
- </div>
- <?php endforeach; ?>
- </div>
- </td></tr></table></div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement