X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Ffunctions.php;h=51fadbb73754d859657ef7f28416d916eab8db1a;hp=a338f388df0bb2822a654f3a13afb27e01d39a3a;hb=ed0ffd0d14904b661622a29e95661fc03728c2c4;hpb=af2ee6fe421192cd2b42fcb4bbd09179bbce3943
diff --git a/include/functions.php b/include/functions.php
index a338f38..51fadbb 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -177,14 +177,27 @@ function compare_cards($a,$b,$game)
return 1;
if($b == 19 || $b == 20 )
return 0;
- };
- if($RULES['schweinchen']=='second' && $GAME['schweinchen-second'])
+ }
+ else if($RULES['schweinchen']=='second' && $GAME['schweinchen-second'])
{
if($a == 19 || $a == 20 )
return 1;
if($b == 19 || $b == 20 )
return 0;
- };
+ }
+ else if($RULES['schweinchen']=='secondaftercall' && $GAME['schweinchen-who'] && $GAME['schweinchen-second'] )
+ {
+ /* check if a call was made either by the player or his partner. If so activate Schweinchen rule. */
+ if(DB_get_call_by_hash($GAME['schweinchen-who']) || DB_get_partner_call_by_hash($GAME['schweinchen-who']) )
+ {
+ if($a == 19 || $a == 20 )
+ return 1;
+ if($b == 19 || $b == 20 )
+ return 0;
+ }
+ /* if not, do nothing and the foxes are just handeled as normal trump */
+ }
+ ;
case "heart":
case "spade":
case "club":
@@ -595,21 +608,39 @@ function set_gametype($gametype)
function mysort($cards,$gametype)
{
- usort ( $cards, "sort_comp" );
+ global $PREF;
+ if(isset($PREF['sorting']))
+ if($PREF['sorting']=='high-low')
+ usort ( $cards, 'sort_comp_high_low' );
+ else
+ usort ( $cards, 'sort_comp_low_high' );
+ else
+ usort ( $cards, 'sort_comp_high_low' );
return $cards;
}
-function sort_comp($a,$b)
+function sort_comp_high_low($a,$b)
{
global $CARDS;
$ALL = array();
- $ALL = array_merge($CARDS["trump"],$CARDS["diamonds"],$CARDS["clubs"],
- $CARDS["hearts"],$CARDS["spades"]);
+ $ALL = array_merge($CARDS['trump'],$CARDS['diamonds'],$CARDS['clubs'],
+ $CARDS['hearts'],$CARDS['spades']);
return pos_array($a,$ALL)-pos_array($b,$ALL);
}
+function sort_comp_low_high($a,$b)
+{
+ global $CARDS;
+
+ $ALL = array();
+ $ALL = array_merge($CARDS['trump'],$CARDS['diamonds'],$CARDS['clubs'],
+ $CARDS['hearts'],$CARDS['spades']);
+
+ return -pos_array($a,$ALL)+pos_array($b,$ALL);
+}
+
function can_call($what,$hash)
{
global $RULES;
@@ -734,7 +765,7 @@ function display_table ()
if(!$debug)
echo " $name \n";
else
- echo " $name\n";
+ echo " $name\n";
/* add hints for poverty, wedding, solo, etc */
if( $gametype != "solo")
@@ -748,12 +779,12 @@ function display_table ()
$cards = DB_get_all_hand($userhash);
$trumpNR = count_trump($cards);
if($trumpNR)
- echo " ";
+ echo " ";
else
- echo " ";
+ echo " ";
}
else
- echo " \" />";
+ echo " \" title=\"poverty partner\" />";
if($GT=="dpoverty")
if($party=="re")
@@ -763,12 +794,12 @@ function display_table ()
$cards = DB_get_all_hand($userhash);
$trumpNR = count_trump($cards);
if($trumpNR)
- echo " ";
+ echo " ";
else
- echo " ";
+ echo " ";
}
else
- echo " \" />";
+ echo " \" title=\"poverty partner\" />";
else
if($sickness=="poverty")
{
@@ -776,57 +807,57 @@ function display_table ()
$cards = DB_get_all_hand($userhash);
$trumpNR = count_trump($cards);
if($trumpNR)
- echo " ";
+ echo " ";
else
- echo " ";
+ echo " ";
}
else
- echo " \" />";
+ echo " \" title=\"poverty2 partner\" />";
if($GT=="wedding" && $party=="re")
if($sickness=="wedding")
- echo " ";
+ echo " ";
else
- echo " ";
+ echo " ";
if(ereg("solo",$GT) && $party=="re")
{
if(ereg("queen",$GT))
- echo " ";
+ echo " ";
else if(ereg("jack",$GT))
- echo " ";
+ echo " ";
else if(ereg("club",$GT))
- echo " ";
+ echo " ";
else if(ereg("spade",$GT))
- echo " ";
+ echo " ";
else if(ereg("heart",$GT))
- echo " ";
+ echo " ";
else if(ereg("trumpless",$GT))
- echo " ";
+ echo " ";
else if(ereg("trump",$GT))
- echo " ";
+ echo " ";
}
/* add point calls */
if($call!=NULL)
{
if($party=="re")
- echo " ";
+ echo " ";
else
- echo " ";
+ echo " ";
switch($call)
{
case "0":
- echo " ";
+ echo " ";
break;
case "30":
- echo " ";
+ echo " ";
break;
case "60":
- echo " ";
+ echo " ";
break;
case "90":
- echo " ";
+ echo " ";
break;
}
}
@@ -844,27 +875,29 @@ function display_table ()
}
-function display_user_menu()
+function display_user_menu($id)
{
- global $WIKI,$myid,$INDEX;
+ global $WIKI,$INDEX;
$result = DB_query("SELECT Hand.hash,Hand.game_id,Game.player from Hand".
" LEFT JOIN Game On Hand.game_id=Game.id".
- " WHERE Hand.user_id='$myid'".
- " AND Game.player='$myid'".
+ " WHERE Hand.user_id='$id'".
+ " AND ( Game.player='$id' OR ISNULL(Game.player) )".
" AND Game.status<>'gameover'".
" ORDER BY Game.session" );
- if(DB_num_rows($result))
- echo "It's your turn in these games:
\n";
$i=0;
while( $r = DB_fetch_array($result))
{
if($i==0)
- echo "