<?php
-/*
- * config
- */
-
-$host = "http://doko.nubati.net/database/index.php";
-$wiki = "http://wiki.nubati.net/index.php?title=EmailDoko";
-$debug = 1;
-
-$last=-2;
-
-/*
- * end config
- */
-
-
-/* helper function */
function mymail($To,$Subject,$message)
{
global $debug;
function is_spade($c) { return (in_array($c,array('35','36','37','38','39','40','41','42')));}
function is_heart($c) { return (in_array($c,array('43','44','45','46','47','48')));}
-function compare_cards($a,$b)
+function compare_cards($a,$b,$mode)
{
- /* if a is higher than b return 1, else 0, a being the card first played */
-
- /* first map all cards to the odd number */
+ /* if "a" is higher than "b" return 1, else 0, "a" being the card first played */
+
+ /* don't think we need this */
if( $a/2 - (int)($a/2) != 0.5)
$a--;
if( $b/2 - (int)($b/2) != 0.5)
$b--;
- if(is_trump($a) && $a<=$b)
- return 1;
- else if(is_trump($a) && $a>$b)
- return 0;
- else
- { /*$a is not a trump */
- if(is_trump($b))
+ switch($mode)
+ {
+ case "trumpless":
+ break;
+ case "jack":
+ break;
+ case "queen":
+ break;
+ case "trump":
+ break;
+ case "club":
+ break;
+ case "spade":
+ break;
+ case "heart":
+ break;
+ case "normal":
+ /* first map all cards to the odd number */
+ if(is_trump($a) && $a<=$b)
+ return 1;
+ else if(is_trump($a) && $a>$b)
return 0;
- else
- {
- /* both clubs? */
- if( is_club($a) && is_club($b))
- if($a<=$b)
- return 1;
- else
- return 0;
- /* both spade? */
- if( is_spade($a) && is_spade($b))
- if($a<=$b)
+ else
+ { /*$a is not a trump */
+ if(is_trump($b))
+ return 0;
+ else
+ {
+ /* both clubs? */
+ if( is_club($a) && is_club($b))
+ if($a<=$b)
+ return 1;
+ else
+ return 0;
+ /* both spade? */
+ if( is_spade($a) && is_spade($b))
+ if($a<=$b)
+ return 1;
+ else
+ return 0;
+ /* both heart? */
+ if( is_heart($a) && is_heart($b))
+ if($a<=$b)
+ return 1;
+ else
+ return 0;
return 1;
- else
- return 0;
- /* both heart? */
- if( is_heart($a) && is_heart($b))
- if($a<=$b)
- return 1;
- else
- return 0;
- return 1;
- }
+ }
+ }
}
-
}
-function get_winner($p)
+function get_winner($p,$mode)
{
/* get all 4 cards played in a trick */
$c1 = $p[1];
$c4 = $p[4];
/* find out who won */
- if( compare_cards($c1,$c2) && compare_cards($c1,$c3) && compare_cards($c1,$c4) )
+ if( compare_cards($c1,$c2,$mode) && compare_cards($c1,$c3,$mode) && compare_cards($c1,$c4,$mode) )
return 1;
- if( compare_cards($c2,$c3) && compare_cards($c2,$c4) )
+ if( compare_cards($c2,$c3,$mode) && compare_cards($c2,$c4,$mode) )
return 2;
- if( compare_cards($c3,$c4) )
+ if( compare_cards($c3,$c4,$mode) )
return 3;
return 4;
}
}
}
-function display_card($card)
-{
- /* cards are only availabl for the odd values, e.g. 1.png, 3.png, ...
- * convert even cards to the matching odd value */
-
- if( $card/2 - (int)($card/2) == 0.5)
- echo "<img src=\"cards/".$card.".png\" alt=\"".card_to_name($card)."\" />\n";
- else
- echo "<img src=\"cards/".($card-1).".png\" alt=\"".card_to_name($card-1)."\" />\n";
-
- return;
-}
-
-function display_link_card($card)
-{
- if( $card/2 - (int)($card/2) == 0.5)
- echo "<input type=\"radio\" name=\"card\" value=\"".$card."\" /><img src=\"cards/".$card.".png\" alt=\"\" />\n";
- else
- echo "<input type=\"radio\" name=\"card\" value=\"".$card."\" /><img src=\"cards/".($card-1).".png\" alt=\"\" />\n";
- return;
-}
function create_array_of_random_numbers()
{
return $r;
}
-function check_want_to_play($me)
-{
- ?>
- <form action="index.php" method="post">
- Do you want to play a game of DoKo?
- yes<input type="radio" name="in" value="yes" />
- no<input type="radio" name="in" value="no" /> <br />
-
- Do you want to get an email for every card played or only if it your move?
- every card<input type="radio" name="update" value="card" />
- only on my turn<input type="radio" name="update" value="turn" /> <br />
-<?php
- echo "<input type=\"hidden\" name=\"me\" value=\"$me\" />\n";
- echo "\n";
- echo "<input type=\"submit\" value=\"count me in\" />\n";
- echo " </form>\n";
-
- return;
-}
-
-function check_for_sickness($me,$mycards)
-{
- ?>
- <p> nothing implemented so far, but give it a try anyway ;) </p>
-
- <form action="index.php" method="post">
-
- do you want to play solo?
- <select name="solo" size="1">
- <option>No</option>
- <option>trumpless</option>
- <option>trump</option>
- <option>queen</option>
- <option>jack</option>
- <option>club</option>
- <option>spade</option>
- <option>heart</option>
- </select>
- <br />
-
- <?php
-
- echo "wedding?";
- if(check_wedding($mycards))
- {
- echo " yes<input type=\"radio\" name=\"wedding\" value=\"yes\" />";
- echo " no <input type=\"radio\" name=\"wedding\" value=\"no\" /> <br />\n";
- }
- else
- {
- echo " no <input type=\"hidden\" name=\"wedding\" value=\"no\" /> <br />\n";
- };
-
- echo "do you have poverty?";
- if(count_trump($mycards)<4)
- {
- echo " yes<input type=\"radio\" name=\"poverty\" value=\"yes\" />";
- echo " no <input type=\"radio\" name=\"poverty\" value=\"no\" /> <br />\n";
- }
- else
- {
- echo " no <input type=\"hidden\" name=\"poverty\" value=\"no\" /> <br />\n";
- };
- echo "do you have too many nines?";
- if(count_nines($mycards)>4)
- {
- echo " yes<input type=\"radio\" name=\"nines\" value=\"yes\" />";
- echo " no <input type=\"radio\" name=\"nines\" value=\"no\" /> <br />\n";
- }
- else
- {
- echo " no <input type=\"hidden\" name=\"nines\" value=\"no\" /> <br />\n";
- };
- echo "<input type=\"hidden\" name=\"me\" value=\"$me\" />\n";
- echo "<input type=\"submit\" value=\"count me in\" />\n";
-
- echo "</form>\n";
-
- return;
-}
-
-function display_status()
-{
- echo "<div class=\"info\">";
- echo " is someone playing solo, etc?";
- echo "</div>";
-
- return;
-}
-
-function display_news()
-{
- global $wiki;
- echo "<div class=\"bug\"> ".
- "Please hit shift+reload.<br /><hr />".
- "New Database backend, lost a few features on the way.<br /><hr />".
- "If you find more bugs, please list them in the <a href=\"".$wiki.
- "\">wiki</a>.</div>\n";
- return;
-}
function display_cards($me,$myturn)
{
case '-8':
$zone = "America/Vancouver";
break;
+ case '13':
+ $zone = "Pacific/Auckland";
+ break;
default:
$zone = "Europe/London";
}