include green1.gif picture from dreamhost
[e-DoKo.git] / include / game.php
index cd77bf323b215fb4a19241bd2cf56568ebe14e78..0ef5a3ef85a24cc1c955f818625831c863ccc97c 100644 (file)
@@ -79,6 +79,9 @@ if( $gamestatus == 'pre' )
   {
     /* always need to use Schweinchen to figure out for example who has poverty */
     $ok=1;
+    /* unless the gametype is set and we know that we are in poverty were schweinchen is not valid */
+    if( in_array( $gametype,array('poverty','dpoverty') ))
+      $ok=0;
   }
 else
   {
@@ -326,6 +329,7 @@ switch($mystatus)
       {
        /* asks the player, if he wants to join the game */
        output_check_want_to_play($me);
+       echo '<div class="mycards"></div>';
        break;
       }
     else
@@ -340,8 +344,7 @@ switch($mystatus)
            $userids = DB_get_all_userid_by_gameid($gameid);
            foreach($userids as $user)
              {
-               $subject = 'Game '.DB_format_gameid($gameid).' canceled';
-               mymail($user,$subject,$message);
+               mymail($user,$gameid,GAME_CANCELED,$message);
              }
 
            /* update game status */
@@ -390,7 +393,7 @@ switch($mystatus)
 
                     $message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
                     "Use this link to go the game: ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
-                    mymail($who,"Ready, set, go... (game ".DB_format_gameid($gameid).") ",$message);
+                    mymail($who, $gameid, GAME_READY,$message);
                    */
                  }
              }
@@ -520,6 +523,7 @@ switch($mystatus)
 
            /* move on to the next stage*/
            DB_set_hand_status_by_hash($me,'check');
+           $mystatus='check';
          };
       };
 
@@ -664,8 +668,7 @@ switch($mystatus)
            $userids = DB_get_all_userid_by_gameid($gameid);
            foreach($userids as $user)
              {
-               $subject = 'Game '.DB_format_gameid($gameid).' canceled';
-               mymail($user,$subject,$message);
+               mymail($user,$gameid, GAME_CANCELED, $message);
              }
 
            echo "</div>\n"; /* end div message */
@@ -802,8 +805,7 @@ switch($mystatus)
                    /* email startplayer */
                    $message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
                      "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
-                   $subject = 'Ready, set, go... (game '.DB_format_gameid($gameid).')';
-                   mymail($who,$subject,$message);
+                   mymail($who,$gameid,GAME_READY,$message);
                  }
              }
            else
@@ -828,12 +830,17 @@ switch($mystatus)
                    /* email player for poverty */
                    $message = "Poverty: It's your turn now in game ".DB_format_gameid($gameid).".\n".
                      "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$whohash."\n\n" ;
-                   $subject = 'Poverty (game '.DB_format_gameid($gameid).') ';
-                   mymail($whoid,$subject,$message);
+                   mymail($whoid,$gameid,GAME_POVERTY,$message);
                  }
              }
          }
        echo "</div>\n";
+       /* show cards */
+       echo '<div class="mycards">'._('Your cards are').": <br />\n";
+       foreach($mycards as $card)
+         display_card($card,$PREF['cardset']);
+       echo "</div>\n";
+
        break;
       }
 
@@ -928,12 +935,12 @@ switch($mystatus)
                /* email startplayer */
                $message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
                  "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
-               $subject = 'Ready, set, go... (game '.DB_format_gameid($gameid).') ';
-               mymail($who,$subject,$message);
+               mymail($who,$gameid,GAME_READY,$message);
              }
          }
        else
          echo "<div class=\"message\">Please, <a href=\"$INDEX?action=game&amp;me=$me\">start</a> the game.</div>\n";
+       echo '<div class="mycards"></div>'."\n"; /* needed to make sure the message area is in the right position */
       }
 
     /* the following is part A) of what needs to be done */
@@ -1011,8 +1018,7 @@ switch($mystatus)
                $userids = DB_get_all_userid_by_gameid($gameid);
                foreach($userids as $user)
                  {
-                   $subject = 'Game '.DB_format_gameid($gameid).' canceled (poverty not resolved)';
-                   mymail($user,$subject,$message);
+                   mymail($user, $gameid, GAME_CANCELED_POVERTY, $message);
                  }
 
                /* update game status */
@@ -1032,8 +1038,7 @@ switch($mystatus)
 
                $message = "Someone has poverty, it's your turn to decide, if you want to take the trump. Please visit:".
                  " ".$HOST.$INDEX."?action=game&me=".$userhash."\n\n" ;
-               $subject = 'Poverty (game '.DB_format_gameid($gameid).')';
-               mymail($userid,$subject,$message);
+               mymail($userid,$gameid, GAME_POVERTY, $message);
              }
          }
        else
@@ -1124,8 +1129,7 @@ switch($mystatus)
 
                    $message = "Two people have poverty, it's your turn to decide, if you want to take the trump. Please visit:".
                      " ".$HOST.$INDEX."?action=game&me=".$userhash."\n\n" ;
-                   $subject = 'Double poverty (game '.DB_format_gameid($gameid).')';
-                   mymail($userid,$subject,$message);
+                   mymail($userid,$gameid, GAME_DPOVERTY, $message);
                  }
              }
            echo "<div class=\"message\">Please, <a href=\"$INDEX?action=game&amp;me=$me\">continue</a> here.</div>\n";
@@ -1198,8 +1202,7 @@ switch($mystatus)
                /* email startplayer) */
                $message = "It's your turn now in game ".DB_format_gameid($gameid).".\n".
                  "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ;
