Ho provato il tuo script e mi ha mandato in tilt il browser.
Prova e studia il codice che posto. Prova poi ad arrichirlo con quello che vuoi ottenere alla fin fine.
Ho messo commenti per spiegarti quello che fa il codice.
Guarda anche il sorgente HTML che genera.
PS : Fino ad un ora fa non conoscevo il gioco del 7.5.
PS2 : Ci sono altri metodi come quello indicato da clasku ma quello che propongo ti consente (se Guardi il sorgente dopo ogni estrazione) di vedere quello che succede.
Codice PHP:
<form action="" method="POST"><?php
$picked = array();
$somma = 0;
srand();
if (! isset($_POST['picked']))
{
//----- Nessuna estrazione = Creo le carte
$pindex = 0;
$carte = array();
for ($i=1;$i<=4;$i++)
{
$carte[] = 1;
$carte[] = 7;
$carte[] = 0.5;
$carte[] = 0.5;
$carte[] = 0.5;
}
} else {
//----- Almeno una carta estratta = le salvo come campi hidden
$picked = $_POST['picked'];
$pindex = count($picked);
foreach($picked as $key => $value)
{
$somma = $somma + $value;?>
<input type='hidden' name='picked[<?php print $key; ?>]' value='<?php print $value; ?>'/><?php print PHP_EOL;?>
carta <?php print "$key => $value"; print PHP_EOL;?><BR/><?php
}
$carte = array();
$carte = $_POST['carte'];
}
//----- Testo se deve giocare o meno - seleziono il SI o il NO.
$checkSI = '';
$checkNO = '';
$gioca = false;
if (! isset($_POST['carta2']))
{
$gioca = true;
$checkSI = 'checked="true"';
} else {
if ($_POST['carta2'] == 'SI')
{
$checkSI = 'checked="true"';
$gioca = true;
} else {
$checkNO = 'checked="true"';
}
}
//----- Se devo giocare
if ($gioca)
{
//----- Incremento del numero delle carte estratte
$pindex++;
//----- Mescolo le carte
shuffle($carte);
//----- Selezione di una carta
$rand = rand(0,count($carte)-1);
$picked = $carte[$rand];
//----- Punteggio delle carte estratte
$somma = $somma + $picked;
//----- aggiungo la carta appena estratta come campo hidden ?>
<input type='hidden' name='picked[<?php print $pindex; ?>]' value='<?php print $picked; ?>'/><?php print PHP_EOL;?>
carta <?php print "$pindex => $picked"; print PHP_EOL;?><BR/><?php
//----- Cancello la carta appena estratta dalle carte da estrarre
unset($carte[$rand]);
//----- Mescolo le carte
shuffle($carte);
}?>
<hr/>
Somma : <?php print $somma;?> - Rimangono : <?php print count($carte);?> carte.<br/><?php
//----- Salvo le carte da estrarre come campi hidden
foreach($carte as $key => $value)
{?>
<input type='hidden' name='carte[<?php print $key; ?>]' value='<?php print $value; ?>'/><?php print PHP_EOL;
}?>
<br/><?php
if (count($carte) > 0)
{
//----- Se ci sono ancora carte da estrarre ?>
<input type="radio" name="carta2" value="SI" <?php print $checkSI;?> > SI<br>
<input type="radio" name="carta2" value="NO" <?php print $checkNO;?> > NO<br>
<input type="submit" name="carta" value="altra carta"><?php
} else {
//----- Non ci sono più carte da estrarre ?>
Non ci sono più carte da distribuire !!!<?php
} ?>
</form>