Visualizzazione dei risultati da 1 a 6 su 6

Discussione: gioco del 7 e mezzo

  1. #1

    gioco del 7 e mezzo

    Buongiorno a tutti,
    e' da un paio di giorni che tento (con scarsissimi risultati) di creare un piccolo script che emuli il gioco del 7 e mezzo. Mi dareste una mano?
    Tralasciando la funzione rand che prende solo numeri interi. Su questo non mi sono concentrato perch� dovrebbe essere facile la soluzione, i problemi sono molteplici:
    alla scelta delal seconda carta, cambia anche la prima e posso solo scegliere due carte (come � evidente dallo script).
    Ho provato a farne diverse versioni, ma i problemi principali rimangono questi.
    Non so proprio cosa inventarmi pi�!!!

    Codice PHP:
    <?php
    $carta 
    rand(1,7);
    echo 
    $carta;
    $somma = array();
    for(
    $i="array_summ($somma)"$i<=7$i++){
        if(
    array_sum($somma)>7){
        echo 
    "Hai scassato!";
    }else{
        echo 
    '<form action="" method="POST"> Altra carta?<br> <input type="radio" name="carta2" value="SI"> SI<br> <input type="radio" name="carta2" value="NO"> NO<br> <input type="submit" name="carta" value="altra carta"> </form>';
    }
    $carta2=$_POST['carta2'];
    if(
    $carta2 == "SI"){
        
    $cartarand rand(1,7);
        
    $j=0;
        
    $somma[$j++] = "$cartarand";
       echo 
    "array_summ($somma)";
    }else{
        echo 
    "stai con "$carta;}
    }
    ?>

  2. #2
    Avevo intuito fosse qualcosa di complesso ma non pensavo fino a questo punto!!!

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non conosco le regole del gioco, ma ti direi che:
    - devi mettere le carte in una sessione
    - devi sommare i dati delle carte che hai in sessione
    - puoi usare una singola funzione per aggiungere le carte e farne la somma

  4. #4
    Quote Originariamente inviata da clasku Visualizza il messaggio
    non conosco le regole del gioco, ma ti direi che:
    - devi mettere le carte in una sessione
    - devi sommare i dati delle carte che hai in sessione
    - puoi usare una singola funzione per aggiungere le carte e farne la somma
    Il problema � la scelta della carta casuale e la chiamata della seconda carta!

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Quote Originariamente inviata da trattopunto Visualizza il messaggio
    Il problema � la scelta della carta casuale e la chiamata della seconda carta!
    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>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Una versione più simpatica.
    i2017-01-31-001.JPG
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.