X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=functions.php;h=2f2e07d6ee9713893b1dce079101682ed63cd4b1;hp=c835f89897906c6f188690f70bacb022bcc5bf1f;hb=0c5b3eeca3006f61dd326a86e8989c52694d581b;hpb=a28cbfa660f2ff982f1cdcee41c09cec772d84af
diff --git a/functions.php b/functions.php
index c835f89..2f2e07d 100644
--- a/functions.php
+++ b/functions.php
@@ -58,6 +58,9 @@ function mymail($To,$Subject,$message,$header="")
if($debug)
{
+ /* display email on screen,
+ * change txt -> html
+ */
$message = str_replace("\n","
\n",$message);
$message = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"\\0", $message);
@@ -157,11 +160,12 @@ function compare_cards($a,$b,$game)
if( $b/2 - (int)($b/2) != 0.5)
$b--;
- /* some special cases */
+ /* check for schweinchen and ten of hearts*/
switch($game)
{
case "normal":
case "silent":
+ case "trump":
if($RULES["schweinchen"]=="both" && $GAME["schweinchen"])
{
if($a == 19 || $a == 20 )
@@ -176,13 +180,17 @@ function compare_cards($a,$b,$game)
if($b == 19 || $b == 20 )
return 0;
};
- case "trump":
case "heart":
case "spade":
case "club":
+ /* check for ten of hearts rule */
if($RULES["dullen"]=="secondwins")
if($a==1 && $b==1) /* both 10 of hearts */
return 0; /* second one wins.*/
+ case "trumpless":
+ case "jack":
+ case "queen":
+ /* no special cases here */
}
/* normal case */
@@ -309,28 +317,38 @@ function count_trump($cards)
$trump = 0;
- /* count each trump */
+ /* count each trump, including the foxes */
foreach($cards as $c)
if( (int)($c) <27)
$trump++;
- switch($RULES["schweinchen"])
- {
- case "none":
- break;
- case "second":
- case "secondaftercall":
- /* add one, in case the player has both foxes (schweinchen) */
- if( in_array("19",$cards) && in_array("20",$cards) )
+ /* 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
+ * though, so we need to add one trump for those cases */
+
+ /* subtract foxes */
+ if( in_array("19",$cards))
+ $trump--;
+ if( in_array("20",$cards) )
+ $trump--;
+
+ /* handle case where player has schweinchen */
+ if( in_array("19",$cards) && in_array("20",$cards) )
+ switch($RULES["schweinchen"])
+ {
+ case "both":
+ /* add two, in case the player has both foxes (schweinchen) */
$trump++;
- case "both":
- /* subtract foxes */
- if( in_array("19",$cards))
- $trump--;
- if( in_array("20",$cards) )
- $trump--;
- break;
- }
+ $trump++;
+ break;
+ case "second":
+ case "secondaftercall":
+ /* add one, in case the player has both foxes (schweinchen) */
+ $trump++;
+ break;
+ case "none":
+ break;
+ }
return $trump;
}
@@ -640,7 +658,7 @@ function can_call($what,$hash)
function display_table ()
{
- global $gameid, $GT, $debug,$host;
+ global $gameid, $GT, $debug,$INDEX,$defaulttimezone;
$result = mysql_query("SELECT User.fullname as name,".
" Hand.position as position, ".
@@ -668,16 +686,16 @@ function display_table ()
$call = $r[5];
$hash = $r[7];
$timezone = $r[8];
+ date_default_timezone_set($defaulttimezone);
+ $lastlogin = strtotime($r[6]);
date_default_timezone_set($timezone);
$timenow = strtotime(date("Y-m-d H:i:s"));
- $lastlogin = strtotime($r[6]);
-
echo "