From: arun Date: Fri, 17 Nov 2006 07:51:41 +0000 (+0000) Subject: still missing some checks, but got a lot further X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=commitdiff_plain;h=0e0b8bf81eff8eb4c726135b888aad69637f242b;ds=sidebyside still missing some checks, but got a lot further --- diff --git a/cards/1.png b/cards/1.png new file mode 100644 index 0000000..7355894 Binary files /dev/null and b/cards/1.png differ diff --git a/cards/11.png b/cards/11.png new file mode 100644 index 0000000..d71c2a4 Binary files /dev/null and b/cards/11.png differ diff --git a/cards/13.png b/cards/13.png new file mode 100644 index 0000000..49e638e Binary files /dev/null and b/cards/13.png differ diff --git a/cards/15.png b/cards/15.png new file mode 100644 index 0000000..c086e05 Binary files /dev/null and b/cards/15.png differ diff --git a/cards/17.png b/cards/17.png new file mode 100644 index 0000000..d48c8a3 Binary files /dev/null and b/cards/17.png differ diff --git a/cards/19.png b/cards/19.png new file mode 100644 index 0000000..4106316 Binary files /dev/null and b/cards/19.png differ diff --git a/cards/21.png b/cards/21.png new file mode 100644 index 0000000..845173e Binary files /dev/null and b/cards/21.png differ diff --git a/cards/23.png b/cards/23.png new file mode 100644 index 0000000..eb10ea7 Binary files /dev/null and b/cards/23.png differ diff --git a/cards/25.png b/cards/25.png new file mode 100644 index 0000000..cfaaea1 Binary files /dev/null and b/cards/25.png differ diff --git a/cards/27.png b/cards/27.png new file mode 100644 index 0000000..4e92d56 Binary files /dev/null and b/cards/27.png differ diff --git a/cards/29.png b/cards/29.png new file mode 100644 index 0000000..fc75b01 Binary files /dev/null and b/cards/29.png differ diff --git a/cards/3.png b/cards/3.png new file mode 100644 index 0000000..299783d Binary files /dev/null and b/cards/3.png differ diff --git a/cards/31.png b/cards/31.png new file mode 100644 index 0000000..12c4fd6 Binary files /dev/null and b/cards/31.png differ diff --git a/cards/33.png b/cards/33.png new file mode 100644 index 0000000..cbbb97e Binary files /dev/null and b/cards/33.png differ diff --git a/cards/35.png b/cards/35.png new file mode 100644 index 0000000..be521b3 Binary files /dev/null and b/cards/35.png differ diff --git a/cards/37.png b/cards/37.png new file mode 100644 index 0000000..0615007 Binary files /dev/null and b/cards/37.png differ diff --git a/cards/39.png b/cards/39.png new file mode 100644 index 0000000..dd17cf8 Binary files /dev/null and b/cards/39.png differ diff --git a/cards/41.png b/cards/41.png new file mode 100644 index 0000000..07ca9d9 Binary files /dev/null and b/cards/41.png differ diff --git a/cards/43.png b/cards/43.png new file mode 100644 index 0000000..c18b254 Binary files /dev/null and b/cards/43.png differ diff --git a/cards/45.png b/cards/45.png new file mode 100644 index 0000000..dd02b4f Binary files /dev/null and b/cards/45.png differ diff --git a/cards/47.png b/cards/47.png new file mode 100644 index 0000000..d94e33b Binary files /dev/null and b/cards/47.png differ diff --git a/cards/5.png b/cards/5.png new file mode 100644 index 0000000..ae16775 Binary files /dev/null and b/cards/5.png differ diff --git a/cards/7.png b/cards/7.png new file mode 100644 index 0000000..30f7f00 Binary files /dev/null and b/cards/7.png differ diff --git a/cards/9.png b/cards/9.png new file mode 100644 index 0000000..7df68db Binary files /dev/null and b/cards/9.png differ diff --git a/index.php b/index.php index 90b91ce..cf877cd 100644 --- a/index.php +++ b/index.php @@ -10,11 +10,71 @@

Welcome to E-Doko

