From e923da994ca9e050fc404f267f10d0fff1fb080a Mon Sep 17 00:00:00 2001 From: arun Date: Sat, 18 Nov 2006 10:28:02 +0000 Subject: [PATCH 1/1] a complete game, including counting points is now possible, still need to add the emailing part, a hashfunction and the handeling of sickness and remove lots of debugging info --- index.php | 322 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 260 insertions(+), 62 deletions(-) diff --git a/index.php b/index.php index 05dc42f..0be1deb 100644 --- a/index.php +++ b/index.php @@ -12,6 +12,163 @@ "; + return 0; + } +} + function display_card($card) { if( $card/2 - (int)($card/2) == 0.5) @@ -53,6 +210,7 @@ function save_status() fwrite($output,"".$player[$key]["name"].":" ); fwrite($output,"".$player[$key]["email"].":" ); fwrite($output,"".$player[$key]["option"].":" ); + fwrite($output,"".$player[$key]["points"].":" ); fwrite($output,"".$player[$key]["cards"] .":"); fwrite($output,"\n"); } @@ -117,25 +275,25 @@ if( isset($_REQUEST["PlayerA"]) && $output = fopen("status.txt","w"); if ($output) { - fwrite($output, "hash1:".$PlayerA.":".$EmailA."::" ); + fwrite($output, "hash1:$PlayerA:$EmailA:::" ); for($i=0;$i<11;$i++) fwrite($output,"$randomNR[$i];" ); fwrite($output,"$randomNR[11]:" ); $i++; fwrite($output,"\n"); - fwrite($output, "hash2:$PlayerB:$EmailB::" ); + fwrite($output, "hash2:$PlayerB:$EmailB:::" ); for(;$i<23;$i++) fwrite($output,"$randomNR[$i];" ); fwrite($output,"$randomNR[23]:" ); $i++; fwrite($output,"\n"); - fwrite($output, "hash3:$PlayerC:$EmailC::" ); + fwrite($output, "hash3:$PlayerC:$EmailC:::" ); for(;$i<35;$i++) fwrite($output,"$randomNR[$i];" ); fwrite($output,"$randomNR[35]:" ); $i++; fwrite($output,"\n"); - fwrite($output, "hash4:$PlayerD:$EmailD::"); + fwrite($output, "hash4:$PlayerD:$EmailD:::"); for(;$i<47;$i++) fwrite($output,"$randomNR[$i];" ); fwrite($output,"$randomNR[47]:" ); @@ -180,7 +338,8 @@ if(sizeof($lines)<2) $player[$tmp[0]]["name"] = $tmp[1]; $player[$tmp[0]]["email"] = $tmp[2]; $player[$tmp[0]]["option"] = $tmp[3]; - $player[$tmp[0]]["cards"] = $tmp[4]; + $player[$tmp[0]]["points"] = $tmp[4]; + $player[$tmp[0]]["cards"] = $tmp[5]; if(ereg("s",$tmp[3])) $game["init"]++; $tmp = explode( ":",$lines[1]); @@ -189,8 +348,9 @@ if(sizeof($lines)<2) $player[$tmp[0]]["hash"] = $tmp[0]; $player[$tmp[0]]["name"] = $tmp[1]; $player[$tmp[0]]["email"] = $tmp[2]; - $player[$tmp[0]]["option"] = $tmp[3]; - $player[$tmp[0]]["cards"] = $tmp[4]; + $player[$tmp[0]]["option"] = $tmp[3]; + $player[$tmp[0]]["points"] = $tmp[4]; + $player[$tmp[0]]["cards"] = $tmp[5]; if(ereg("s",$tmp[3])) $game["init"]++; $tmp = explode( ":",$lines[2]); @@ -200,7 +360,8 @@ if(sizeof($lines)<2) $player[$tmp[0]]["name"] = $tmp[1]; $player[$tmp[0]]["email"] = $tmp[2]; $player[$tmp[0]]["option"] = $tmp[3]; - $player[$tmp[0]]["cards"] = $tmp[4]; + $player[$tmp[0]]["points"] = $tmp[4]; + $player[$tmp[0]]["cards"] = $tmp[5]; if(ereg("s",$tmp[3])) $game["init"]++; $tmp = explode( ":",$lines[3]); @@ -210,7 +371,8 @@ if(sizeof($lines)<2) $player[$tmp[0]]["name"] = $tmp[1]; $player[$tmp[0]]["email"] = $tmp[2]; $player[$tmp[0]]["option"] = $tmp[3]; - $player[$tmp[0]]["cards"] = $tmp[4]; + $player[$tmp[0]]["points"] = $tmp[4]; + $player[$tmp[0]]["cards"] = $tmp[5]; if(ereg("s",$tmp[3])) $game["init"]++; /* save the game history */ @@ -282,23 +444,39 @@ if(sizeof($lines)<2) } else { /* show the hand */ - if($_REQUEST["update"]=="card") $player[$b]["option"].="c"; - if($_REQUEST["update"]=="turn") $player[$b]["option"].="t"; - - $player[$b]["option"].="i"; - - save_status(); - - $allcards = $player[$b]["cards"]; - $mycards = explode(";",$allcards); - - sort($mycards); - echo "your cards are
"; - foreach($mycards as $card) + if($_REQUEST["in"]=="no") { - display_card($card); + for($i=0;$i<4;$i++) + { + echo "Hello ".$player[$hash[$i]]["name"].",\n"; + echo "\n"; + echo "the game has been cancled due to the request of one of the players.\n"; + } + $output = fopen("status.txt","w"); + if($output) + fclose($output); + else + echo "problem opening file"; } - echo "
\n"; + else + { + if($_REQUEST["update"]=="card") $player[$b]["option"].="c"; + if($_REQUEST["update"]=="turn") $player[$b]["option"].="t"; + + $player[$b]["option"].="i"; + + save_status(); + + $allcards = $player[$b]["cards"]; + $mycards = explode(";",$allcards); + + sort($mycards); + echo "your cards are
"; + foreach($mycards as $card) + { + display_card($card); + } + echo "
\n"; ?>
@@ -315,10 +493,11 @@ if(sizeof($lines)<2) no
\n"; - echo "\n"; - - echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + } } } if(isset($_REQUEST["c"])) @@ -390,28 +569,19 @@ if(sizeof($lines)<2) if($hash[$next]==$me) { $card=$_REQUEST["card"]; - echo "EMAIL: you played $card "; $mycards = explode(";",$player[$me]["cards"]); if(in_array($card,$mycards)) { $tmp=array(); - echo "
"; foreach($mycards as $m) - { - if($m!=$card) - { - $tmp[]=$m; - echo "adding card $m
"; - } - } + if($m!=$card) + $tmp[]=$m; $tmp2=""; for($i=0;$i"; } $tmp2.=$tmp[$i]; - echo "adding card $tmp2 at $i *
"; $player[$me]["cards"]=$tmp2; if($last<0) @@ -425,8 +595,28 @@ if(sizeof($lines)<2) $history[sizeof($history)-1]=join(":",$tmp); } save_status(); - + + echo " you played "; display_card($card); + /* send out email to players who want/need to get informed */ + for($i=0;$i<4;$i++) + { + $mynext=$next+1; if($mynext>3)$mynext-=4; + if((ereg("c",$player[$hash[$i]]["option"]) || $i==$mynext) && $hash[$i]!=$me) + { + echo "
** $next** \n Hello ".$player[$hash[$i]]["name"].",\n"; + echo "\n"; + if($i==$mynext) + echo "it's your turn now.\n"; + echo $player[$me]["name"]. "has played the following card ".card_to_name($card)."\n"; + + echo " player 1
"; + echo " player 2
"; + echo " player 3
"; + echo " player 4
"; + + } + } } else echo "seems like you don't have that card
"; @@ -438,7 +628,19 @@ if(sizeof($lines)<2) { $win=$_REQUEST["win"]; $history[]=$win.":\n"; - echo "juhu someone won:$win
"; + /* count points of the last trick */ + $points=0; + echo "
".$history[sizeof($history)-2]."is the last trick played
"; + $tmp = explode(":",$history[sizeof($history)-2]); + for($i=0;$i<4;$i++) + { + $tmp2 = explode("->",$tmp[$i]); + $c = $tmp2[1]; + $points += card_value($c); + echo "adding card value ".card_value($c)."
"; + } + $player[$hash[$win]]["points"]+=$points; + echo "
".$player[$hash[$win]]["name"]." won: $points Points
"; save_status(); } @@ -446,19 +648,16 @@ if(sizeof($lines)<2) $tmp = explode(":",$history[sizeof($history)-1]); - echo sizeof($tmp)." tmp ;;".strlen($tmp[0])." len tmp0
"; - if(sizeof($tmp)==5) { ?>
- - player1 - player2 - player3 - player4 - +"; + echo ""; +?>
@@ -470,12 +669,20 @@ if(sizeof($lines)<2) { $next=$tmp[0]; echo "found the start of a new trick at $next
"; + if(strlen(trim($player[$me]["cards"]))==0) + { + echo "
game over, count points
"; + for($i=0;$i>4;$i++) + { + echo $player[$hash[$i]]["name"]." got ".$player[$hash[$i]]["points"]."
"; + } + } } - if($hash[$next]==$me) + if($hash[$next]==$me && strlen(trim($player[$me]["cards"]))>0 ) { echo "ITS YOUR TURN
"; - $allcards = $player[$me]["cards"]; + $allcards = trim($player[$me]["cards"]); $mycards = explode(";",$allcards); sort($mycards); @@ -492,17 +699,8 @@ if(sizeof($lines)<2) } } - } /* is this the last player that needs to accept? */ - /* yes, figure out who starts, send out email to first player */ - /* no, email the rest to cancel game */ - -/* player wants to make a move? */ - /* check if it is this players turn it is (if it's the players turn, convert cards into links) */ - /* if it is the last card played*/ - /* add checkbox for who one the trick */ - /* email next player */ - /* last card played? */ - /* count score for each player */ + } + ?> -- 2.25.1