<?php
-/* make sure that we are not called from outside the scripts,
+/* make sure that we are not called from outside the scripts,
* use a variable defined in config.php to check this
*/
if(!isset($HOST))
case "normal":
case "silent":
case "trump":
- if($RULES["schweinchen"]=="both" && $GAME["schweinchen"])
+ if($RULES['schweinchen']=='both' && $GAME['schweinchen-who'])
{
if($a == 19 || $a == 20 )
return 1;
if($b == 19 || $b == 20 )
return 0;
};
- if($RULES["schweinchen"]=="second" && $GAME["schweinchen"]==3)
+ if($RULES['schweinchen']=='second' && $GAME['schweinchen-second'])
{
if($a == 19 || $a == 20 )
return 1;
$trump++;
/* normally foxes don't count as trump, so we substract them here
- * in case someone has schweinchen, one or two of them should count as trump
+ * in case someone has schweinchen, one or two of them should count as trump
* though, so we need to add one trump for those cases */
-
+
/* subtract foxes */
if( in_array("19",$cards))
$trump--;
if($debug)
{
$r[ 0]=1; $r[12]=47; $r[24]=13; $r[36]=37;
- $r[ 1]=2; $r[13]=48; $r[25]=14; $r[37]=38;
+ $r[ 1]=2; $r[13]=23; $r[25]=14; $r[37]=38;
$r[ 2]=3; $r[14]=27; $r[26]=15; $r[38]=39;
$r[ 3]=4; $r[15]=16; $r[27]=28; $r[39]=40;
$r[ 4]=5; $r[16]=17; $r[28]=29; $r[40]=41;
$r[ 5]=18; $r[17]=6; $r[29]=30; $r[41]=42;
- $r[ 6]=19; $r[18]=7; $r[30]=31; $r[42]=43;
- $r[ 7]=20; $r[19]=8; $r[31]=32; $r[43]=44;
- $r[ 8]=45; $r[20]=9; $r[32]=21; $r[44]=33;
- $r[ 9]=46; $r[21]=10; $r[33]=22; $r[45]=34;
- $r[10]=35; $r[22]=11; $r[34]=23; $r[46]=25;
- $r[11]=36; $r[23]=12; $r[35]=24; $r[47]=26;
+ $r[ 6]=21; $r[18]=7; $r[30]=31; $r[42]=43;
+ $r[ 7]=22; $r[19]=8; $r[31]=32; $r[43]=44;
+ $r[ 8]=45; $r[20]=9; $r[32]=19; $r[44]=33;
+ $r[ 9]=46; $r[21]=10; $r[33]=20; $r[45]=24;
+ $r[10]=35; $r[22]=11; $r[34]=48; $r[46]=25;
+ $r[11]=36; $r[23]=12; $r[35]=34; $r[47]=26;
}
else
{
{
global $CARDS;
global $RULES;
+ global $GAME;
switch($gametype)
{
'17','18','19','20','21','22','23','24','25','26');
$CARDS["hearts"] = array('43','44','1','2','45','46','47','48');
}
+ /* do we need to reorder for Schweinchen? need to search for it because of special case for dullen above*/
+ if($RULES['schweinchen']=='both'&& $GAME['schweinchen-who'])
+ {
+ /* find the fox and put them at the top of the stack */
+ foreach(array('19','20') as $fox)
+ {
+ /* search for fox */
+ $trump = $CARDS['trump'];
+ $key = array_keys($trump, $fox);
+
+ /* reorder */
+ $foxa = array();
+ $foxa[]=$trump[$key[0]];
+ unset($trump[$key[0]]);
+ $trump = array_merge($foxa,$trump);
+ $CARDS['trump'] = $trump;
+ }
+ }
+ else if( ($RULES['schweinchen']=='second' || $RULES['schweinchen']=='secondaftercall')
+ && $GAME['schweinchen-who'])
+ {
+ /* find the fox and put them at the top of the stack */
+ $trump = $CARDS['trump'];
+ $key = array_keys($trump, '19');
+
+ /* reorder */
+ $foxa = array();
+ $foxa[]=$trump[$key[0]];
+ unset($trump[$key[0]]);
+ $trump = array_merge($foxa,$trump);
+ $CARDS['trump'] = $trump;
+ }
break;
case "queen":
$CARDS["trump"] = array('3','4','5','6','7','8','9','10');
$ALL = array();
$ALL = array_merge($CARDS["trump"],$CARDS["diamonds"],$CARDS["clubs"],
- $CARDS["hearts"],$CARDS["spades"],$CARDS["diamonds"]);
+ $CARDS["hearts"],$CARDS["spades"]);
return pos_array($a,$ALL)-pos_array($b,$ALL);
}
function display_table ()
{
global $gameid, $GT, $debug,$INDEX,$defaulttimezone;
+ global $RULES,$GAME,$gametype;
$result = DB_query("SELECT User.fullname as name,".
" Hand.position as position, ".
echo " <a href=\"".$INDEX."?action=game&me=".$hash."\">$name</a>\n";
/* add hints for poverty, wedding, solo, etc */
+ if( $gametype != "solo")
+ if( $RULES["schweinchen"]=="both" && $GAME["schweinchen-who"]==$hash )
+ echo " Schweinchen. <br />";
+
if($GT=="poverty" && $party=="re")
if($sickness=="poverty")
{
$player[$key]['nr']+=1;
}
}
-
+
echo "<table>\n <tr>\n";
function cmp($a,$b)
{
$a=$a['points']/$a['nr'];
$b=$b['points']/$b['nr'];
- if ($a == $b)
+ if ($a == $b)
return 0;
return ($a > $b) ? -1 : 1;
}
echo " <tr><td>",$pl['name'],"</td><td>",round($pl['points']/$pl['nr'],3),"</td></tr>\n";
}
echo "</table>\n";
-
+
return;
}