Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 14:37   #1
blackbanny
Форумчанин
 
Аватар для blackbanny
 
Регистрация: 02.10.2009
Сообщений: 104
Восклицание покер в кости

написал скрипт по примеру, но он не робит... почему то не хочет присваивать занчение TRUE переменной $second_roll

вот код всего скрипта:

Код:
<html>
<head>
<title>poker dice</title>
<style type = "text/css">
body{
        background: green;
        color: tan
}
</style>
</head> 
<body>
<center>
<h1>Poker Dice</h1>
<form>
<?php 
 
if (empty($cash))
{
        $cash = 100;
}
roll_dice();
if ($second_roll == TRUE)
{
        print "<h2>Second roll</h2><br>";
        $second_roll = FALSE;
        evaluate();
}
else
{
        print "<h2>First Roll</h2><br>";
        $second_roll = TRUE;
}
//print_stuff();
 
function roll_dice()
{
        global $die, $second_roll, $keep_it;
        print "<table border = 1><td><tr>";
        for ($i = 0; $i < 5; $i++)
        {
                if ($keep_it[$i] == "")
                {
                        $die[$i] = rand(1,6);
                }
                else 
                {
                        $die[$i] = $keep_it[$i];
                }
                $the_file = "images/die$die[$i].jpg";
                
                print <<<HERE
                   <td>
                   <img src = "$the_file";
                        height = 50
                        width = 50><br>
HERE;
        if ($second_roll == FALSE)
        {
                print <<<HERE
                   <input type  = "checkbox"
                          name = "$keep_it[$i]"
                          value = $die[$i]>
            </td>
HERE;
        }
                
        }
        print <<<HERE
           </tr></td>
           <tr>
           <td colspan = 5>
           <center>
           <input type = "submit"
                  value = "roll again">
           </center>
           </td>
           </tr>
           </table>
HERE;
}
function evaluate()
{
   global $die, $cash;
   $payoff = 0;
   $cash -= 2;
   $numVals = array(6);
   for ($theVal  = 1; $theVal < 6; $theVal++){
      for ($dieNum = 0; $dieNum < 5; $dieNum++){
          if ($die[$dieNum] == $theVal){
             $numVals[$theVal]++;
      }
          }
   }
   for ($i = 1; $i <= 6; $i++)
   {
      print "$i: $numVals[$i]<br>\n";
   }
   $numPairs = 0;
   $numThrees = 0;
   $numFour = 0;
   $numFives = 0;
   
   for ($i = 1; $i <= 6; $i++){
   switch($numVals[$i]){
      case 2:
          $numPairs++;
          break;
          case 3:
          $numThrees++;
          break;
          case 4:
          $numFours++;
          break;
          case 5:
          $numFives++;
          break;
          }
          }
          
          if ($numPairs == 2){
          print "You have two pairs!";
          $payoff = 2;
          }
          
          if ($numThrees == 1){
             if ($numPairs == 1){
                 print "You have a full house<br>\n";
                 $payoff = 5;
                 } else {
                 print "You have three of a kind <br>\n";
                 $payoff  = 2;
                 }
                 }
                 
                 if ($numFours == 1){
                 print "You have four of a kind<br>\n";
                 $payoff = 5;
                 }
                 
                 if ($numFives == 1){
                 print "You got five of a kind <br>\n";
             $payoff = 10;
                 }
                 
                 if (($numVals[1] == 1)
                      &&($numVals[2] == 1)
                          &&($numVals[3] == 1)
                          &&($numVals[4] == 1)
                          &&($numVals[5] == 1)){
                          print "You have a straight<br>\n";
                          $payoff = 10;
                          }
                          if (($numVals[2] == 1)
                      &&($numVals[3] == 1)
                          &&($numVals[4] == 1)
                          &&($numVals[5] == 1)
                          &&($numVals[6] == 1)){
                          print "You have a straight<br>\n";
                          $payoff = 10;
                          }
                          print "You bet 2<br>\n";
                          print "Payoff is $payoff"; 
                          $cash += $payoff;
                          }
                
                
                          
 
?>
 
 
 
</form>
 
</center>
 
</body>
</html>
blackbanny вне форума Ответить с цитированием
Старый 11.02.2011, 01:22   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Не стал вникать в весь код, но в самом начале уже не ясно, от куда берутся значения переменных: $cash, $second_roll, они ни где не определены.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Покер mata Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 24.03.2011 11:04
разработать программу для реализации игры в кости на Delfi Builder кирилл25061990 Помощь студентам 4 23.05.2010 22:36
C++. Расположить кости домино на столе. cate Помощь студентам 3 27.11.2009 18:40
Программа кидания игральной кости Melok Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 23.10.2007 21:59