X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fgame.php;h=3c1b68e6bf758f061023c8c8bc9da1bfedce31eb;hp=3ed94973ab4ede24e6e4a8437cf1ae84e5a026d7;hb=ca3071da712685fd941f97d3610bad8635bf9c5c;hpb=d26d08d532e38dcd42a159cfd295b0f87d82d9a2 diff --git a/include/game.php b/include/game.php index 3ed9497..3c1b68e 100644 --- a/include/game.php +++ b/include/game.php @@ -126,8 +126,41 @@ if(myisset('call') && $_REQUEST['call'] == '0' && can_call(0,$me)) if($session) { echo "
\n"; - echo "
Rules (+icons for rules) \n"; - echo "
\n"; + echo "
Rules: "; + switch($RULES['dullen']) + { + case 'none': + echo "\"not\n"; break; + case 'firstwins': + echo "\"ten\n"; break; + case 'secondwins': + echo "\"second\n"; break; + } + switch($RULES['schweinchen']) + { + case 'none': + echo "\"no\n"; break; + case 'both': + echo "\"two\n"; break; + case 'second': + echo "\"second\n"; break; + case 'secondaftercall': + echo "\"second\n"; break; + } + switch($RULES['call']) + { + case '1st-own-card': + echo "\"1st-own-card\"\n"; break; + case '5th-card': + echo "\"5th-card\"\n"; break; + case '9-cards': + echo "\"9-cards\"\n"; break; + } + echo "
\n"; echo " 10ofhearts : {$RULES['dullen']}
\n"; echo " schweinchen: {$RULES['schweinchen']}
\n"; echo " call: {$RULES['call']}
\n"; @@ -264,7 +297,7 @@ switch($mystatus) $userstatus = DB_get_hand_status_by_userid_and_gameid($userid,$gameid); if($userstatus=='start' || $userstatus=='init') - echo "
still needs to decide
\n"; /* show this to everyone */ + echo "
still needs
to decide
\n"; /* show this to everyone */ else if($usersick!=NULL && $pos<=$mypos ) /* only show this for people sitting before the player */ echo "
sick
\n"; @@ -381,7 +414,7 @@ switch($mystatus) $userstatus = DB_get_hand_status_by_userid_and_gameid($userid,$gameid); if($userstatus=='start' || $userstatus=='init') - echo "
still needs to decide
\n"; /* show this to everyone */ + echo "
still needs
to decide
\n"; /* show this to everyone */ else if($usersick!=NULL) /* in the init-phase we only showed players with $pos<$mypos, now we can show all */ echo "
sick
\n"; @@ -693,6 +726,7 @@ switch($mystatus) { $result = DB_query("UPDATE Hand_Card SET hand_id='$partnerhand'". " WHERE hand_id='$myhand' AND card_id=".DB_quote_smart($exchange)); + DB_add_exchanged_card(DB_quote_smart($exchange),$myhand,$partnerhand); }; } @@ -831,7 +865,7 @@ switch($mystatus) DB_set_hand_status_by_hash($userhash,'poverty'); $message = "Someone has poverty, it's your turn to decide, if you want to take the trump. Please visit:". - " ".$HOST.$INDEX."?action=game&me=".$userhash."\n\n" ; + " ".$HOST.$INDEX."?action=game&me=".$userhash."\n\n" ; mymail($To,$EmailName." poverty (game ".DB_format_gameid($gameid).")",$message); } } @@ -844,6 +878,12 @@ switch($mystatus) $userhand = DB_get_handid('gameid-userid',$gameid,$trump); $userhash = DB_get_hash_from_gameid_and_userid($gameid,$trump); + /* remember which cards were handed over*/ + $partnerhand = DB_get_all_hand($userhash); + foreach ($partnerhand as $card) + if($card<27) + DB_add_exchanged_card($card,$userhand,$myhand); + /* copy trump from player A to B */ $result = DB_query("UPDATE Hand_Card SET hand_id='$myhand' WHERE hand_id='$userhand' AND card_id<'27'" ); @@ -1067,15 +1107,87 @@ switch($mystatus) { echo "
  • Pre\n". "
    \n"; + /* get information so show the cards that have been handed over in a poverty game */ + $partnerpos1 = 0; + $povertypos1 = 0; + $partnerpos2 = 0; + $povertypos2 = 0; + if($mygametype == 'poverty' || $mygametype=='dpoverty') + { + /* who has poverty */ + for($mypos=1;$mypos<5;$mypos++) + { + $usersick = DB_get_sickness_by_pos_and_gameid($mypos,$gameid); + if($usersick == 'poverty') + if($povertypos1) + $povertypos2 = $mypos; + else + $povertypos1 = $mypos; + } + /* get hash and cards for all */ + $povertyhash1 = DB_get_hash_from_game_and_pos($gameid,$povertypos1); + $partnerhash1 = DB_get_partner_hash_by_hash($povertyhash1); + + $povertycards1 = DB_get_exchanged_cards($povertyhash1); + $partnercards1 = DB_get_exchanged_cards($partnerhash1); + + $partnerpos1 = DB_get_pos_by_hash($partnerhash1); + if($povertypos2) + { + $povertyhash2 = DB_get_hash_from_game_and_pos($gameid,$povertypos2); + $partnerhash2 = DB_get_partner_hash_by_hash($povertyhash2); + + $povertycards2 = DB_get_exchanged_cards($povertyhash2); + $partnercards2 = DB_get_exchanged_cards($partnerhash2); + + $partnerpos2 = DB_get_pos_by_hash($partnerhash2); + } + } + $show = 1; for($mypos=1;$mypos<5;$mypos++) { $usersick = DB_get_sickness_by_pos_and_gameid($mypos,$gameid); - if($usersick!=NULL) + if($usersick!=NULL || + $mypos==$povertypos1 || $mypos==$partnerpos1 || + $mypos==$povertypos2 || $mypos==$partnerpos2 ) { echo "
    Vorbehalt
    "; if($show) echo " $usersick
    "; + if($mypos==$partnerpos1) + { + foreach($partnercards1 as $card) + if($povertyhash1 == $me || $partnerhash1 == $me || $mystatus=='gameover') + display_card($card,$PREF['cardset']); + else + display_card(0,$PREF['cardset']); + } + else if($mypos==$povertypos1) + { + foreach($povertycards1 as $card) + if($povertyhash1 == $me || $partnerhash1 == $me || $mystatus=='gameover') + display_card($card,$PREF['cardset']); + else + display_card(0,$PREF['cardset']); + } + else if($mypos==$povertypos2) + { + foreach($povertycards2 as $card) + if($povertyhash2 == $me || $partnerhash2 == $me || $mystatus=='gameover') + display_card($card,$PREF['cardset']); + else + display_card(0,$PREF['cardset']); + } + else if($mypos==$partnerpos2) + { + foreach($partnercards2 as $card) + if($povertyhash2 == $me || $partnerhash2 == $me || $mystatus=='gameover') + display_card($card,$PREF['cardset']); + else + display_card(0,$PREF['cardset']); + } + echo "
    \n"; if($mygametype == $usersick) @@ -1478,7 +1590,7 @@ switch($mystatus) { if($call_contra==NULL) $call_contra = $call; - else if( $call < $call_re) + else if( $call < $call_contra) $call_contra = $call; } } @@ -1696,6 +1808,42 @@ switch($mystatus) "
    ".$r[2]."
    ".$r[1]."
    \n". "
    \n"; + /* display totals */ + $result = DB_query("SELECT Hand.party, IFNULL(SUM(Card.points),0) FROM Hand". + " LEFT JOIN Trick ON Trick.winner=Hand.position AND Trick.game_id=Hand.game_id". + " LEFT JOIN User ON User.id=Hand.user_id". + " LEFT JOIN Play ON Trick.id=Play.trick_id". + " LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id". + " LEFT JOIN Card ON Card.id=Hand_Card.card_id". + " WHERE Hand.game_id='$gameid'". + " GROUP BY Hand.party" ); + echo "
    \n Totals:
    \n"; + while( $r = DB_fetch_array($result)) + echo " ".$r[0]." ".$r[1]."
    \n"; + + $queryresult = DB_query("SELECT timediff(mod_date,create_date) ". + " FROM Game WHERE id='$gameid'"); + $r = DB_fetch_array($queryresult); + echo "

    This game took ".$r[0]." hours.

    \n"; + + echo "
    \n Points Re:
    \n"; + $queryresult = DB_query("SELECT score FROM Score ". + " WHERE game_id=$gameid AND party='re'". + " "); + while($r = DB_fetch_array($queryresult) ) + echo " ".$r[0]."
    \n"; + echo "
    \n"; + + echo "
    \n Points Contra:
    \n"; + $queryresult = DB_query("SELECT score FROM Score ". + " WHERE game_id=$gameid AND party='contra'". + " "); + while($r = DB_fetch_array($queryresult) ) + echo " ".$r[0]."
    \n"; + echo "
    \n"; + + echo "
    \n"; + echo "
  • \n \n"; /* end div trick, end li trick */ } @@ -1771,45 +1919,6 @@ switch($mystatus) if(DB_get_game_status_by_gameid($gameid)=='play') { echo "The game is over for you.. other people still need to play though"; - } - else - { - $result = DB_query("SELECT Hand.party, IFNULL(SUM(Card.points),0) FROM Hand". - " LEFT JOIN Trick ON Trick.winner=Hand.position AND Trick.game_id=Hand.game_id". - " LEFT JOIN User ON User.id=Hand.user_id". - " LEFT JOIN Play ON Trick.id=Play.trick_id". - " LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id". - " LEFT JOIN Card ON Card.id=Hand_Card.card_id". - " WHERE Hand.game_id='$gameid'". - " GROUP BY Hand.party" ); - echo "
    Totals:
    \n"; - while( $r = DB_fetch_array($result)) - echo " ".$r[0]." ".$r[1]."
    \n"; - - $queryresult = DB_query("SELECT timediff(mod_date,create_date) ". - " FROM Game WHERE id='$gameid'"); - $r = DB_fetch_array($queryresult); - echo "

    This game took ".$r[0]." hours.

    "; - - echo "
    \n Points Re:
    \n"; - $queryresult = DB_query("SELECT score FROM Score ". - " WHERE game_id=$gameid AND party='re'". - " "); - while($r = DB_fetch_array($queryresult) ) - echo " ".$r[0]."
    \n"; - echo "
    \n"; - - echo "
    \n Points Contra:
    \n"; - $queryresult = DB_query("SELECT score FROM Score ". - " WHERE game_id=$gameid AND party='contra'". - " "); - while($r = DB_fetch_array($queryresult) ) - echo " ".$r[0]."
    \n"; - echo "
    \n"; - - echo "
    \n"; - - } break; default: