+
+ $trickNR = 1;
+
+ $lasttrick = DB_get_max_trickid($gameid);
+
+ $play = array(); /* needed to calculate winner later */
+ $seq = 1;
+ $pos = 0;
+
+ echo "\n<ul class=\"oldtrick\">\n";
+ echo " <li> Hello $myname! History: </li>\n";
+
+ while($r = mysql_fetch_array($result,MYSQL_NUM))
+ {
+ $seq = $r[3];
+ $pos = $r[2];
+ $trick = $r[5];
+ $comment = $r[6];
+
+ if($trick!=$lasttrick && $seq==1)
+ {
+ /* start of an old trick? */
+ echo " <li onclick=\"hl('$trickNR');\"><a href=\"#\">Trick $trickNR</a>\n".
+ " <div class=\"table\" id=\"trick".$trickNR."\">\n".
+ " <img class=\"table\" src=\"pics/table".($pos-1).".png\" alt=\"table\" />\n";
+ }
+ else if($trick==$lasttrick && $seq==1)
+ {
+ /* start of a last trick? */
+ echo " <li onclick=\"hl('$trickNR');\"><a href=\"#\">Current Trick</a>\n".
+ " <div class=\"table\" id=\"trick".$trickNR."\">\n".
+ " <img class=\"table\" src=\"pics/table".($pos-1).".png\" alt=\"table\" />\n";
+ }
+
+ /* display card */
+ echo " <div class=\"card".($pos-1)."\">\n";
+
+ $play[$pos]=$r[0];
+
+ if($comment!="")
+ echo " <span class=\"comment\">";
+ else
+ echo " <span>";
+
+ /* print name */
+ echo $r[1];
+
+ /* check for comment */
+ if($comment!="")
+ echo "<span>".$comment."</span>";
+ echo "</span>\n ";
+
+ display_card($r[0]);
+
+ echo " </div>\n"; /* end div card */
+
+ /* end of trick? */
+ if($seq==4)
+ {
+ $trickNR++;
+ echo " </div>\n </li>\n"; /* end div table, end li table */
+ }
+ }
+
+ if($seq!=4 && $trickNR>1)
+ echo " </div>\n </li>\n"; /* end div table, end li table */
+
+ echo "</ul>\n";
+
+ /* whos turn is it? */
+ if($seq==4)
+ {
+ $winner = get_winner($play,"normal"); /* returns the position */
+ $next = $winner;
+ }
+ else
+ {
+ $next = $pos+1;
+ }
+ if($next==5) $next=1;
+
+ /* my turn?, display cards as links, ask for comments*/
+ if(DB_get_pos_by_hash($me) == $next)
+ $myturn = 1;
+ else
+ $myturn = 0;
+
+ /* do we want to play a card? */
+ if(myisset("card") && $myturn)
+ {
+ $card = $_REQUEST["card"];
+ $handid = DB_get_handid_by_hash($me);
+
+ /* check if we have card and that we haven't played it yet*/
+ /* set played in hand_card to true where hand_id and card_id*/
+ $result = mysql_query("SELECT id FROM Hand_Card WHERE played='false' and ".
+ "hand_id='$handid' AND card_id=".DB_quote_smart($card));
+ $r = mysql_fetch_array($result,MYSQL_NUM);
+ $handcardid = $r[0];
+
+ if($handcardid)
+ {
+ mysql_query("UPDATE Hand_Card SET played='true' WHERE hand_id='$handid' AND card_id=".DB_quote_smart($card));
+
+ /* get trick id or start new trick */
+ $a = DB_get_current_trickid($gameid);
+ $trickid = $a[0];
+ $sequence = $a[1];
+
+ $playid = DB_play_card($trickid,$handcardid,$sequence);
+
+ /*check for coment */
+ if(myisset("comment"))
+ {
+ DB_insert_comment($_REQUEST["comment"],$playid,$myid);
+ };
+
+ echo "<div class=\"card\">";
+ echo " you played <br />";
+ display_card($card);
+ echo "</div>\n";
+
+
+ /*check if we still have cards left, else set status to gameover */
+ if(sizeof(DB_get_hand($me))==0)
+ {
+ DB_set_hand_status_by_hash($me,'gameover');
+ $mystatus='gameover';
+ }
+
+ /* if all players are done, set game status to game over */
+ $userids = DB_get_all_userid_by_gameid($gameid);
+ $done=1;
+ foreach($userids as $user)
+ if(DB_get_hand_status_by_userid_and_gameid($user,$gameid)!='gameover')
+ $done=0;
+
+ if($done)
+ DB_set_game_status_by_gameid($gameid,"gameover");
+
+ /* email next player */
+ if(DB_get_game_status_by_gameid($gameid)=='play')
+ {
+ if($sequence==4)
+ {
+ $play = DB_get_cards_by_trick($trickid);
+ $winner = get_winner($play,"normal"); /* returns the position */
+ $next = $winner;
+ }
+ else
+ {
+ $next = DB_get_pos_by_hash($me)+1;
+ }
+ if($next==5) $next=1;
+
+ /* email next player */
+ $next_hash = DB_get_hash_from_game_and_pos($gameid,$next);
+ $email = DB_get_email_by_hash($next_hash);
+
+ $message = "It's your turn now.\n".
+ "Use this link to play a card: ".$host."?me=".$next_hash."\n\n" ;
+ mymail($email,"[DoKo-debug] a card has been played",$message);
+
+ if($debug)
+ echo "DEBUG:<a href=\"index.php?me=".DB_get_hash_from_game_and_pos($gameid,$next).
+ "\"> next player </a> <br />\n";
+
+ }
+ }
+ else
+ {
+ echo "couldn't find card <br />\n";
+ }
+ }
+ else if(myisset("card") && !$myturn )
+ {
+ echo "please wait until it is your turn! <br />\n";
+ }
+
+ $mycards = DB_get_hand($me);
+ sort($mycards);
+ echo "<div class=\"mycards\">\n";
+
+ if($myturn && !myisset("card"))
+ {
+ echo "Hello ".$myname.", it's your turn! <br />\n";
+ echo "Your cards are: <br />\n";
+ echo "<form action=\"index.php?me=$me\" method=\"post\">\n";
+ foreach($mycards as $card)
+ display_link_card($card);
+
+ echo "<br />\nA short comments:<input name=\"comment\" type=\"text\" size=\"30\" maxlength=\"50\" />\n";
+ echo "<input type=\"hidden\" name=\"me\" value=\"$me\" />\n";
+ echo "<input type=\"submit\" value=\"move\" />\n";
+ echo "</form>\n";
+ }
+ else if($mystatus=='play')
+ {
+ echo "Your cards are: <br />\n";
+ foreach($mycards as $card)
+ display_card($card);
+ }
+ echo "</div>\n";
+
+ /* check if we need to set status to 'gameover' is done during playing of the card */
+ if($mystatus=='play')
+ break;
+ /* the following happens only when the gamestatus is 'gameover' */
+ /* check if game is over, display results */
+ if(DB_get_game_status_by_gameid($gameid)=='play')
+ {
+ echo "the game is over for you.. other people still need to play though";
+ }
+ else
+ {
+ echo "the game is over now... guess the final score should be displayed here...<br />\n";
+
+ /* suggest a new game with the same people in it, just rotated once */
+ $names = DB_get_all_names_by_gameid($gameid);
+ output_ask_for_new_game($names[1],$names[2],$names[3],$names[0],$gameid);
+ }
+ break;
+ default:
+ echo "error in testing the status";