X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fgame.php;h=eb66a987157c6bcd98ddbcf57f0ce343e7e7fcca;hp=377d0aa017dba09776f81d21718274fc7c1f8769;hb=8550cac6f9bedbd9219d898f7b3de731bf1cb2b2;hpb=193099c75801f128beb8f3bb9541a3cb70f24002
diff --git a/include/game.php b/include/game.php
index 377d0aa..eb66a98 100644
--- a/include/game.php
+++ b/include/game.php
@@ -1,4 +1,23 @@
+ *
+ * This file is part of e-DoKo.
+ *
+ * e-DoKo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * e-DoKo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with e-DoKo. If not, see
'._('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... '. + 'you will get an email once that is the case, please use the link in '. + 'that email to continue the game.').'
Ok, everyone is done... figuring out what kind of game we are playing.
"; + echo ''._('Ok, everyone is done... figuring out what kind of game we are playing.').'
'; $gametype = DB_get_gametype_by_gameid($gameid); $startplayer = DB_get_startplayer_by_gameid($gameid); /* check for sickness */ - $nines = 0; + $cancel = 0; $poverty = 0; $wedding = 0; $solo = 0; @@ -558,12 +612,13 @@ switch($mystatus) { $name = DB_get_name('userid',$user); $usersick = DB_get_sickness_by_userid_and_gameid($user,$gameid); - if($usersick == 'nines') + if($usersick == 'nines' || ($RULES['lowtrump']=='cancel' && $usersick=='lowtrump') ) { - $nines = $user; + $cancel = $user; + $cancelsick = $usersick; break; /* no need to check for other poverties, since only solo can win and that is already set */ } - else if($usersick == 'poverty') + else if($usersick == 'poverty' || ($RULES['lowtrump']=='poverty' && $usersick=='lowtrump')) $poverty++; else if($usersick == 'wedding') $wedding=$user; @@ -576,29 +631,45 @@ switch($mystatus) { /* do nothing */ } - else if($nines) + else if($cancel) { /* cancel game */ - /* TODO: should we keep statistics of this? */ - $message = "Hello, \n\n". - " the game has been canceled because ".DB_get_name('userid',$nines). - " has five or more nines and nobody is playing solo.\n\n". - " To redeal either start a new game or, in case the game was part of a tournament, \n". - " go to the last game and use the link at the bottom of the page to redeal."; + if($cancelsick == 'nines') + { + $message = "The game has been canceled because ".DB_get_name('userid',$cancel). + " has five or more nines and nobody is playing solo.\n\n". + "To redeal either start a new game or, in case the game was part of a tournament,\n". + "go to the last game and use the link at the bottom of the page to redeal.\n\n"; + + /* update game status */ + cancel_game('nines',$gameid); + + echo "The game has been canceled because ".DB_get_name('userid',$cancel). + " has five or more nines and nobody is playing solo.
\n"; + } + else if ($cancelsick == 'lowtrump') + { + $message = "The game has been canceled because ".DB_get_name('userid',$cancel). + " has low trump and nobody is playing solo.\n\n". + "To redeal either start a new game or, in case the game was part of a tournament,\n". + "go to the last game and use the link at the bottom of the page to redeal.\n\n"; + + /* update game status */ + cancel_game('lowtrump',$gameid); + + echo "The game has been canceled because ".DB_get_name('userid',$cancel). + " has low trump and nobody is playing solo.
\n"; + }; $userids = DB_get_all_userid_by_gameid($gameid); foreach($userids as $user) { - $To = DB_get_email('userid',$user); - mymail($To,"$EmailName game ".DB_format_gameid($gameid)." canceled",$message); + $subject = 'Game '.DB_format_gameid($gameid).' canceled'; + mymail($user,$subject,$message); } - /* delete everything from the dB */ - DB_cancel_game($me); - - echo "The game has been canceled because ".DB_get_name('userid',$nines). - " has five or more nines and nobody is playing solo.\n"; - return; + echo "Got it :)
"; + echo ''._('Got it').' :)
'; /* loop over all players, set re/contra if possible and start the game if possible */ $userids = DB_get_all_userid_by_gameid($gameid); @@ -685,7 +756,7 @@ switch($mystatus) case 'dpoverty': /* set person with poverty to play status */ $usersick = DB_get_sickness_by_userid_and_gameid($userid,$gameid); - if($usersick == 'poverty') + if($usersick == 'poverty' || ($RULES['lowtrump']=='poverty' && $usersick=='lowtrump')) DB_set_hand_status_by_hash($userhash,'play'); /* set status of first player to be asked to poverty */ @@ -720,9 +791,8 @@ switch($mystatus) if($gametype!='poverty' && $gametype!='dpoverty') { $startplayer = DB_get_startplayer_by_gameid($gameid); - $email = DB_get_email('position-gameid',$startplayer,$gameid); $hash = DB_get_hash_from_game_and_pos($gameid,$startplayer); - $who = DB_get_userid('email',$email); + $who = DB_get_userid('hash',$hash); DB_set_player_by_gameid($gameid,$who); if($hash!=$me) @@ -732,11 +802,12 @@ switch($mystatus) /* email startplayer */ $message = "It's your turn now in game ".DB_format_gameid($gameid).".\n". "Use this link to play a card: ".$HOST.$INDEX."?action=game&me=".$hash."\n\n" ; - mymail($email,$EmailName."ready, set, go... (game ".DB_format_gameid($gameid).") ",$message); + $subject = 'Ready, set, go... (game '.DB_format_gameid($gameid).')'; + mymail($who,$subject,$message); } } else - echo " Please, start the game.Game ".DB_format_gameid($gameid)." has been canceled.
See how other played the same hand:
\n";
+ echo "
See how other played the same hand: \n";
foreach($other_game_ids as $id)
{
$otherhash = DB_get_hash_from_game_and_pos($id,$mypos);
$othername = DB_get_name('hash',$otherhash);
- echo "$othername
";
+ echo " $othername ";
}
- echo "