vegetaweb
23-04-2005, 14:05
Ciao a tutti, non riesco a visualizzare queste 2 pagine:
----------------------
memory.php:
<?php
//inizializzazione sessione
session_start();
//definizione della funzione di inizializzazione del gioco memory
function initialize()
{
//l'insieme delle parole disponibili (8, il gioco è 4x4=16 caselle ciascuna parola è in coppia con una uguale 16/2=8)
$words = array("uno","due","tre","quattro","cinque","sei","sette","otto");
/* COSTRUZIONE DEL TABELLONE */
//vettore controllo
$inserted = array(0,0,0,0,0,0,0,0);
//vettore tabellone
$game = array();
//contatore elementi tabellone
$i=0;
//ciclo di generazione del tabellone
while($i<16)
{
//estrazione casuale della parola
$num= rand(0,7);
//controllo di non inserire + di un duplicato per ogni parola
if($inserted[$num] < 2)
{
$game[$i]=$words[$num];
$inserted[$num]++;
$i++;
}
}
return $game;
}
function ended($checked)
{
//controlla se è stato scoperto tutto il tabellone di gioco
$ended = true;
//echo count($checked);
//ciclo su tutte le caselle finchè non ne trova una scoperta
for($i=0; ($i < count($checked))&&($ended); $i++)
if(!$checked[$i]) $ended=false;
//ritorna il risultato
return $ended;
}
//controllo stato della sessione
if(isset($_SESSION["game"]))
$playing = true;
else
$playing = false;
//azioni da intraprendere se il gioco non è iniziato
if(!$playing)
{
//inizializzazione gioco
$game = initialize();
$already_checked = array();
for ($i=0; $i<16; $i++) $already_checked[$i]=false;
$errors = 0;
//memorizzazione variabili di sessione
$_SESSION["game"] = $game;
$_SESSION["checked"] = $already_checked;
$_SESSION["errors"] = $errors;
}
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Soluzione Dell'Esercitazione 4 (Es.3) del corso di Sistemi Informativi B - A.A.
2004-2005</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Esercitazione 4 (Es.3) - Sistemi Informativi B - A.A. 2004-2005</h1>
<hr/>
<h3>Memory!</h3>
<?php
//inizializzazione variabili locali
$game = $_SESSION["game"];
//echo "GAME".$game;
$already_checked = $_SESSION["checked"];
//echo "<br/>CHECKED".$already_checked;
$errors = $_SESSION["errors"];
//echo "<br/>ERRORS".$errors;
//visualizzazione del tabellone
echo "<form action='memory_action.php' method='get'><table border='1'>";
for($i=0; $i<4; $i++)
{
echo "<tr>";
for($j=0; $j<4; $j++)
{
echo "<td>";
//visualizzazione game area,una parola o una checkbox
if($playing)
{
if($already_checked[($i*4)+$j]) echo $game[($i*4)+$j];
else echo "<input type='checkbox' name='checked[]' value='".(($i*4)+$j)."'/>";
}
else
echo "<input type='checkbox' name='checked[]' value='".(($i*4)+$j)."'/>";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
if(ended($already_checked))
{
//stampa i complimenti....
echo "<br/><h3>Congratulazioni hai finito!!! In totale hai commesso ".$errors." errori.<br/>";
//elimina la sessione
session_unset();
session_destroy();
//abilita la selezione di una nuova partita
echo "<a href='memory.php'>Gioca una nuova partita</a>";
}
else
{
echo "<br/><input type='submit' name='submit' value='Gioca!'/></form>";
}
?>
</body>
</html>
---------------------------------------------------------------------------
memory_action.php
<?php
//sessione
session_start();
//controllo sessione
if(!isset($_SESSION["game"]))
//non è stata inizializzata la partita
header("Location:memory.php");
//memorizzazione tavolo di gioco
$game = $_SESSION["game"];
//inizializzazione checked array
$checked = array();
//controllo dati ricevuti tramite form
if(isset($_REQUEST["checked"]))
{
if(count($_REQUEST["checked"]) == 2)
{
//sono state scelte solo 2 caselle--> si può effettuare il controllo e proseguire il gioco
$checked = $_REQUEST["checked"];
}
else
//è necessario rifare la mossa
header("Location:memory.php");
}
else
//non è stata fatta la mossa
header("Location:memory.php");
//echo $checked[0]."-";
//echo $checked[1];
//se arriva qui si può iniziare il controllo.....
if(strcmp($game[$checked[0]],$game[$checked[1]])==0)
{
$already_checked = $_SESSION["checked"];
//setta a checked la coppia di caselle
$already_checked[$checked[0]] = true;
$already_checked[$checked[1]] = true;
$_SESSION["checked"] = $already_checked;
}
else
//aumenta il numero di errori
$_SESSION["errors"] = $_SESSION["errors"]+1;
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Soluzione Dell'Esercitazione 4 (Es.3) del corso di Sistemi Informativi B - A.A.
2004-2005</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Refresh" content="5; url=memory.php"/>
</head>
<body>
<h1>Esercitazione 4 (Es.3) - Sistemi Informativi B - A.A. 2004-2005</h1>
<hr/>
<h3>Memory!</h3>
<?php
//inizializzazione variabili locali
$game = $_SESSION["game"];
$already_checked = $_SESSION["checked"];
$errors = $_SESSION["errors"];
//visualizzazione del tabellone
echo "<form><table border='1'>";
for($i=0; $i<4; $i++)
{
echo "<tr>";
for($j=0; $j<4; $j++)
{
echo "<td>";
//visualizzazione game area,una parola o una checkbox
if((((($i*4)+$j) == $checked[0]) || ((($i*4)+$j) == $checked[1])) || ($already_checked[($i*4)+$j])) echo $game[($i*4)+$j];
else echo "<input type='checkbox'/>";
echo "</td>";
}
echo "</tr>";
}
echo "</table></form>";
?>
</body>
</html>
---------------------------------------------------------------
Premetto che ho installato easyphp, ma niente da fare!!!!???? :muro: :muro:
Suggerimenti? Grazie a tutti
----------------------
memory.php:
<?php
//inizializzazione sessione
session_start();
//definizione della funzione di inizializzazione del gioco memory
function initialize()
{
//l'insieme delle parole disponibili (8, il gioco è 4x4=16 caselle ciascuna parola è in coppia con una uguale 16/2=8)
$words = array("uno","due","tre","quattro","cinque","sei","sette","otto");
/* COSTRUZIONE DEL TABELLONE */
//vettore controllo
$inserted = array(0,0,0,0,0,0,0,0);
//vettore tabellone
$game = array();
//contatore elementi tabellone
$i=0;
//ciclo di generazione del tabellone
while($i<16)
{
//estrazione casuale della parola
$num= rand(0,7);
//controllo di non inserire + di un duplicato per ogni parola
if($inserted[$num] < 2)
{
$game[$i]=$words[$num];
$inserted[$num]++;
$i++;
}
}
return $game;
}
function ended($checked)
{
//controlla se è stato scoperto tutto il tabellone di gioco
$ended = true;
//echo count($checked);
//ciclo su tutte le caselle finchè non ne trova una scoperta
for($i=0; ($i < count($checked))&&($ended); $i++)
if(!$checked[$i]) $ended=false;
//ritorna il risultato
return $ended;
}
//controllo stato della sessione
if(isset($_SESSION["game"]))
$playing = true;
else
$playing = false;
//azioni da intraprendere se il gioco non è iniziato
if(!$playing)
{
//inizializzazione gioco
$game = initialize();
$already_checked = array();
for ($i=0; $i<16; $i++) $already_checked[$i]=false;
$errors = 0;
//memorizzazione variabili di sessione
$_SESSION["game"] = $game;
$_SESSION["checked"] = $already_checked;
$_SESSION["errors"] = $errors;
}
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Soluzione Dell'Esercitazione 4 (Es.3) del corso di Sistemi Informativi B - A.A.
2004-2005</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Esercitazione 4 (Es.3) - Sistemi Informativi B - A.A. 2004-2005</h1>
<hr/>
<h3>Memory!</h3>
<?php
//inizializzazione variabili locali
$game = $_SESSION["game"];
//echo "GAME".$game;
$already_checked = $_SESSION["checked"];
//echo "<br/>CHECKED".$already_checked;
$errors = $_SESSION["errors"];
//echo "<br/>ERRORS".$errors;
//visualizzazione del tabellone
echo "<form action='memory_action.php' method='get'><table border='1'>";
for($i=0; $i<4; $i++)
{
echo "<tr>";
for($j=0; $j<4; $j++)
{
echo "<td>";
//visualizzazione game area,una parola o una checkbox
if($playing)
{
if($already_checked[($i*4)+$j]) echo $game[($i*4)+$j];
else echo "<input type='checkbox' name='checked[]' value='".(($i*4)+$j)."'/>";
}
else
echo "<input type='checkbox' name='checked[]' value='".(($i*4)+$j)."'/>";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
if(ended($already_checked))
{
//stampa i complimenti....
echo "<br/><h3>Congratulazioni hai finito!!! In totale hai commesso ".$errors." errori.<br/>";
//elimina la sessione
session_unset();
session_destroy();
//abilita la selezione di una nuova partita
echo "<a href='memory.php'>Gioca una nuova partita</a>";
}
else
{
echo "<br/><input type='submit' name='submit' value='Gioca!'/></form>";
}
?>
</body>
</html>
---------------------------------------------------------------------------
memory_action.php
<?php
//sessione
session_start();
//controllo sessione
if(!isset($_SESSION["game"]))
//non è stata inizializzata la partita
header("Location:memory.php");
//memorizzazione tavolo di gioco
$game = $_SESSION["game"];
//inizializzazione checked array
$checked = array();
//controllo dati ricevuti tramite form
if(isset($_REQUEST["checked"]))
{
if(count($_REQUEST["checked"]) == 2)
{
//sono state scelte solo 2 caselle--> si può effettuare il controllo e proseguire il gioco
$checked = $_REQUEST["checked"];
}
else
//è necessario rifare la mossa
header("Location:memory.php");
}
else
//non è stata fatta la mossa
header("Location:memory.php");
//echo $checked[0]."-";
//echo $checked[1];
//se arriva qui si può iniziare il controllo.....
if(strcmp($game[$checked[0]],$game[$checked[1]])==0)
{
$already_checked = $_SESSION["checked"];
//setta a checked la coppia di caselle
$already_checked[$checked[0]] = true;
$already_checked[$checked[1]] = true;
$_SESSION["checked"] = $already_checked;
}
else
//aumenta il numero di errori
$_SESSION["errors"] = $_SESSION["errors"]+1;
echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Soluzione Dell'Esercitazione 4 (Es.3) del corso di Sistemi Informativi B - A.A.
2004-2005</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Refresh" content="5; url=memory.php"/>
</head>
<body>
<h1>Esercitazione 4 (Es.3) - Sistemi Informativi B - A.A. 2004-2005</h1>
<hr/>
<h3>Memory!</h3>
<?php
//inizializzazione variabili locali
$game = $_SESSION["game"];
$already_checked = $_SESSION["checked"];
$errors = $_SESSION["errors"];
//visualizzazione del tabellone
echo "<form><table border='1'>";
for($i=0; $i<4; $i++)
{
echo "<tr>";
for($j=0; $j<4; $j++)
{
echo "<td>";
//visualizzazione game area,una parola o una checkbox
if((((($i*4)+$j) == $checked[0]) || ((($i*4)+$j) == $checked[1])) || ($already_checked[($i*4)+$j])) echo $game[($i*4)+$j];
else echo "<input type='checkbox'/>";
echo "</td>";
}
echo "</tr>";
}
echo "</table></form>";
?>
</body>
</html>
---------------------------------------------------------------
Premetto che ho installato easyphp, ma niente da fare!!!!???? :muro: :muro:
Suggerimenti? Grazie a tutti