"; + else + echo ""; + return; +} + function display_link_card($card,$me) +{ + if( $card/2 - (int)($card/2) == 0.5) + echo ""; + else + echo ""; + return; +} + +function save_status() +{ + global $player,$game,$hash,$history; + + $output = fopen("status.txt","w"); + if ($output) + { + foreach($hash as $key) + { + $tmp=""; + if( ereg("i",$player[$key]["option"]) ) + $tmp.="i"; + if( ereg("s",$player[$key]["option"]) ) + $tmp.="s"; + if( ereg("t",$player[$key]["option"]) ) + $tmp.="t"; + if( ereg("c",$player[$key]["option"]) ) + $tmp.="c"; + $player[$key]["option"]=$tmp; + + fwrite($output,"".$player[$key]["hash"].":" ); + fwrite($output,"".$player[$key]["name"].":" ); + fwrite($output,"".$player[$key]["email"].":" ); + fwrite($output,"".$player[$key]["option"].":" ); + fwrite($output,"".$player[$key]["cards"] .":"); + fwrite($output,"\n"); + } + fwrite($output,"\n"); + foreach($history as $line) + fwrite($output,$line); + + fwrite($output,"\n"); + fclose($output); + } + else + echo "can't open file for writing, please inform the admin."; + + return; +} + + /* check for status file and read it, if possible */ if(file_exists("status.txt")) - $lines = file("status.txt"); -else + $lines = file("status.txt"); + else die("no file"); /* check if we want to start a new game */ @@ -26,66 +86,69 @@ if( isset($_REQUEST["PlayerA"]) && isset($_REQUEST["EmailB"]) && isset($_REQUEST["EmailC"]) && isset($_REQUEST["EmailD"]) ) -{ - $PlayerA = $_REQUEST["PlayerA"]; - $PlayerB = $_REQUEST["PlayerB"]; - $PlayerC = $_REQUEST["PlayerC"]; - $PlayerD = $_REQUEST["PlayerD"]; - $EmailA = $_REQUEST["EmailA"] ; - $EmailB = $_REQUEST["EmailB"] ; - $EmailC = $_REQUEST["EmailC"] ; - $EmailD = $_REQUEST["EmailD"] ; - - /* send out email, check for error with email */ + { + $PlayerA = $_REQUEST["PlayerA"]; + $PlayerB = $_REQUEST["PlayerB"]; + $PlayerC = $_REQUEST["PlayerC"]; + $PlayerD = $_REQUEST["PlayerD"]; + $EmailA = $_REQUEST["EmailA"] ; + $EmailB = $_REQUEST["EmailB"] ; + $EmailC = $_REQUEST["EmailC"] ; + $EmailD = $_REQUEST["EmailD"] ; + + /* send out email, check for error with email */ echo "send out emails to everyone, asking if they want to join"; echo "use link
"; echo " player 1
"; echo " player 2
"; echo " player 3
"; echo " player 4
"; - /* read in random.txt */ - if(file_exists("random.txt")) - $random = file("random.txt"); - else - die("no random file"); + + /* read in random.txt */ + if(file_exists("random.txt")) + $random = file("random.txt"); + else + die("no random file"); - $randomNR = explode( ":", $random[1] ); - - /* write status into file */ - $output = fopen("status.txt","w"); - if ($output) - { - fwrite($output, "0\n"); - - fwrite($output, "hash1:".$PlayerA.":".$EmailA."::" ); - for($i=0;$i<12;$i++) - fwrite($output,";$randomNR[$i]" ); - fwrite($output,"\n"); - - fwrite($output, "hash2:$PlayerB:$EmailB::" ); - for(;$i<24;$i++) - fwrite($output,";$randomNR[$i]" ); - fwrite($output,"\n"); - - fwrite($output, "hash3:$PlayerC:$EmailC::" ); - for(;$i<36;$i++) - fwrite($output,";$randomNR[$i]" ); - fwrite($output,"\n"); - - fwrite($output, "hash4:$PlayerD:$EmailD::"); - for(;$i<48;$i++) - fwrite($output,";$randomNR[$i]" ); - fwrite($output,"\n"); - - fclose($output); - } - else - echo "can't open file for writing"; -}; + $randomNR = explode( ":", $random[1] ); + + /* write initial status into file */ + $output = fopen("status.txt","w"); + if ($output) + { + 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::" ); + for(;$i<23;$i++) + fwrite($output,"$randomNR[$i];" ); + fwrite($output,"$randomNR[23]:" ); $i++; + fwrite($output,"\n"); + + 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::"); + for(;$i<47;$i++) + fwrite($output,"$randomNR[$i];" ); + fwrite($output,"$randomNR[47]:" ); + fwrite($output,"\n"); + + fclose($output); + } + else + echo "can't open file for writing"; + }; /* test if a game is running, else output everything for a new game */ if(sizeof($lines)<2) -{ + { ?>

