Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?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']);
- }
- ?>
- <meta http-equiv="refresh" content="1">
- <br/>
- <p><a href="?reset=1">Reset Medio Ambiente</a></p>
- <?php
- echo '<pre>';
- print_r($_SESSION['medio_ambiente']);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement