Advertisement
swalter

Desafío Ludico - Juego de la vida Walter

Oct 16th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.43 KB | None | 0 0
  1. ESTILO: estilo.css
  2.  
  3.  
  4. .reset{
  5.         text-decoration: none;
  6.         font-family: sans-serif;
  7.     color: white;
  8.         font-weight: bold;
  9.         letter-spacing: 0.1em;
  10.         border:  #00005B 0.25em solid;
  11.     padding: 0.3em 0.7em 0.3em .7em;
  12.     background-color: #3399FF;
  13.     margin: 0.3em 30.5em 1.2em 30.5em ;
  14.     text-align: center;
  15.         text-shadow:5px 5px 5px #ffffff;
  16.  
  17.  
  18. }
  19.  
  20. .medioAmbiente {
  21.     border: 4px solid #183E80;
  22.     box-shadow:7px 6px 7px #1B204A;
  23.    
  24.    -webkit-border-radius: 20px;
  25.     -moz-border-radius: 20px;
  26.     border-radius: 10px;
  27. }
  28.  
  29.  
  30. .cuadro {
  31.     float: left;
  32.     width: 50px;
  33. }
  34.  
  35. .muerto, .vivo {
  36.     display: inline-block;
  37.     width: 50px;
  38.     height: 50px;
  39. }
  40.  
  41. .vivo {
  42.     background-color: #3399FF;
  43. }
  44.  
  45. .muerto, .medioAmbiente {
  46.     background-color: #00005B;
  47. }
  48.  
  49.  
  50. PHP: index.php
  51.  
  52. <?php
  53.  
  54. //seccion de funciones:
  55. function construirMedioAmbiente($columnas, $filas) {
  56. $tablero = array();
  57. for ($x = 0; $x < $columnas; $x++) {
  58. for ($y = 0; $y < $filas; $y++) {
  59. $tablero[$x][$y] = (rand(0, 100) % 2) ? 1 : 0;
  60. }
  61. }
  62. return $tablero;
  63. }
  64.  
  65. function obtenerNuevoEstado($x, $y, array $medioAmbiente) {
  66. $n = 0;
  67. if (isset($medioAmbiente[$x][$y])) {
  68. if (isset($medioAmbiente[$x - 1][$y])) {
  69. $n+= $medioAmbiente[$x - 1][$y];
  70. }
  71. if (isset($medioAmbiente[$x - 1][$y - 1])) {
  72. $n+= $medioAmbiente[$x - 1][$y - 1];
  73. }
  74. if (isset($medioAmbiente[$x][$y - 1])) {
  75. $n+= $medioAmbiente[$x][$y - 1];
  76. }
  77. if (isset($medioAmbiente[$x + 1][$y - 1])) {
  78. $n+= $medioAmbiente[$x + 1][$y - 1];
  79. }
  80. if (isset($medioAmbiente[$x + 1][$y])) {
  81. $n+= $medioAmbiente[$x + 1][$y];
  82. }
  83. if (isset($medioAmbiente[$x + 1][$y + 1])) {
  84. $n+= $medioAmbiente[$x + 1][$y + 1];
  85. }
  86. if (isset($medioAmbiente[$x][$y + 1])) {
  87. $n+= $medioAmbiente[$x][$y + 1];
  88. }
  89. if (isset($medioAmbiente[$x - 1][$y + 1])) {
  90. $n+= $medioAmbiente[$x - 1][$y + 1];
  91. }
  92.  
  93. if ($n < 2) {
  94. return 0;
  95. }
  96.  
  97. if ($n > 3) {
  98. return 0;
  99. }
  100.  
  101. if ($n == 3) {
  102. return 1;
  103. }
  104.  
  105. if ($n == 2) {
  106. return $medioAmbiente[$x][$y];
  107. }
  108. }
  109. exit('error');
  110. }
  111.  
  112. function procesarMedioAmbiente($medioAmbiente){
  113. foreach ($medioAmbiente as $x => $subArray) {
  114. foreach ($subArray as $y => $estado){
  115. $medioAmbiente[$x][$y] = obtenerNuevoEstado($x, $y, $medioAmbiente);
  116. }
  117. }
  118. return $medioAmbiente;
  119. }
  120. //inicia la aplicacion:
  121. session_start();
  122.  
  123. $reset = (isset($_GET['reset'])) ? true : false;
  124.  
  125. if (!isset($_SESSION['medio_ambiente'])) {
  126. $_SESSION['medio_ambiente'] = construirMedioAmbiente(20, 10);
  127. }else{
  128. $_SESSION['medio_ambiente'] = procesarMedioAmbiente($_SESSION['medio_ambiente']);
  129. }
  130.  
  131. if ($reset) {
  132. $_SESSION['medio_ambiente'] = construirMedioAmbiente(20, 10);
  133. header('Location: ' . $_SERVER['PHP_SELF']);
  134. }
  135.  
  136. $medioAmbiente = $_SESSION['medio_ambiente'];
  137. ?>
  138. <html>
  139. <head>
  140. <meta http-equiv="refresh" content="1">
  141. <title>.:: PHPCENTRAL - Desafio Ludico - Juego de la vida ::.</title>
  142. <link href="estilo.css" rel="stylesheet" type="text/css"/>
  143. </head>
  144. <body>
  145.  
  146.     <p class="reset"><a href="?reset=1">Reset Medio Ambiente</a></p>
  147. <div align="center"><table class="medioAmbiente"><tr><td>  
  148. <div>
  149. <?php foreach ($medioAmbiente as $x => $subArray):?>
  150.     <div class="cuadro">
  151. <?php foreach ($subArray as $y => $estado):
  152.        
  153.   ($estado)? $estadoColor= 'muerto':$estadoColor='vivo'; ?>
  154.         <div class="<?php echo $estadoColor ?>">&nbsp;</div>
  155.      
  156. <?php endforeach; ?>
  157. </div>
  158. <?php endforeach; ?>
  159.  
  160.  
  161. </div>
  162.            
  163. </td></tr></table></div>
  164.  
  165. </body>
  166. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement