/* create hands */
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridA).
- ", ".DB_quote_smart($hashA).", 'start','1',NULL,NULL,NULL,'false','false',NULL)");
+ ", ".DB_quote_smart($hashA).", 'start','1',NULL,NULL,NULL,NULL)");
$hand_idA = mysql_insert_id();
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridB).
- ", ".DB_quote_smart($hashB).", 'start','2',NULL,NULL,NULL,'false','false',NULL)");
+ ", ".DB_quote_smart($hashB).", 'start','2',NULL,NULL,NULL,NULL)");
$hand_idB = mysql_insert_id();
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridC).
- ", ".DB_quote_smart($hashC).", 'start','3',NULL,NULL,NULL,'false','false',NULL)");
+ ", ".DB_quote_smart($hashC).", 'start','3',NULL,NULL,NULL,NULL)");
$hand_idC = mysql_insert_id();
mysql_query("INSERT INTO Hand VALUES (NULL,".DB_quote_smart($game_id).",".DB_quote_smart($useridD).
- ", ".DB_quote_smart($hashD).", 'start','4',NULL,NULL,NULL,'false','false',NULL)");
+ ", ".DB_quote_smart($hashD).", 'start','4',NULL,NULL,NULL,NULL)");
$hand_idD = mysql_insert_id();
/* save cards */
"$PlayerC\n".
"$PlayerD\n\n".
"If you want to join this game, please follow this link:\n\n".
- " ".$host."?me=";
+ "".$host."?me=";
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);
/* move on to the next stage*/
DB_set_hand_status_by_hash($me,'poverty');
+
+ /* check if everyone has reached this stage, send out email */
+ $userids = DB_get_all_userid_by_gameid($gameid);
+ $ok=1;
+ foreach($userids as $user)
+ {
+ $userstat = DB_get_hand_status_by_userid_and_gameid($user,$gameid);
+ if($userstat!='poverty' && $userstat!='play')
+ $ok=0;
+ };
+ if($ok)
+ foreach($userids as $user)
+ {
+ $To = DB_get_email_by_userid($user);
+ $userhash =DB_get_hash_from_gameid_and_userid($gameid,$user);
+ if($userhash!=$me)
+ {
+ $message = "Everyone finish the questionary, please visit this link now to continue: \n".
+ " ".$host."?me=".$userhash."\n\n" ;
+ mymail($To,$EmailName." finished setup",$message);
+ }
+ };
+
break;
case 'poverty':
if(!$ok)
{
echo "This step can only be handled after everyone finished the last step. ".
- "Seems like this is not the case, so you need to wait a bit... please check back later....<br />";
+ "Seems like this is not the case, so you need to wait a bit... you will get an email once that is the case, please use the link in that email to continue the game.<br />";
}
else
{
else if($wedding> 0)
{
DB_set_gametype_by_gameid($gameid,"wedding");
+ DB_set_sickness_by_gameid($gameid,'-1'); /* wedding not resolved yet */
$gametype = "wedding";
};
$usersick = DB_get_sickness_by_userid_and_gameid($myid,$gameid);
if($usersick == "wedding")
DB_set_party_by_hash($me,"re");
+ else
+ DB_set_party_by_hash($me,"contra");
- echo "Don't know who will be Re and Contra, you need to ".
- "figure that out at the end of the game yourself <br />\n";
+ echo "Whoever will make the first trick will be on the re team. <br />\n";
+ echo " Ok, the game can start now, please finish <a href=\"$host?me=$me\">the setup</a>.<br />";
DB_set_hand_status_by_hash($me,'play');
break;
/* check if poverty resolved (e.g. DB.Game who set to NULL)
* yes? =>trump was taken, start game; break;
*/
- $who=DB_get_sickness_by_gameid($gameid);
+ $who = DB_get_sickness_by_gameid($gameid);
if($who<0)
{ /* trump has been taken */
DB_set_hand_status_by_hash($me,'play');
};
if($who>9) /*= two people still have trump on the table*/
- $add=10;
+ $add = 10;
else
- $add=1;
+ $add = 1;
/* check if we are being asked now
- * no, display wait message, e.g. player X is asked at the moment
+ * no? display wait message, e.g. player X is asked at the moment
*/
$usersick = DB_get_sickness_by_userid_and_gameid($myid,$gameid);
if(myisset("trump") && $_REQUEST["trump"]=="no" && ($who==$mypos || $who==$mypos*10))
$trump = $_REQUEST["trump"];
/* get hand id for user $trump */
- $userhand=DB_get_handid_by_gameid_and_userid($gameid,$trump);
+ $userhand = DB_get_handid_by_gameid_and_userid($gameid,$trump);
/* copy trump from player A to B */
$result = mysql_query("UPDATE Hand_Card SET hand_id='$myhand' WHERE hand_id='$userhand' AND card_id<'27'" );
}
else /* reduce poverty count by one, that is go to single digits $who */
{
- $add=1;
- $who=$who/10;
+ $add = 1;
+ $who = $who/10;
$firstsick = DB_get_sickness_by_pos_and_gameid($mypos+1,$gameid);
$secondsick = DB_get_sickness_by_pos_and_gameid($mypos+2,$gameid);
+
if($firstsick!="poverty")
DB_set_sickness_by_gameid($gameid,$who+$add);
else
*/
};
}
- /* check if noone wanted to take trump, in that case the gamesickness would be set to 5 or 50 */
- $who=DB_get_sickness_by_gameid($gameid);
+ /* check if no one wanted to take trump, in that case the gamesickness would be set to 5 or 50 */
+ $who = DB_get_sickness_by_gameid($gameid);
if($who==5 || $who==50)
{
$message = "Hello, \n\n".
echo " Please, <a href=\"$host?me=$me\">start</a> the game.<br />";
}
else
- echo "You finished the setup, at the moment you need to reload this page after everyone else has finished there setup so that the server can figure out vorbehalte... in future this will get an email in case you need to do anything, but this is not implemented yet :( <br />";
+ echo "\n <br />";
break;
case 'play':
/* has the game started? No, then just wait here...*/
if($gamestatus == 'pre')
{
- echo "You finished the setup, but not everyone else finished it...so you need to wait for the others... <br />";
+ echo "You finished the setup, but not everyone else finished it...so you need to wait for the others. Just wait for the an email... <br />";
break; /* not sure this works... the idea is that you can
* only play a card after everyone is ready to play */
}
/* display the table and the names */
$result = mysql_query("SELECT User.fullname as name,".
" Hand.position as position, ".
- " User.id ".
+ " User.id, ".
+ " Hand.party as party, ".
+ " Hand.sickness as sickness, ".
+ " Hand.point_call as call ".
"FROM Hand ".
"LEFT JOIN User ON User.id=Hand.user_id ".
"WHERE Hand.game_id='".$gameid."' ".
" <img src=\"pics/table.png\" alt=\"table\" />\n";
while($r = mysql_fetch_array($result,MYSQL_NUM))
{
- $name = $r[0];
- $pos = $r[1];
- $user = $r[2];
-
+ $name = $r[0];
+ $pos = $r[1];
+ $user = $r[2];
+ $party = $r[3];
+ $sickness= $r[4];
+ $call = $r[5];
+
$offset = DB_get_user_timezone($user);
$zone = return_timezone($offset);
date_default_timezone_set($zone);
echo " <span class=\"table".($pos-1)."\">\n";
- echo " $name <br />\n";
+ echo " $name ";
+ /* add hints for poverty, wedding, solo, etc */
+ if($GT=="poverty" && $party=="re")
+ if($sickness=="poverty")
+ echo "(poverty <)";
+ else
+ echo "(poverty >)";
+
+ if($GT=="dpoverty")
+ if($party=="re")
+ if($sickness=="poverty")
+ echo "(poverty A <)";
+ else
+ echo "(poverty A >)";
+ else
+ if($sickness=="poverty")
+ echo "(poverty B <)";
+ else
+ echo "(poverty B >)";
+
+ if($GT=="wedding" && $party=="re")
+ if($sickness=="wedding")
+ echo "(wedding +)";
+ else
+ echo "(wedding)";
+ /* add point calls */
+ if($call!=NULL)
+ echo " $party $call ";
+
+ echo "<br />\n";
echo " local time: ".date("Y-m-d H:i:s")."\n";
echo " </span>\n";
$r = mysql_fetch_array($result,MYSQL_NUM);
$handcardid = $r[0];
- if($handcardid)
+ if($handcardid) /* everything ok, play card */
{
$comment = "";
/* update Game timestamp */
DB_update_game_timestamp($gameid);
+ /* check if a call was made */
+ if(myisset("call120") && $_REQUEST["call120"] == "yes")
+ $result = mysql_query("UPDATE Hand SET point_call='120' WHERE hash='$me' ");
+ if(myisset("call90") && $_REQUEST["call90"] == "yes")
+ $result = mysql_query("UPDATE Hand SET point_call='90' WHERE hash='$me' ");
+ if(myisset("call60") && $_REQUEST["call60"] == "yes")
+ $result = mysql_query("UPDATE Hand SET point_call='60' WHERE hash='$me' ");
+ if(myisset("call30") && $_REQUEST["call30"] == "yes")
+ $result = mysql_query("UPDATE Hand SET point_call='30' WHERE hash='$me' ");
+ if(myisset("call0") && $_REQUEST["call0"] == "yes")
+ $result = mysql_query("UPDATE Hand SET point_call='0' WHERE hash='$me' ");
+
+
/* check for schweinchen */
//echo "schweinchen = ".$GAME["schweinchen"]." --$card-<br />";
if($card == 19 || $card == 20 )
$comment="Schweinchen! ";
if($RULES["schweinchen"]=="both" )
$comment="Schweinchen! ";
- echo "schweinchen = ".$GAME["schweinchen"]." ---<br />";
+ if ($debug) echo "schweinchen = ".$GAME["schweinchen"]." ---<br />";
}
/* get trick id or start new trick */
$a = DB_get_current_trickid($gameid);
$trickid = $a[0];
$sequence = $a[1];
+ $tricknr = $a[2];
$playid = DB_play_card($trickid,$handcardid,$sequence);
+ /* if sequence == 4 check who one in case of wedding */
+ if($sequence == 4 && $GT == "wedding")
+ {
+ /* is wedding resolve */
+ $resolved = DB_get_sickness_by_gameid($gameid);
+ if($resolved<0)
+ {
+ /* who has wedding */
+ $userids = DB_get_all_userid_by_gameid($gameid);
+ foreach($userids as $user)
+ {
+ $usersick = DB_get_sickness_by_userid_and_gameid($user,$gameid);
+ if($usersick == "wedding")
+ $whosick = $user;
+ }
+ /* who won the trick */
+ $play = DB_get_cards_by_trick($trickid);
+ $winner = get_winner($play,$gametype); /* returns the position */
+ $winnerid = DB_get_userid_by_gameid_and_position($gameid,$winner);
+ /* is tricknr <=3 */
+ if($tricknr <=3 && $winnerid!=$whosick)
+ {
+ /* set resolved at tricknr*/
+ $resolved = DB_set_sickness_by_gameid($gameid,$tricknr);
+ /* set partner */
+ $whash = DB_get_hash_from_gameid_and_userid($gameid,$winnerid);
+ DB_set_party_by_hash($whash,"re");
+ }
+ if($tricknr == 3 && $winnerid==$whosick)
+ {
+ /* set resolved at tricknr*/
+ $resolved = DB_set_sickness_by_gameid($gameid,'3');
+ }
+ }
+ }
+
/* check for coment */
if(myisset("comment"))
{
$message = "It's your turn now.\n".
"Use this link to play a card: ".$host."?me=".$next_hash."\n\n" ;
- mymail($email,$EmailName."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";
-
+ mymail($email,$EmailName."a card has been played",$message);
}
}
else
display_link_card($card,$PREF["cardset"]);
}
+ if( can_call(120,$me) )
+ echo " re/contra (120):".
+ " <input type=\"radio\" name=\"call120\" value=\"yes\" /> ";
+ if( can_call(90,$me) )
+ echo " 90:".
+ " <input type=\"radio\" name=\"call90\" value=\"yes\" /> ";
+ if( can_call(60,$me) )
+ echo " 60:".
+ " <input type=\"radio\" name=\"call60\" value=\"yes\" /> ";
+ if( can_call(30,$me) )
+ echo " 30:".
+ " <input type=\"radio\" name=\"call30\" value=\"yes\" /> ";
+ if( can_call(0,$me) )
+ echo " 0:".
+ " <input type=\"radio\" name=\"call0\" value=\"yes\" /> ";
+
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";