no game in progress, please input 4 names and email addresses

@@ -104,71 +167,133 @@ if(sizeof($lines)<2)
+ $tmp = explode( ":",$lines[1]); + $hash[] = $tmp[0]; + $player[$tmp[0]]["number"] = 1; + $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]; + if(ereg("s",$tmp[3])) $game["init"]++; + + $tmp = explode( ":",$lines[2]); + $hash[] = $tmp[0]; + $player[$tmp[0]]["number"] = 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]; + if(ereg("s",$tmp[3])) $game["init"]++; + + $tmp = explode( ":",$lines[3]); + $hash[] = $tmp[0]; + $player[$tmp[0]]["number"] = 3; + $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]; + if(ereg("s",$tmp[3])) $game["init"]++; + + /* save the game history */ + for($i=4;$i
- Do you want to play a game of DoKo? + Do you want to play a game of DoKo? yes no
- Do you want to get an email for every card played or only if it your move? + Do you want to get an email for every card played or only if it your move? every card only on my turn
\n"; - echo "\n"; - echo "\n"; - echo "
\n"; -} - /* yes? email him his hand, ask for solo, poverty, email every move or every card? */ -if(isset($_REQUEST["b"])) -{ - $b=$_REQUEST["b"]; - echo "hash is $b
"; - if(!isset($_REQUEST["in"])|| !isset($_REQUEST["update"]) ) - { - echo "go back to "; - echo " here and fill out the form
"; - } - else - { /* show the hand */ - echo $player[$b]["cards"]; - $tmp = $player[$b]["cards"]; - $cards = explode( ":",$tmp); - echo "your cards are"; - foreach($cards as $card) echo " $card "; - echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo " \n"; + } + } + +/* *** + * * * + * *** + * * * + * *** + * yes? email him his hand, ask for solo, poverty, email every move or every card? + */ + if(isset($_REQUEST["b"])) + { + $b=$_REQUEST["b"]; + + if( ereg("[is]",$player[$b]["option"]) && $game["init"]<4) + { + echo "just wait for the game to start"; + } + else if(!isset($_REQUEST["in"])|| !isset($_REQUEST["update"]) ) + { + echo "go back to "; + echo " here and fill out the form
"; + } + 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) + { + display_card($card); + } + echo "
\n"; ?>
@@ -184,15 +309,114 @@ if(isset($_REQUEST["b"])) yes no
- - - - +\n"; + echo "\n"; -
+ echo "\n"; + } + } + if(isset($_REQUEST["c"])) + { + $c=$_REQUEST["c"]; + + if(!isset($_REQUEST["solo"])|| !isset($_REQUEST["wedding"])|| !isset($_REQUEST["poverty"]) ) + { + echo "go back to "; + echo " here and fill out the form
"; + } + else if( ereg("s",$player[$c]["option"]) && $game["init"]<4 ) + { + echo "just wait for the game to start"; + } + else if($game["init"]<4) + { + echo "handle krankheit
"; -"; + echo "check,if card correct remove card from deck
"; + + + $tmp = explode(":",$history[sizeof($history)-1]); + $tmp[sizeof($tmp)-1] = "".$player[$me]["number"]."->".$card.":"; + $history[sizeof($history)-1]=join(":",$tmp); + + save_status(); + } + echo "game in progress and you are in it
"; + foreach($history as $play) + { + $trick = explode(":",$play); + + $last=-1; + /* found old trick, display it */ + for($i=0;$i",$card); + echo $player[$hash[$tmp[0]]]["name"]." played "; + display_card($tmp[1]); + $last=$tmp[0]; + } + echo "
"; + + + $next = $last + 1; + if ($next>=4) + $next -= 4 ; + + switch(sizeof($trick)) + { + case 1: + echo "new trick , next player ".$trick[0]."
"; + break; + case 4: + echo "figure out who will win
"; + case 2: + case 3: + echo "some played $next"; + if($hash[$next]==$me) + { + + echo "ITS YOUR TURN
"; + $allcards = $player[$me]["cards"]; + $mycards = explode(";",$allcards); + + sort($mycards); + echo "your cards are
"; + foreach($mycards as $card) + { + display_link_card($card,$me); + } + echo "
\n"; + } + echo "
"; + break; + default: + echo "default
"; + } + } + } + } + } /* 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 */