summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/functions.php45
-rw-r--r--include/game.php11
2 files changed, 47 insertions, 9 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;
}
diff --git a/include/game.php b/include/game.php
index 668aa1f..0ec52e2 100644
--- a/include/game.php
+++ b/include/game.php
@@ -96,6 +96,8 @@ else
}
/* end check for Schweinchen */
+set_gametype($gametype); /* this sets the $CARDS variable */
+
/* put everyting in a form */
echo "<form action=\"index.php?action=game&me=$me\" method=\"post\">\n";
@@ -211,7 +213,7 @@ switch($mystatus)
case 'init':
/* here we ask the player if he is sick */
$mycards = DB_get_hand($me);
- sort($mycards);
+ $mycards = mysort($mycards,$gametype);
/* output sickness of other playes, in case the already selected and are sitting in front of the current player */
echo "\n<ul class=\"tricks\">\n";
@@ -333,7 +335,7 @@ switch($mystatus)
if($mystatus=='check')
{
$mycards = DB_get_hand($me);
- sort($mycards);
+ $mycards = mysort($mycards,$gametype);
/* output sickness of other playes, in case the already selected and are sitting in front of the current player */
echo "\n<ul class=\"tricks\">\n";
@@ -1722,7 +1724,10 @@ switch($mystatus)
foreach($mycards as $card)
{
- if($followsuit && !same_type($card,$firstcard))
+ if( ($followsuit && !same_type($card,$firstcard)) ||
+ ( (int)($card)==19 && ($RULES['schweinchen']=='second'||$RULES['schweinchen']=='secondaftercall')
+ && $GAME['schweinchen-who']==$me && !$GAME['schweinchen-first'] )
+ )
display_card($card,$PREF["cardset"]);
else
display_link_card($card,$PREF["cardset"]);