summaryrefslogtreecommitdiffstats
path: root/include/functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/functions.php')
-rw-r--r--include/functions.php45
1 files changed, 39 insertions, 6 deletions
diff --git a/include/functions.php b/include/functions.php
index bbffe00..5267bfb 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1,5 +1,5 @@
<?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))
@@ -328,9 +328,9 @@ function count_trump($cards)
$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--;
@@ -466,6 +466,7 @@ function set_gametype($gametype)
{
global $CARDS;
global $RULES;
+ global $GAME;
switch($gametype)
{
@@ -488,6 +489,38 @@ function set_gametype($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');
@@ -932,7 +965,7 @@ function generate_global_score_table()
$player[$key]['nr']+=1;
}
}
-
+
echo "<table>\n <tr>\n";
function cmp($a,$b)
{
@@ -942,7 +975,7 @@ function generate_global_score_table()
$a=$a['points']/$a['nr'];
$b=$b['points']/$b['nr'];
- if ($a == $b)
+ if ($a == $b)
return 0;
return ($a > $b) ? -1 : 1;
}
@@ -953,7 +986,7 @@ function generate_global_score_table()
echo " <tr><td>",$pl['name'],"</td><td>",round($pl['points']/$pl['nr'],3),"</td></tr>\n";
}
echo "</table>\n";
-
+
return;
}