Advertisement
Guest User

PHP LINGO GAME

a guest
Jan 12th, 2016
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.03 KB | None | 0 0
  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6. </script>
  7. <style type="text/css">
  8. body{
  9.     font-family: verdana;
  10.     font-size: 11px;
  11.     background-image: url("http://i.imgur.com/36BvJ0h.jpg");
  12.     background-color: #cccccc;
  13. }
  14. table{
  15.     font-family: verdana;
  16.     font-size: 11px;
  17. }
  18.  
  19. </style>
  20. </head>
  21. <body onload="autoTab('l2',event.keyCode);">
  22. <?php
  23. echo '<h1>Lingo</h1>';
  24. if(!isset($_POST['word']) && !isset($_POST['lingo']) || (isset($_POST['word']) && strlen($_POST['word']) != 6) && !isset($_POST['lingo'])){
  25.     $_SESSION['secret_word'] = '';
  26.     $_SESSION['words_done'] = '';
  27.     $_SESSION['turn'] = '';
  28.    
  29.    
  30.     echo 'Welkom bij LINGO !  <br />';
  31.    
  32.     // naam invullen
  33.    
  34.    
  35.    
  36.    
  37.     //formulier voor een voorgezet woord
  38.     echo 'Laat de computer het woord kiezen:';
  39.     echo '<form method="POST" action="lingo.php">';
  40.     echo '<input type="hidden" name="word" value="prefab">';
  41.     echo '<input type="submit" value="Start!" name="begin"> <br /> ';
  42.     echo '</form>';
  43.    
  44.    
  45. }else{
  46.     if(!isset($_POST['lingo'])){
  47.         if($_POST['word'] == 'prefab' || strlen($_POST['word']) != 5){
  48.             //woorden in een array gesmeten
  49.             $words_array = array(
  50.             'vroeg','lepel','kreet','media','regen','alarm','ovaal','palen','cacao','vroeg','drugs','robot','fiets','boten','truck','roken','wagen','blond','schep','afwas','knoop');
  51.             //kies 1 array uit dat het woord bevat
  52.             $number = array_rand($words_array);
  53.             $word = str_split($words_array[$number]);
  54.         }else{
  55.             //We hoeven hier alleen het woord uit elkaar te plukken
  56.             $word = array($_POST['word'][0],$_POST['word'][1],$_POST['word'][2],$_POST['word'][3],$_POST['word'][4]);
  57.         }
  58.     }else{
  59.         //even het woord weer terughalen
  60.         $word = unserialize(stripslashes($_SESSION['secret_word']));
  61.     }
  62.     if(isset($_SESSION['words_done']) && $_SESSION['words_done'] != ''){
  63.         //wat heb je al gegokt?
  64.         $words_done = unserialize(stripslashes($_SESSION['words_done']));
  65.         $turn = $_SESSION['turn']+1;
  66.     }else{
  67.         //anders zorgen we dat je kan beginnen
  68.         $turn = 0;
  69.         $words_done = array();
  70.     }
  71.     //even toevoegen zodat het woord blijft staan
  72.     if($_POST['l1'] && $_POST['l2'] && $_POST['l3'] && $_POST['l4'] && $_POST['l5'])
  73.         $words_done[] = array($_POST['l1'],$_POST['l2'],$_POST['l3'],$_POST['l4'],$_POST['l5']);
  74.        
  75.     $total_words_done = count($words_done);
  76.     echo '<form method="POST" action="lingo.php">';
  77.     $_SESSION['turn'] = $turn;
  78.     $_SESSION['words_done'] = serialize($words_done);
  79.     $_SESSION['secret_word'] = serialize($word);
  80.     echo 'Aantal Beurten: '.$turn.' <br /> <br />';
  81.     echo '<table style="text-align: center; width: 180px; border: 1px solid black; border-collapse: collapse;" border=1>';
  82.     echo '<tr style="font-size: 20px;"><td>L</td><td>I</td><td>N</td><td>G</td><td>O</td></tr>';
  83.     //vorige woorden weergeven
  84.     $word_check = array();
  85.     $guessed = false;
  86.    
  87.     //even voor de gele letters
  88.     $letter_count = array();
  89.     for($i = 0; $i < 5; $i++){
  90.         $letter = strtolower($word[$i]);
  91.         if(key_exists($letter,$letter_count)){
  92.             $letter_count[$letter]++;
  93.         }else{
  94.             $letter_count[$letter] = 1;
  95.         }
  96.     }
  97.    
  98.     if($total_words_done > 0){
  99.         foreach($words_done as $value){
  100.             echo "<tr>";
  101.             $count = 0;
  102.             $tmp_letters = array();
  103.             for($i = 0; $i < 5; $i++){
  104.                 $letter = $value[$i];
  105.                 //eerst eens kijken of we kunnen zeggen dat hij geel is
  106.                 $yellow = false;
  107.                 if(key_exists($letter,$letter_count)){
  108.                     //check of hij op goede plek staat
  109.                     $aantal = 0;
  110.                     for($i2 = 0; $i2 < 5; $i2++)
  111.                         if(strtolower($value[$i2]) == $letter && (strtoupper($value[$i2]) == $word[$i2] || strtolower($value[$i2]) == $word[$i2]))
  112.                             $aantal++;
  113.                     //Checken of nog gele letters zijn
  114.                     if($letter_count[strtolower($letter)] > $aantal){
  115.                         //Checken of goede letter is
  116.                         if(key_exists(strtolower($letter),$tmp_letters)){
  117.                             $aantal_te_delen = $letter_count[strtolower($letter)]-$aantal;
  118.                             //kijken of er nog genoeg over zijn
  119.                             if($aantal_te_delen > $tmp_letters[strtolower($letter)]){
  120.                                 $yellow = true;
  121.                                 if(strtoupper($letter) != $word[$i] && strtolower($letter) != $word[$i])
  122.                                     $tmp_letters[strtolower($letter)]++;
  123.                             }
  124.                         }else{
  125.                             //letters kleuren geel
  126.                             $yellow = true;
  127.                             //
  128.                             if(strtoupper($letter) != $word[$i] && strtolower($letter) != $word[$i])
  129.                                 $tmp_letters[strtolower($letter)] = 1;
  130.                         }
  131.                        
  132.                     }
  133.                 }
  134.            
  135.                 if(strtoupper($letter) == $word[$i] || strtolower($letter) == $word[$i]){
  136.                     echo '<td style="background: #CAFFB2; width: 30px; font-size: 20px; height: 30px;">';
  137.                     $word_check[$i] = true;
  138.                     $count++;
  139.                 }else if( $yellow )
  140.                     echo '<td style="background: #FDFFBC; width: 30px; font-size: 20px; height: 30px;">';
  141.                 else
  142.                     echo '<td style="background: #FF728E; width: 30px; font-size: 20px; height: 30px;">';
  143.                 echo $letter;
  144.                 echo '</td>';
  145.             }
  146.             if($count == 5)
  147.                 $guessed = true;
  148.             echo '</tr>';
  149.         }
  150.     }
  151.    
  152.     //als niet alles goed is
  153.     if(!$guessed){
  154.         echo '<tr>';
  155.         echo '<td>';
  156.         //Letter weergeven
  157.         echo '<input type="text" name="l1" id="l1" OnKeyUp="autoTab(\'l2\',event.keyCode);" style="width: 30px; font-size: 20px; height: 30px; text-align: center; background: #E5E5E5; border: 1px solid #9E9E9E;" maxlength="1" value="'.$word[0].'">';
  158.         echo '</td>';
  159.         for($i = 1; $i < 5; $i++){
  160.             echo '<td>';
  161.             echo '<input type="text" name="l' . ($i+1) . '" id="l' . ($i+1) . '" OnKeyUp="autoTab(\'l' . ($i+2) . '\',event.keyCode);" style="width: 30px; font-size: 20px; height: 30px; text-align: center; background: #E5E5E5; border: 1px solid #9E9E9E;" size="1" maxlength="1"';
  162.             echo '></td>';
  163.         }
  164.         echo '</tr>';
  165.         echo '</table>';
  166.         echo '<input type="submit" value="Raad!" name="lingo">';
  167.         echo '</form>';
  168.     }else{
  169.         echo '</table>';
  170.         echo '</form>';
  171.         echo '<br />Je hebt het woord geraden!';
  172.         echo '<br />Klik <a href="lingo.php">hier</a> om nog eens te spelen!';
  173.     }
  174. }
  175. ?>
  176. </body>
  177. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement