"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
- <title>e-Doko</title>
+ <title>e-DoKo</title>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" />
- <link rel="stylesheet" type="text/css" href="standard.css" />
+ <link rel="stylesheet" type="text/css" href="http://doko.nubati.net/css/standard.css" />
<script type="text/javascript">
function hl(num) {
if(document.getElementById){
</head>
<body onload="high_last();">
<div class="header">
-<h1> Welcome to E-Doko </h1>
+<h1> Welcome to E-DoKo </h1>
<?php
/*
* config
*/
-$host = "http://doko.nubati.net/index.php";
+$base = "http://doko.nubati.net/";
+$host = $base."index.php";
$wiki = "http://wiki.nubati.net/index.php?title=EmailDoko";
-$debug = 1;
+$debug = 0;
$last=-2;
-$number_of_trick;
/*
* end config
echo "</div>\n";
/* end header */
-
/* helper function */
function mymail($To,$Subject,$message)
function is_trump($c) { return (($c<27) ? 1:0);}
function is_club($c) { return (in_array($c,array('27','28','29','30','31','32','33','34')));}
-function is_space($c) { return (in_array($c,array('35','36','37','38','39','40','41','42')));}
+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 get_winner($p)
{
+ /* get all 4 cards played in a trick */
$c1 = $p[0];
$c2 = $p[1];
$c3 = $p[2];
$c4 = $p[3];
+ /* find out who won */
if( compare_cards($c1,$c2) && compare_cards($c1,$c3) && compare_cards($c1,$c4) )
return 0;
if( compare_cards($c2,$c3) && compare_cards($c2,$c4) )
}
/* save the game history */
for($i=4;$i<sizeof($lines);$i++)
- {
- if(!ereg("^[[:space:]]*$",trim($lines[$i])))
- {
- $history[] = $lines[$i];
- }
- }
+ if(!ereg("^[[:space:]]*$",trim($lines[$i])))
+ $history[] = $lines[$i];
if(sizeof($history)==0 || (sizeof($history)==1 && strlen($history[0])==3 ))
$history[0] = $game["startplayer"].":";
function count_nines($cards)
{
- $card = explode(";",$cards);
-
- $nines =0;
+ $card = explode(";",$cards);
+ $nines = 0;
foreach($card as $c)
{
function check_wedding($cards)
{
- $card = explode(";",$cards);
-
- $count =0;
+ $card = explode(";",$cards);
if( in_array("3",$card) && in_array("2",$card) )
- $count=1;
+ return 1;
- return $count;
+ return 0;
}
function count_trump($cards)
{
- $card = explode(";",$cards);
-
- $trump =0;
+ $card = explode(";",$cards);
+ $trump = 0;
/* count each trump */
foreach($card as $c)
function card_value($card)
{
- switch($card-1)
+ switch($card)
{
- case 0:
- case 1:
- return 10;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- return 3;
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- case 17:
- return 2;
- case 18:
- case 19:
- return 11;
- case 20:
- case 21:
- return 10;
- case 22:
- case 23:
- return 4;
- case 24:
- case 25:
- return 0;
- case 26:
- case 27:
- return 11;
- case 28:
- case 29:
+ case 1: /* heart */
+ case 2:
return 10;
- case 30:
- case 31:
- return 4;
- case 32:
- case 33:
- return 0;
- case 34:
- case 35:
+ case 3: /* clubes */
+ case 4:
+ case 5: /* spades */
+ case 6:
+ case 7: /* hearts */
+ case 8:
+ case 9: /* diamonds */
+ case 10:
+ return 3;
+ case 11: /* clubes */
+ case 12:
+ case 13: /* spades */
+ case 14:
+ case 15: /* hearts */
+ case 16:
+ case 17: /* diamonds */
+ case 18:
+ return 2;
+ case 19: /* diamonds */
+ case 20:
+ case 27: /* clubs */
+ case 28:
+ case 35: /* spades */
+ case 36:
+ case 43: /* hearts */
+ case 44:
return 11;
- case 36:
- case 37:
+ case 21: /* diamonds */
+ case 22:
+ case 29: /* clubs */
+ case 30:
+ case 37: /* spades */
+ case 38:
return 10;
- case 38:
- case 39:
+ case 23: /* diamonds */
+ case 24:
+ case 31: /* clubs */
+ case 32:
+ case 39: /* spades */
+ case 40:
+ case 45: /* hearts */
+ case 46:
return 4;
- case 40:
- case 41:
+ case 25: /* diamonds */
+ case 26:
+ case 33: /* clubs */
+ case 34:
+ case 41: /* spades */
+ case 42:
+ case 47: /* hearts */
+ case 48:
return 0;
- case 42:
- case 43:
- return 11;
- case 44:
- case 45:
- return 4;
- case 46:
- case 47:
- return 0;
- default:
- echo "something went wrong, please contact the admin. ErrorCode 2<br>";
+ default:
+ echo "something went wrong, please contact the admin. ErrorCode: 2<br>";
return 0;
}
}
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";
+ echo "<img src=\"".$base."cards/".$card.".png\" alt=\"".card_to_name($card)."\" />\n";
else
- echo "<img src=\"cards/".($card-1).".png\" alt=\"".card_to_name($card-1)."\" />\n";
+ echo "<img src=\"".$base."cards/".($card-1).".png\" alt=\"".card_to_name($card-1)."\" />\n";
+
return;
}
function display_link_card($card,$me)
{
- /* if( $card/2 - (int)($card/2) == 0.5)
- echo "<a href=\"index.php?me=$me&card=$card\"><img src=\"cards/".$card.".png\" alt=\"".card_to_name($card)."\" /></a>\n";
- else
- echo "<a href=\"index.php?me=$me&card=$card\"><img src=\"cards/".($card-1).".png\" alt=\"".card_to_name($card-1)."\" /></a>\n";
- */
if( $card/2 - (int)($card/2) == 0.5)
- echo "<input type=\"radio\" name=\"card\" value=\"".$card."\" /><img src=\"cards/".$card.".png\" alt=\"\" />\n";
+ echo "<input type=\"radio\" name=\"card\" value=\"".$card."\" /><img src=\"".$base."cards/".$card.".png\" alt=\"\" />\n";
else
- echo "<input type=\"radio\" name=\"card\" value=\"".$card."\" /><img src=\"cards/".($card-1).".png\" alt=\"\" />\n";
+ echo "<input type=\"radio\" name=\"card\" value=\"".$card."\" /><img src=\"".$base."cards/".($card-1).".png\" alt=\"\" />\n";
return;
}
/***************** M A I N **************************/
-
$history=array();
/* check for status file and read it, if possible */
else
die("no random file");
- $randomNR = explode( ":", $random[2] );
+ $randomNR = explode( ":", $random[4] );
/* write initial status into file */
$output = fopen("status.txt","w");
/* found old trick, display it */
if(sizeof($trick)==5)
- echo " <li onclick=\"hl('$j');\"><a href=\"#\">Trick $j</a>\n <div class=\"table\" id=\"trick".$j."\">\n <img class=\"table\" src=\"pics/table".$play[0].".png\" alt=\"table\" />\n";
+ echo " <li onclick=\"hl('$j');\"><a href=\"#\">Trick $j</a>\n <div class=\"table\" id=\"trick".$j."\">\n <img class=\"table\" src=\"".$base."pics/table".$play[0].".png\" alt=\"table\" />\n";
else
{
/* display current trick */
- echo "<li onclick=\"hl('$j');\"><a href=\"#\">Current Trick</a>\n <div class=\"table\" id=\"trick".$j."\">\n <img class=\"table\" src=\"pics/table".$play[0].".png\" alt=\"table\" />";
+ echo "<li onclick=\"hl('$j');\"><a href=\"#\">Current Trick</a>\n <div class=\"table\" id=\"trick".$j."\">\n <img class=\"table\" src=\"".$base."pics/table".$play[0].".png\" alt=\"table\" />";
}
for($i=0;$i<sizeof($trick)-1;$i++)
{
echo " </div>\n </li>\n";
}
- echo "</ul>\n";
+ echo "</ul> <hr />\n";
echo "<div class=\"line\"></div>";
if(strlen($player[$hash[0]]["cards"]))
$history[] = "\n".$win.":\n"; /* not sure why I need the first \n here */
+ /* check if game is done */
+ $end = 1;
+ for($i=0;$i<4;$i++)
+ if(strlen(trim($player[$hash[$i]]["cards"]))!=0)
+ $end = 0;
+
/* email the player who needs to move next*/
+ if(!$end)
for($i=0;$i<4;$i++)
{
if((ereg("c",$player[$hash[$i]]["option"]) || $i==$win) )