-               $subject = 'Ready, set, go... (game '.DB_format_gameid($gameid).')';
-               mymail($who,$subject,$message);
+               mymail($who,$gameid, GAME_READY, $message);
              }
          }
       }
@@ -1652,8 +1655,7 @@ switch($mystatus)
                  "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$next_hash."\n\n" ;
                if( DB_get_email_pref_by_uid($who)!='emailaddict' )
                  {
-                   $subject = 'A card has been played in game '.DB_format_gameid($gameid);
-                   mymail($who,$subject,$message);
+                   mymail($who,$gameid, GAME_YOUR_TURN, $message);
                  }
              }
            else /* send out final email */
@@ -1698,8 +1700,8 @@ switch($mystatus)
                 */
 
                /* get calls from re/contra */
-               $call_re     = NULL;
-               $call_contra = NULL;
+               $call_re     = -1;
+               $call_contra = -1;
                foreach($userids as $user)
                  {
                    $hash  = DB_get_hash_from_gameid_and_userid($gameid,$user);
@@ -1712,14 +1714,14 @@ switch($mystatus)
 
                        if($party=='re')
                          {
-                           if($call_re==NULL)
+                           if($call_re== -1)
                              $call_re = $call;
                            else if( $call < $call_re)
                              $call_re = $call;
                          }
                        else if($party=='contra')
                          {
-                           if($call_contra==NULL)
+                           if($call_contra== -1)
                              $call_contra = $call;
                            else if( $call < $call_contra)
                              $call_contra = $call;
@@ -1730,7 +1732,7 @@ switch($mystatus)
                /* figure out who one */
                $winning_party = NULL;
 
-               if($call_re == NULL && $call_contra==NULL)
+               if($call_re == -1 && $call_contra == -1)
                  {
                    /* nobody made a call, so it's easy to figure out who won */
                    if($re>120)
@@ -1744,7 +1746,7 @@ switch($mystatus)
                     * if only one party made a call, the other one wins,
                     * if the first one didn't make it
                     */
-                   if($call_re)
+                   if($call_re != -1)
                      {
                        $offset = 120 - $call_re;
                        if($call_re == 0)
@@ -1752,11 +1754,11 @@ switch($mystatus)
 
                        if($re > 120+$offset)
                          $winning_party='re';
-                       else if ($call_contra == NULL )
+                       else if ($call_contra == -1 )
                          $winning_party='contra';
                      }
 
-                   if($call_contra)
+                   if($call_contra != -1)
                      {
                        $offset = 120 - $call_contra;
                        if($call_contra == 0)
@@ -1764,7 +1766,7 @@ switch($mystatus)
 
                        if($contra > 120+$offset)
                          $winning_party='contra';
-                       else if ($call_re == NULL )
+                       else if ($call_re == -1 )
                          $winning_party='re';
                      }
                  }
@@ -1772,7 +1774,7 @@ switch($mystatus)
                /* one point for each call of the other party in case the other party didn't win
                 * and one point each in case the party made more than points than one of the calls
                 */
-               if($winning_party!='contra' && $call_contra!=NULL)
+               if($winning_party!='contra' && $call_contra!= -1)
                  {
                    for( $p=$call_contra;$p<=120; $p+=30 )
                      {
@@ -1787,7 +1789,7 @@ switch($mystatus)
                                     " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'made$p')");
                        }
                    }
-                 if($winning_party!='re' and $call_re!=NULL)
+                 if($winning_party!='re' and $call_re!= -1)
                    {
                      for( $p=$call_re;$p<=120; $p+=30 )
                        {
@@ -1816,7 +1818,7 @@ switch($mystatus)
                      foreach(array(120,150,180,210,240) as $p)
                        {
                          $offset = 0;
-                         if($p==240 || $call_contra!=NULL)
+                         if($p==240 || $call_contra != -1)
                            $offset = 1;
 
                          if($re>$p-$offset)
@@ -1826,7 +1828,7 @@ switch($mystatus)
                      /* re called something and won */
                      foreach(array(0,30,60,90,120) as $p)
                        {
-                         if($call_re!=NULL && $call_re<$p+1)
+                         if($call_re!= -1 && $call_re<$p+1)
                            DB_query("INSERT INTO Score".
                                     " VALUES( NULL,NULL,$gameid,'re',NULL,NULL,'call$p')");
                        }
@@ -1836,7 +1838,7 @@ switch($mystatus)
                      foreach(array(120,150,180,210,240) as $p)
                        {
                          $offset = 0;
-                         if($p==240 || $call_re!=NULL)
+                         if($p==240 || $call_re != -1)
                            $offset = 1;
 
                          if($contra>$p-$offset)
@@ -1846,7 +1848,7 @@ switch($mystatus)
                      /* re called something and won */
                      foreach(array(0,30,60,90,120) as $p)
                        {
-                         if($call_contra!=NULL && $call_contra<$p+1)
+                         if($call_contra != -1 && $call_contra<$p+1)
                            DB_query("INSERT INTO Score".
                                     " VALUES( NULL,NULL,$gameid,'contra',NULL,NULL,'call$p')");
                        }
@@ -1895,8 +1897,7 @@ switch($mystatus)
                      $message .= $link;
                    }
                  $message .= "\n\n (you can use reply all on this email to reach all the players.)\n\n";
-                 $subject = ' Game over (game '.DB_format_gameid($gameid).') ';
-                 mymail($userids,$subject,$message);
+                 mymail($userids,$gameid, GAME_OVER, $message);
              }
          }
        else