started on adding support for different solo games (modified get_winner a tiny bit...
authorarun <arun@nubati.net>
Tue, 19 Dec 2006 18:11:30 +0000 (18:11 +0000)
committerarun <arun>
Tue, 19 Dec 2006 18:11:30 +0000 (18:11 +0000)
functions.php
index.php

index 29ca96de0891b206ecdec7ca1b07cd7bf6a42b94..7cc2826d2a41bc090bfd5c428e35ad209b23e4ab 100644 (file)
@@ -19,51 +19,69 @@ function is_club($c)  { return (in_array($c,array('27','28','29','30','31','32',
 function is_spade($c) { return (in_array($c,array('35','36','37','38','39','40','41','42')));}
 function is_heart($c) { return (in_array($c,array('43','44','45','46','47','48')));}
 
-function compare_cards($a,$b)
+function compare_cards($a,$b,$mode)
 {
-  /* if a is higher than b return 1, else 0, a being the card first played */
-  
-  /* first map all cards to the odd number */
+  /* if "a" is higher than "b" return 1, else 0, "a" being the card first played */
+
+  /* don't think we need this */
   if( $a/2 - (int)($a/2) != 0.5)
     $a--;
   if( $b/2 - (int)($b/2) != 0.5)
     $b--;
   
-  if(is_trump($a) && $a<=$b)
-    return 1;
-  else if(is_trump($a) && $a>$b)
-    return 0;
-  else 
-    { /*$a is not a trump */
-      if(is_trump($b))
+  switch($mode)
+    {
+    case "trumpless":
+      break;
+    case "jack":
+      break;
+    case "queen":
+      break;
+    case "trump":
+      break;
+    case "club":
+      break;
+    case "spade":
+      break;
+    case "heart":
+      break;
+    case "normal":
+      /* first map all cards to the odd number */
+      if(is_trump($a) && $a<=$b)
+       return 1;
+      else if(is_trump($a) && $a>$b)
        return 0;
-      else
-       {
-         /* both clubs? */
-         if( is_club($a) && is_club($b))
-           if($a<=$b)
-             return 1;
-           else
-             return 0;
-         /* both spade? */
-         if( is_spade($a) && is_spade($b))
-           if($a<=$b)
-             return 1;
-           else
-             return 0;
-         /* both heart? */
-         if( is_heart($a) && is_heart($b))
-           if($a<=$b)
+      else 
+       { /*$a is not a trump */
+         if(is_trump($b))
+           return 0;
+         else
+           {
+             /* both clubs? */
+             if( is_club($a) && is_club($b))
+               if($a<=$b)
+                 return 1;
+               else
+                 return 0;
+             /* both spade? */
+             if( is_spade($a) && is_spade($b))
+               if($a<=$b)
+                 return 1;
+               else
+                 return 0;
+             /* both heart? */
+             if( is_heart($a) && is_heart($b))
+               if($a<=$b)
+                 return 1;
+               else
+                 return 0;
              return 1;
-           else
-             return 0;
-      return 1;
-       }         
+           }     
+       }
     }
-      
 } 
 
-function get_winner($p)
+function get_winner($p,$mode)
 {
   /* get all 4 cards played in a trick */
   $c1 = $p[1];
@@ -72,11 +90,11 @@ function get_winner($p)
   $c4 = $p[4];
 
   /* find out who won */
-  if( compare_cards($c1,$c2) && compare_cards($c1,$c3) && compare_cards($c1,$c4) )
+  if( compare_cards($c1,$c2,$mode) && compare_cards($c1,$c3,$mode) && compare_cards($c1,$c4,$mode) )
     return 1;
-  if( compare_cards($c2,$c3) && compare_cards($c2,$c4) )
+  if( compare_cards($c2,$c3,$mode) && compare_cards($c2,$c4,$mode) )
     return 2;
-  if( compare_cards($c3,$c4) )
+  if( compare_cards($c3,$c4,$mode) )
     return 3;
   return 4;
 }
index cf556803ad17b6f8a84f9ac26b4baf21594064d8..c849f69c4cbb068a3bc2297f9650ae83b8fb1012 100644 (file)
--- a/index.php
+++ b/index.php
@@ -225,6 +225,11 @@ else if(isset($_REQUEST["me"]))
        /* reset solo, etc from players who did say something, but it didn't matter? */
        break;
       case 'poverty':
+       /* here we need to check if there is a solo or some other form o sickness.
+        * If so, which one counts
+        * set that one in the Game table, delete other ones form Hand table 
+        * tell people about it.
+        */
        echo "<br />poverty not handeled at the moment... you need to play a normal game<br />";
        
        /* only set this after all poverty, etc. are handeled*/
@@ -367,7 +372,7 @@ else if(isset($_REQUEST["me"]))
        /* whos turn is it? */
        if($seq==4)
          {
-            $winner = get_winner($play); /* returns the position */
+            $winner = get_winner($play,"normal"); /* returns the position */
             $next = $winner;
          }
        else
@@ -441,7 +446,7 @@ else if(isset($_REQUEST["me"]))
                    if($sequence==4)
                      {
                        $play   = DB_get_cards_by_trick($trickid);
-                       $winner = get_winner($play); /* returns the position */
+                       $winner = get_winner($play,"normal"); /* returns the position */
                        $next = $winner;
                      }
                    else