if($debug)
{
- str_replace("\n","<br />",$message);
- echo "<br>To: $To<br>Subject: $Subject <br>$message<br>";
+ $message = str_replace("\n","<br />",$message);
+ echo "<br />To: $To<br />Subject: $Subject <br />$message<br />\n";
}
else
mail($To,$Subject,$message);
$game["solo-who"] = -1;
$game["solo-what"] = "todo";
$game["wedding"] = -1;
- $game["poverty"] = -1;
+ $game["poverty"] = "";
$game["nines"] = -1;
$game["startplayer"] = 0;
$player[$tmp[0]]["option"] = $tmp[3];
$player[$tmp[0]]["points"] = $tmp[4];
$player[$tmp[0]]["cards"] = $tmp[5];
- if(ereg("s",$tmp[3])) $game["init"]++;
- if(ereg("P",$tmp[3])) $game["poverty"] = $i;
- if(ereg("N",$tmp[3])) $game["nines"] = $i;
- if(ereg("W",$tmp[3])) $game["wedding"] = $i;
- if(ereg("[OSQJCAH]",$tmp[3]) && ($game["solo-who"]<0) )
+ if(ereg("s",$tmp[3])) $game["init"]++; /* how many players are ready? */
+ if(ereg("P",$tmp[3])) $game["poverty"].= $i; /* players with poverty, could be two, so use a string */
+ if(ereg("N",$tmp[3])) $game["nines"] = $i; /* the player with too many nines, only one possible */
+ if(ereg("W",$tmp[3])) $game["wedding"] = $i; /* the player with the wedding, also only one possible */
+ if(ereg("([OSQJCAH])",$tmp[3],$match) && ($game["solo-who"]<0) )
{
$game["solo-who"] = $i;
$game["startplayer"] = $i;
+ switch($match[1])
+ {
+ case "O":
+ $game["solo-what"] = "No Trump";
+ case "S":
+ $game["solo-what"] = "Trump";
+ case "Q":
+ $game["solo-what"] = "Queen";
+ case "J":
+ $game["solo-what"] = "Jack";
+ case "C":
+ $game["solo-what"] = "Club";
+ case "A":
+ $game["solo-what"] = "Spade";
+ case "H":
+ $game["solo-what"] = "Heart";
+ }
}
}
function display_card($card)
{
if( $card/2 - (int)($card/2) == 0.5)
- echo "<img src=\"cards/".$card.".png\" height=\"100\" alt=\"".card_to_name($card)."\" />\n";
+ echo "<img src=\"cards/".$card.".png\" alt=\"".card_to_name($card)."\" />\n";
else
- echo "<img src=\"cards/".($card-1).".png\" height=\"100\" alt=\"".card_to_name($card-1)."\" />\n";
+ echo "<img src=\"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\" height=\"100\" alt=\"".card_to_name($card)."\" /></a>\n";
+ 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\" height=\"100\" alt=\"".card_to_name($card-1)."\" /></a>\n";
+ echo "<a href=\"index.php?me=$me&card=$card\"><img src=\"cards/".($card-1).".png\" alt=\"".card_to_name($card-1)."\" /></a>\n";
return;
}
return;
}
-echo "<p>If you find bugs, please list them in the <a href=\"".$wiki."\">wiki</a></p>\n";
+echo "<p>If you find bugs, please list them in the <a href=\"".$wiki."\">wiki</a>.</p>\n";
+echo "<p> Names that are underlined have a comment, which you can access by hovering over the name with your mouse ;)</p>\n";
+
$history=array();
/* check for status file and read it, if possible */
"If you want to join this game, please follow this link:\n\n".
" ".$host."?a=";
- mymail($EmailA,"Invite for a game of DoKo","Hello $PlayerA,\n".$message.$hashA);
- mymail($EmailB,"Invite for a game of DoKo","Hello $PlayerB,\n".$message.$hashB);
- mymail($EmailC,"Invite for a game of DoKo","Hello $PlayerC,\n".$message.$hashC);
- mymail($EmailD,"Invite for a game of DoKo","Hello $PlayerD,\n".$message.$hashD);
+ mymail($EmailA,"You are invited to a game of DoKo","Hello $PlayerA,\n".$message.$hashA);
+ mymail($EmailB,"You are invited to a game of DoKo","Hello $PlayerB,\n".$message.$hashB);
+ mymail($EmailC,"You are invited to a game of DoKo","Hello $PlayerC,\n".$message.$hashC);
+ mymail($EmailD,"You are invited to a game of DoKo","Hello $PlayerD,\n".$message.$hashD);
/* read in random.txt */
if(file_exists("random.txt"))
else
die("no random file");
- $randomNR = explode( ":", $random[1] );
+ $randomNR = explode( ":", $random[2] );
/* write initial status into file */
$output = fopen("status.txt","w");
else
echo "can't open file for writing";
};
+/* reread file */
+if(file_exists("status.txt"))
+ $lines = file("status.txt");
+ else
+ die("no file");
/* test if a game is running, else output everything for a new game */
if(sizeof($lines)<2)
$mycards = explode(";",$allcards);
sort($mycards);
- echo "your cards are <br>\n";
+ echo "your cards are <br />\n";
foreach($mycards as $card)
{
display_card($card);
}
echo "<br />\n";
?>
- <p>aehm... at the moment please just answer everything with no, still need to implement this</p>
+ <p>aehm... at the moment poverty is not implented. so I guess you need to play a normal game, even if you have less than 3 turmp :(...sorry</p>
<form action="index.php" method="post">
do you want to play solo?
$player[$c]["option"].="N";
}
- $message = "you're in. once everyone has filled out the form,".
- "the game will start and you'll get an eamil on your turn\n";
+ $message = "You're in. Once everyone has filled out the form, ".
+ "the game will start and you'll get an eamil on your turn.\n";
mymail($player[$c]["email"],"[DoKo-debug] the game will start soon",$message);
$player[$c]["option"].="s";
if($game["init"]==4)
{
/* check for sickness*/
- /***** someone has 5 nines and no one is playing solo=> cance5Al game */
+ /***** someone has 5 nines and no one is playing solo=> cancel game */
if($game["nines"]>=0 && $game["solo-who"]<0)
{
$message = $player[$hash[$game["poverty"]]]["nines"]." has more than 4 nines. Game aborted!\n";
for($i=0;$i<4;$i++)
{
mymail($player[$hash[$i]]["email"],"[DoKo-debug] the game has been canceled",$message);
- }
+ };
+
$output = fopen("status.txt","w");
if($output)
fclose($output);
{
if(!isset($_REQUEST["recovery"]))
{
- echo "a game is in progress, but you are not playing.<br />\n";
+ echo "A game is in progress and kibitzing is not allowed. Sorry!.<br />\n";
echo "In case you are playing, but lost your email or can't access the game anymore, please input your email here:<br />\n";
?>
<form action="index.php" method="post">
{ /* $me is set */
$me = $_REQUEST["me"];
- echo "game in progress and you are in it<br />\n";
+ /* output if we are playing a solo or a wedding */
if($game["solo-who"]>=0)
echo $player[$hash[$game["solo-who"]]]["name"]." is playing a ".$game["solo-what"]." solo!<br />\n";
else if($game["wedding"]>=0)
/* show history */
foreach($history as $play)
{
- echo "<br />\n";
-
$trick = explode(":",$play);
$last=-2;
/* found old trick, display it */
+ if(sizeof($trick)==5)
+ echo "<div class=\"oldtrick background".$play[0]."\"><div class=\"table\">\n";
+ else
+ echo "<div class=\"trick back".$play[0]."\"><div class=\"table\">\n";
for($i=0;$i<sizeof($trick)-1;$i++)
{
- $card=$trick[$i];
+ $card = $trick[$i];
if(ereg("->",$card))
{
$tmp = explode("->",$card);
- echo $player[$hash[$tmp[0]]]["name"]." played ";
+
+ echo "<div class=\"card".$tmp[0]."\">";
+
+ if(strlen($tmp[2])>0)
+ echo "<span class=\"comment\">";
+ else
+ echo " <span>";
+ echo $player[$hash[$tmp[0]]]["name"];
+ /* check for comment */
+ if(strlen($tmp[2])>0)
+ echo " <span>".$tmp[2]."</span>";
+ echo " </span>\n ";
+
display_card($tmp[1]);
- $last=$tmp[0];
+
+ $last = $tmp[0];
+ echo "</div>\n";
}
}
+ echo "</div></div>\n";
}
/* figure out who needs to play next */
$next -= 4 ;
if($last<0)
{
- $next=$history[sizeof($history)-1][0];
+ $next = $history[sizeof($history)-1][0];
}
/* are we trying to play a card? */
}
save_status();
- echo " you played ";
+ echo "<div class=\"card\">";
+ echo " you played <br />";
display_card($card);
-
+ echo "</div>\n";
+
+ ?>
+<br clear="both" />
+<form action="index.php" method="post">
+ A short comment:<input name="comment" type="text" size="30" maxlength="50" />
+ <input type="hidden" name="me" value="<?php echo $me; ?>" />
+ <input type="submit" value="submit comment" />
+</form>
+<?php
/* send out email to players who want/need to get informed */
- for($i=0;$i<4;$i++)
- {
- $mynext=$next+1; if($mynext>3)$mynext-=4;
- if((ereg("c",$player[$hash[$i]]["option"]) || $i==$mynext) && $hash[$i]!=$me)
- {
- $message = " Hello ".$player[$hash[$i]]["name"].",\n\n";
-
- if($i==$mynext)
- {
- $message .= "it's your turn now.\n".
- "Use this link to play a card: ".$host."?me=".$hash[$i]."\n\n" ;
- }
- $message .= $player[$me]["name"]. "has played the following card ".card_to_name($card)."\n";
-
- if($game["solo-who"]>=0)
- $message.= $player[$hash[$game["solo-who"]]]." is playing a ".$game["solo-what"]." solo!\n";
-
- mymail($player[$hash[$i]]["email"],"[DoKo-debug] a card has been played",$message);
-
- if($debug)
- echo "<a href=\"index.php?me=".$hash[$mynext]."\"> next player </a> <br />\n";
- }
- }
+ /* check if we are in a trick, if trick is done, this needs to be handelt in the
+ * who-won-the-trick section further down */
+ $tmp = explode(":",$history[sizeof($history)-1]);
+ if(sizeof($tmp)<5)
+ for($i=0;$i<4;$i++)
+ {
+ $mynext = $next+1; if($mynext>3)$mynext-=4;
+
+ if((ereg("c",$player[$hash[$i]]["option"]) || $i==$mynext) && $hash[$i]!=$me)
+ {
+ $message = " Hello ".$player[$hash[$i]]["name"].",\n\n";
+
+ if($i==$mynext)
+ {
+ $message .= "it's your turn now.\n".
+ "Use this link to play a card: ".$host."?me=".$hash[$i]."\n\n" ;
+ }
+ $message .= $player[$me]["name"]." has played the following card ".
+ card_to_name($card)."\n";
+
+ if($game["solo-who"]>=0)
+ $message .= $player[$hash[$game["solo-who"]]]["name"]." is playing a ".
+ $game["solo-what"]." solo!\n";
+
+ mymail($player[$hash[$i]]["email"],"[DoKo-debug] a card has been played",$message);
+
+ if($debug)
+ echo "<a href=\"index.php?me=".$hash[$mynext]."\"> next player </a> <br />\n";
+ }
+ }
}
else
echo "seems like you don't have that card<br />\n";
}
} /* end if card is set */
+ else if(isset($_REQUEST["comment"]))
+ {
+ $comment = $_REQUEST["comment"];
+ $tmp = explode(":",$history[sizeof($history)-1]);
+ $tmp2 = explode("->",$tmp[sizeof($tmp)-2]);
+
+ $comment = str_replace(":","",$comment);
+
+ if(sizeof($tmp2)<=2)
+ $tmp[sizeof($tmp)-2] .= "->".$comment;
+ $history[sizeof($history)-1]=join(":",$tmp);
+
+ save_status();
+ }
else if(isset($_REQUEST["win"]) && strlen($history[sizeof($history)-1])>3)
{
- $win=$_REQUEST["win"];
- $history[]=$win.":\n";
+ $win = $_REQUEST["win"];
+
+ if(strlen($player[$hash[0]]["cards"]))
+ $history[] = $win.":\n";
+
+ /* email the player who needs to move next*/
+ for($i=0;$i<4;$i++)
+ {
+ if((ereg("c",$player[$hash[$i]]["option"]) || $i==$win) )
+ {
+ $message = " Hello ".$player[$hash[$i]]["name"].",\n\n";
+
+ if($i == $win)
+ {
+ $message .= "You won the last trick,it's your turn now.\n".
+ "Use this link to play a card: ".$host."?me=".$hash[$i]."\n\n" ;
+ }
+ else
+ $message .= $player[$hash[$win]]["name"]." has won the last trick\n".
+ "Use this link to look at the game: ".$host."?me=".$hash[$i]."\n\n" ;
+
+ if($game["solo-who"]>=0)
+ $message.= $player[$hash[$game["solo-who"]]]["name"]." is playing a ".
+ $game["solo-what"]." solo!\n";
+
+ mymail($player[$hash[$i]]["email"],"[DoKo-debug] a card has been played",$message);
+
+ if($debug)
+ echo "<a href=\"index.php?me=".$hash[$win]."\"> next player </a> <br />\n";
+ }
+ }
+
+
/* count points of the last trick */
- $points=0;
+ $points = 0;
$tmp = explode(":",$history[sizeof($history)-2]);
for($i=0;$i<4;$i++)
$c = $tmp2[1];
$points += card_value($c);
}
- $player[$hash[$win]]["points"]+=$points;
+ $player[$hash[$win]]["points"] += $points;
echo "<br />\n ".$player[$hash[$win]]["name"]." won: $points Points <br />\n";
save_status();
$tmp = explode(":",$history[sizeof($history)-1]);
- /* check last history entry: end of a trick? ask who won it */
- if(sizeof($tmp)==5)
+ /* check last history entry: end of a trick? ask who won it, unless it was the last trick */
+ if(sizeof($tmp)==5 && strlen($player[$hash[0]]["cards"]))
{
?>
<form action="index.php" method="post">
echo "<p class=\"mycards\">\n";
/* is it our turn? */
- if($hash[$next]==$me)
+ if($hash[$next]==$me && !isset($_REQUEST["card"]) && !isset($_REQUEST["win"]))
{
echo "ITS YOUR TURN <br />\n";
echo "your cards are: <br />\n";