diff options
-rw-r--r-- | functions.php | 45 | ||||
-rw-r--r-- | index.php | 10 | ||||
-rw-r--r-- | output.php | 22 |
3 files changed, 65 insertions, 12 deletions
diff --git a/functions.php b/functions.php index f33dd1c..418591d 100644 --- a/functions.php +++ b/functions.php @@ -649,7 +649,48 @@ function sort_comp($a,$b) function can_call($what,$hash) { - return 1; + global $RULES; + + /*TODO: check if this already has been call by teammate */ + + $gameid = DB_get_gameid_by_hash($hash); + $gametype = DB_get_gametype_by_gameid($gameid); + + $NRcards = count(DB_get_hand($me)); + + $NRallcards = 0; + for ($i=1;$i<5;$i++) + { + $user = DB_get_hash_from_game_and_pos($gameid,$i); + $NRallcards += count(DB_get_hand($user)); + }; + + /* in case of a wedding, everything will be delayed by an offset */ + $offset = 0; + if($gametype=="wedding") + { + $offset = DB_get_sickness_by_gameid($gameid); + if ($offset <0) /* not resolved */ + return 0; + }; + + switch ($RULES["call"]) + { + case "1st-own-card": + if( 4-($what/30) >= 12 - $NRcards + $offset) + return 1; + break; + case "5th-card": + if( 27+4*($what/30)) <= $NRallcards + $offset*4) + return 1; + break; + case "9-cards": + if( ($what/10) <= $NRcards + $offset) + return 1; + break; + } + + return 0; } -?>
\ No newline at end of file +?> @@ -243,7 +243,9 @@ else if(myisset("me")) $RULES["dullen"] = $r[2]; $RULES["schweinchen"] = $r[3]; - + $RULES["call"] = "1st-own-card"; + + /* get some infos about the game */ $gametype = DB_get_gametype_by_gameid($gameid); $gamestatus = DB_get_game_status_by_gameid($gameid); @@ -333,7 +335,7 @@ else if(myisset("me")) display_card($card,$PREF["cardset"]); echo "</p>\n"; - check_for_sickness($me,$mycards); + output_check_for_sickness($me,$mycards); /* move on to the next stage*/ DB_set_hand_status_by_hash($me,'check'); @@ -1461,7 +1463,9 @@ else if(myisset("me")) " <input type=\"radio\" name=\"call30\" value=\"yes\" /> "; if( can_call(0,$me) ) echo " 0:". - " <input type=\"radio\" name=\"call0\" value=\"yes\" /> "; + " <input type=\"radio\" name=\"call0\" value=\"yes\" /> ". + " no call:". + " <input type=\"radio\" name=\"call0\" value=\"no\" /> "; echo "<br />\nA short comments:<input name=\"comment\" type=\"text\" size=\"30\" maxlength=\"50\" />\n"; echo "<input type=\"hidden\" name=\"me\" value=\"$me\" />\n"; @@ -106,6 +106,7 @@ function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid) echo " <input type=\"hidden\" name=\"PlayerD\" value=\"$playerD\" />\n"; echo " <input type=\"hidden\" name=\"dullen\" value=\"".$RULES["dullen"]."\" />\n"; echo " <input type=\"hidden\" name=\"schweinchen\" value=\"".$RULES["schweinchen"]."\" />\n"; + echo " <input type=\"hidden\" name=\"call\" value=\"".$RULES["call"]."\" />\n"; echo " <input type=\"hidden\" name=\"followup\" value=\"$oldgameid\" />\n"; echo " <input type=\"submit\" value=\"keep playing\" />\n"; echo "</form>\n"; @@ -161,7 +162,16 @@ function output_form_for_new_game($names) </li> </ul> </p> - + <p> Call Re/Contra, etc.: + <ul> + <li><input type="radio" name="call" value="1st-own-card" checked="checked" /> + Can call re/contra on the first <strong>own</strong> card played, 90 on the second, etc.</li> + <li><input type="radio" name="call" value="5th-card" /> + Can call re/contra until 5th card is played, 90 until 9th card is played, etc.</li> + <li><input type="radio" name="call" value="9-cards" /> + Can call re/contra until 5th card is played, 90 if player still has 9 cards, etc.</li> + </ul> + </p> <input type="submit" value="start game" /> </form> <?php @@ -189,11 +199,9 @@ function display_link_card($card,$dir="english",$type="card") return; } -function check_for_sickness($me,$mycards) +function output_check_for_sickness($me,$mycards) { ?> - <p> Solo will work, but the first player will not change. Nothing else implemented. </p> - <form action="index.php" method="post"> do you want to play solo? @@ -211,7 +219,7 @@ function check_for_sickness($me,$mycards) <?php - echo "wedding?"; + echo "Wedding?"; if(check_wedding($mycards)) { echo " yes<input type=\"radio\" name=\"wedding\" value=\"yes\" checked=\"checked\" />"; @@ -222,7 +230,7 @@ function check_for_sickness($me,$mycards) echo " no <input type=\"hidden\" name=\"wedding\" value=\"no\" /> <br />\n"; }; - echo "do you have poverty?"; + echo "Do you have poverty?"; if(count_trump($mycards)<4) { echo " yes<input type=\"radio\" name=\"poverty\" value=\"yes\" checked=\"checked\" />"; @@ -233,7 +241,7 @@ function check_for_sickness($me,$mycards) echo " no <input type=\"hidden\" name=\"poverty\" value=\"no\" /> <br />\n"; }; - echo "do you have too many nines?"; + echo "Do you have too many nines?"; if(count_nines($mycards)>4) { echo " yes<input type=\"radio\" name=\"nines\" value=\"yes\" checked=\"checked\" />"; |