X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=index.php;h=e25b7208f570bb20c2b645c4f3774a14802c0561;hp=c849f69c4cbb068a3bc2297f9650ae83b8fb1012;hb=68e916d4e488f110dcdab69d7827e8b2f4129cd4;hpb=808d4266534f00dcec0733dc64fe92133c31122d
diff --git a/index.php b/index.php
index c849f69..e25b720 100644
--- a/index.php
+++ b/index.php
@@ -1,26 +1,28 @@
\n";
- echo "perhaps the game has been cancled.";
+ echo "perhaps the game has been cancled, check by login in here.";
exit();
}
@@ -133,6 +134,7 @@ else if(isset($_REQUEST["me"]))
$gameid = DB_get_gameid_by_hash($me);
$myname = DB_get_name_by_hash($me);
$mystatus = DB_get_status_by_hash($me);
+ $mypos = DB_get_pos_by_hash($me);
switch($mystatus)
{
@@ -141,7 +143,7 @@ else if(isset($_REQUEST["me"]))
DB_set_hand_status_by_hash($me,'init');
break;
case 'init':
- if( !isset($_REQUEST["in"]) || !isset($_REQUEST["update"]))
+ if( !myisset("in","update") )
{
DB_set_hand_status_by_hash($me,'start');
echo "you need to answer both question";
@@ -183,27 +185,41 @@ else if(isset($_REQUEST["me"]))
break;
case 'check':
- echo "no checking at the moment... you need to play a normal game. At the moment you need to reload this page to finish the setup.";
- if(!isset($_REQUEST["solo"]) ||
- !isset($_REQUEST["wedding"]) ||
- !isset($_REQUEST["poverty"]) ||
- !isset($_REQUEST["nines"]) )
+ echo "checking for solo...
".
+ " 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...
".
+ " At the moment you need to reload this page to finish the setup.
";
+ if(!myisset("solo","wedding","poverty","nines") )
{
- DB_set_hand_status_by_hash($me,'init');
- /* problem: by setting it back to init, variables "in" and "update" are
- * not set, so the player will be send back to the start, after seeing his hand
- */
- echo "you need to fill out the form";
+ /* all these variables have a pre-selected default,
+ * so we should never get here,
+ * unless a user tries to cheat ;) */
+ echo "something went wrong...please contact the admin.";
}
else
{
+ /* check if this sickness needs to be handled first */
+ $gametype = DB_get_gametype_by_gameid($gameid);
+ $startplayer = DB_get_startplayer_by_gameid($gameid);
+
if( $_REQUEST["solo"]!="No")
{
DB_set_solo_by_hash($me,$_REQUEST["solo"]);
DB_set_sickness_by_hash($me,"solo");
+ echo "
Seems like you want to play a ".$_REQUEST["solo"]." solo. Got it.
\n";
+
+ if($gametype == "solo" && $startplayer<$mypos)
+ {}/* do nothing */
+ else
+ {
+ DB_set_gametype_by_gameid($gameid,"solo");
+ DB_set_startplayer_by_gameid($gameid,$mypos);
+ DB_set_solo_by_gameid($gameid,$_REQUEST["solo"]);
+ };
}
else if($_REQUEST["wedding"] == "yes")
{
+ /* TODO: add silent solo somewhere*/
echo "wedding was chosen
\n";
DB_set_sickness_by_hash($me,"wedding");
}
@@ -218,36 +234,64 @@ else if(isset($_REQUEST["me"]))
DB_set_sickness_by_hash($me,"nines");
}
}
+
DB_set_hand_status_by_hash($me,'poverty');
-
+
/* check all players and set game to final result, e.g. solo, wedding, povert, redeal */
-
- /* reset solo, etc from players who did say something, but it didn't matter? */
+
break;
case 'poverty':
- /* here we need to check if there is a solo or some other form o sickness.
+ /* here we need to check if there is a solo or some other form of sickness.
* If so, which one counts
* 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 "
poverty not handeled at the moment... you need to play a normal game
".
+ "reload this page to finish the setup
";
/* only set this after all poverty, etc. are handeled*/
DB_set_hand_status_by_hash($me,'play');
/* check if the game can start */
$userids = DB_get_all_userid_by_gameid($gameid);
- $done=1;
+ $ok=1;
foreach($userids as $user)
- if(DB_get_hand_status_by_userid($user)!='play')
- $done=0;
-
- if($done)
- DB_set_game_status_by_gameid($gameid,'play');
+ if(DB_get_hand_status_by_userid_and_gameid($user,$gameid)!='play')
+ $ok=0;
+ if($ok)
+ {
+ /* TODO: check what kind of game we are playing */
+ DB_set_game_status_by_gameid($gameid,'play');
+ }
+
break;
case 'play':
- case 'gameover': /*both entries here, so that the tricks are visible for both in case of 'play' there is a break later that skips the last part*/
+ case 'gameover':
+ /* both entries here, so that the tricks are visible for both.
+ * in case of 'play' there is a break later that skips the last part
+ */
+
+ /* figure out what kind of game we are playing,
+ * set the global variables $TRUMP,$DIAMONDS,$HEARTS,$CLUBS,$SPADES
+ * accordingly
+ */
+
+ $gametype = DB_get_gametype_by_gameid($gameid);
+ $GT = $gametype;
+ if($gametype=="solo")
+ {
+ $gametype = DB_get_solo_by_gameid($gameid);
+ $GT = $gametype." ".$GT;
+ }
+ else
+ $gametype="normal";
+
+ set_gametype($gametype);
+
+
+ /* display useful things in divs */
+
/* display local time */
echo "
$name | ".date("Y-m-d H:i:s")." |
and these are your games that are already done:
\n";
+ $result = mysql_query("SELECT hash,game_id from Hand WHERE user_id='$uid' AND status='gameover'" );
+ while( $r = mysql_fetch_array($result,MYSQL_NUM))
+ echo "game #".$r[1]."
";
+ echo "
registered players:
\n";
foreach ($names as $name)
echo "$name
\n";
echo "
Want to start a new game? remember 4 names from the list above and visit ". "this page.
"; } @@ -586,42 +717,12 @@ else if(isset($_REQUEST["me"])) exit(); } /* page for registration */ -else if(isset($_REQUEST["register"]) ) +else if(myisset("register") ) { - echo "IMPORTANT: passwords are going over the net as clear text, so pick an easy password. No need to pick anything complicated here ;)