From: arun Date: Fri, 12 Jan 2007 15:21:14 +0000 (+0000) Subject: added some checks for poverty and wedding, but only nines are handled correctly from... X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=commitdiff_plain;h=1609d836dc4157e318707b6a5a859f42b527b0cf;hp=b8227ddb12516d5bdb0db8a3ec46083b02caee79 added some checks for poverty and wedding, but only nines are handled correctly from now on --- diff --git a/db.php b/db.php index 88be2a3..45f5eff 100644 --- a/db.php +++ b/db.php @@ -236,6 +236,18 @@ function DB_get_hand_status_by_userid_and_gameid($uid,$gid) return 0; } +function DB_get_sickness_by_userid_and_gameid($uid,$gid) +{ + $result = mysql_query("SELECT sickness FROM Hand WHERE user_id=".DB_quote_smart($uid). + " AND game_id=".DB_quote_smart($gid)); + $r = mysql_fetch_array($result,MYSQL_NUM); + + if($r) + return $r[0]; + else + return 0; +} + function DB_get_gameid_by_hash($hash) { $result = mysql_query("SELECT game_id FROM Hand WHERE hash=".DB_quote_smart($hash)); diff --git a/index.php b/index.php index 36b59ef..5bc9e45 100644 --- a/index.php +++ b/index.php @@ -159,7 +159,7 @@ else if(myisset("me")) foreach($userids as $user) { $To = DB_get_email_by_userid($user); - mymail($To,"[DoKo] game over",$message); + mymail($To,"[DoKo] game cancled",$message); } /* delete everything from the dB */ @@ -186,9 +186,9 @@ else if(myisset("me")) break; case 'check': - echo "checking for solo...
". + echo "checking if you selected solo or nines...
". " if you have a wedding, please send an email to the other players.
". - " if you have poverty you need to play a normal game,sorry...
". + " if you have poverty you need to play a normal game,sorry...
". " At the moment you need to reload this page to finish the setup.
"; if(!myisset("solo","wedding","poverty","nines") ) { @@ -213,6 +213,7 @@ else if(myisset("me")) {}/* do nothing */ else { + /* this solo comes first */ DB_set_gametype_by_gameid($gameid,"solo"); DB_set_startplayer_by_gameid($gameid,$mypos); DB_set_solo_by_gameid($gameid,$_REQUEST["solo"]); @@ -247,7 +248,7 @@ else if(myisset("me")) * set that one in the Game table, delete other ones form Hand table * tell people about it. */ - echo "
poverty not handeled at the moment... you need to play a normal game
". + echo "
checking if someone else selected solo or nines... wedding and poverty not handled at the moment
". "reload this page to finish the setup
"; /* only set this after all poverty, etc. are handeled*/ @@ -262,8 +263,71 @@ else if(myisset("me")) if($ok) { - /* TODO: check what kind of game we are playing */ DB_set_game_status_by_gameid($gameid,'play'); + + /* check what kind of game we are playing */ + $gametype = DB_get_gametype_by_gameid($gameid); + $startplayer = DB_get_startplayer_by_gameid($gameid); + + /* nines? */ + $nines = 0; + /* check for nines */ + foreach($userids as $user) + { + if(DB_get_sickness_by_userid_and_gameid($user,$gameid) == 'nines') + $nines = 1; + } + + /* gamestatus == normal, => cancel game */ + if($nines && $gamestatus == "normal") + { + /* TODO: set game type to nines to be able to keep statistics */ + + $message = "Hello, \n\n". + "the game has been cancled becausee someone has five or more nines.\n"; + + $userids = DB_get_all_userid_by_gameid($gameid); + foreach($userids as $user) + { + $To = DB_get_email_by_userid($user); + mymail($To,"[DoKo] game cancled",$message); + } + + /* delete everything from the dB */ + DB_cancel_game($me); + + } + + /* poverty? */ + $poverty = 0; + + /* check players for poverty */ + foreach($userids as $user) + { + if(DB_get_sickness_by_userid_and_gameid($user,$gameid) == 'poverty') + { + $poverty++; + $name = DB_get_name_by_userid($user); + echo "$name has a Vorbehalt.
"; + } + } + /* if gamestatus == normal, set poverty or dpovert (in case two people have poverty) */ + + /* wedding? */ + $wedding = 0; + /* check players for wedding */ + foreach($userids as $user) + { + if(DB_get_sickness_by_userid_and_gameid($user,$gameid) == 'wedding') + { + $wedding++; + $name = DB_get_name_by_userid($user); + echo "$name has a Vorbehalt.
" ; + } + } + + /* if gamestatus == normal, set wedding */ + } break; @@ -290,7 +354,9 @@ else if(myisset("me")) set_gametype($gametype); - + /* get some infos about the game */ + $gamestatus = DB_get_game_status_by_gameid($gameid); + /* display useful things in divs */ /* display local time */ @@ -308,7 +374,8 @@ else if(myisset("me")) }; echo "\n\n"; - display_status($GT); + if($gamestatus != 'pre') + display_status($GT); /* display links to the users status page */ $result = mysql_query("SELECT email,password from User WHERE id='$myid'" ); @@ -320,7 +387,6 @@ else if(myisset("me")) /* end display useful things*/ /* has the game started? No, then just wait here...*/ - $gamestatus = DB_get_game_status_by_gameid($gameid); if($gamestatus == 'pre') { echo "you need to wait for the others...
"; @@ -360,8 +426,6 @@ else if(myisset("me")) "LEFT JOIN Comment ON Play.id=Comment.play_id ". "WHERE Trick.game_id='".$gameid."' ". "ORDER BY Trick.id,sequence ASC"); - - $trickNR = 1; $lasttrick = DB_get_max_trickid($gameid); @@ -607,7 +671,7 @@ else if(myisset("me")) echo "Your cards are:
\n"; echo "
\n"; - /* do we have to follow suit? */ + /* do we have to follow suite? */ $followsuit = 0; if(have_suit($mycards,$firstcard)) $followsuit = 1;