X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Foutput.php;h=135fe130d7e9aba56129a1490dd9d044bf89e367;hp=21f7e8eb5a78be972f0893cdf5bacb83e01ddabd;hb=850378a3e2da48d387dc565cc6e3c2b47f12e34d;hpb=53314b8335e7565cf63941ba074cafba37d913e2 diff --git a/include/output.php b/include/output.php index 21f7e8e..135fe13 100644 --- a/include/output.php +++ b/include/output.php @@ -1,4 +1,23 @@ + * + * This file is part of e-DoKo. + * + * e-DoKo is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * e-DoKo is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with e-DoKo. If not, see . + * + */ + /* make sure that we are not called from outside the scripts, * use a variable defined in config.php to check this */ @@ -12,7 +31,7 @@ function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid) global $RULES; echo "
\n
\n"; - echo "Do you want to continue playing?(This will start a new game, with the next person as dealer.)\n"; + echo "Do you want to continue playing?(This will start a new game, with $playerA starting the game.)\n"; echo " \n"; echo " \n"; echo " \n"; @@ -28,6 +47,10 @@ function output_ask_for_new_game($playerA,$playerB,$playerC,$playerD,$oldgameid) function output_form_for_new_game($names) { + $copy_names = $names; /* local copy, so that we can delete names from it + * after we selected them to make sure that each name + * only shows up once + */ ?>

Select players (Remember: you need to be one of the players)

@@ -35,13 +58,30 @@ function output_form_for_new_game($names)
table \n"; $i++; echo " just normal non-trump -
  • first ten of hearts wins the trick
  • -
  • second ten of hearts wins the trick
  • - -

    Schweinchen (both foxes), only in normal games or silent solos:

    -
      -
    • none
    • -
    • - both become highest trump (automatic call at beginning of the game) -
    • -
    • - first one normal, second one becomes highest (call during the game)
    • -
    • - second one become highest only in case re/contra was announced (not working yet) -
    • -
    -

    Call Re/Contra, etc.:

    -
      -
    • - Can call re/contra on the first own card played, 90 on the second, etc.
    • -
    • - Can call re/contra until 5th card is played, 90 until 9th card is played, etc.
    • -
    • - Can call re/contra until 5th card is played, 90 if player still has 9 cards, etc.
    • -
    - - +

    Rules

    +

    Gameplay-related

    +

    Ten of hearts:

    +

    + +

    +

    Schweinchen (both foxes), only in normal games or silent solos:

    +

    + +

    +

    Call Re/Contra, etc.:

    +

    + +

    +

    Low trump

    +

    + Player can't trump a fox, that is none of his trump is higher than a fox. + +

    +

    Scoring-related

    +

    (not yet implemented)

    +

    + \n"; - else - $HTML = "\n\n"; + $HTML.= " class=\"$class\""; + if($id!="") + $HTML.= " id=\"$id\""; + + $HTML.=">\n"; $i=0; @@ -112,10 +167,7 @@ function output_table($data,$caption="",$class="") else { if($i==1) $HTML .= " \n"; - if($i % 2) - $HTML .= " "; - else - $HTML .= " "; + $HTML .= " "; } foreach($record as $point) { @@ -143,7 +195,7 @@ function display_card($card,$dir="english") /* cards are only availabl for the odd values, e.g. 1.png, 3.png, ... * convert even cards to the matching odd value */ - if( $card/2 - (int)($card/2) == 0.5) + if( $card/2 - (int)($card/2) == 0.5 || $card == 0) echo "\"".DB_get_card_name($card)."\"\n"; else echo "\"".DB_get_card_name($card-1)."\"\n"; @@ -162,10 +214,11 @@ function display_link_card($card,$dir="english",$type="card") function output_check_for_sickness($me,$mycards) { + global $RULES; ?>
    Thanks for joining the game...
    - do you want to play solo? + Do you want to play solo?
    \n"; }; - echo "Do you have too many nines?"; + echo "Do you have too many nines?"; if(count_nines($mycards)>4) { echo " yes"; @@ -213,6 +266,26 @@ function output_check_for_sickness($me,$mycards) echo " no
    \n"; }; + if($RULES['lowtrump']=='cancel' || $RULES['lowtrump']=='poverty') + { + if($RULES['lowtrump']=='cancel') + echo "Do you have low trump (cancel game)?"; + else + echo "Do you have low trump (poverty)?"; + + if(check_low_trump($mycards)) + { + echo " yes"; + echo " no
    \n"; + } + else + { + echo " no
    \n"; + }; + } + else + echo ""; + echo "\n"; echo "\n"; @@ -221,25 +294,63 @@ function output_check_for_sickness($me,$mycards) return; } -function output_form_calls($me) +function output_form_calls($me,$myparty) { - if( can_call(120,$me) ) - echo " re/contra (120):". - "
    "; - if( can_call(90,$me) ) - echo " 90:". - "
    "; - if( can_call(60,$me) ) - echo " 60:". - "
    "; - if( can_call(30,$me) ) - echo " 30:". - "
    "; - if( can_call(0,$me) ) - echo " 0:". - "
    ". - " no call:". - "
    "; + $highstart = ""; + $highend = ""; + + $tmp = can_call(120,$me); + if( $tmp ) + { + if($tmp==2) echo $highstart; + if($myparty=='re') + echo "re (120):"; + else if ($myparty=='contra') + echo "contra (120):"; + else + echo " re/contra (120):"; + echo " "; + if($tmp==2) echo $highend; + echo "
    \n"; + } + $tmp = can_call(90,$me); + if( $tmp ) + { + if($tmp==2) echo $highstart; + echo " 90:". + " "; + if($tmp==2) echo $highend; + echo "
    \n"; + } + $tmp = can_call(60,$me); + if( $tmp ) + { + if($tmp==2) echo $highstart; + echo " 60:". + " "; + if($tmp==2) echo $highend; + echo "
    \n"; + } + $tmp = can_call(30,$me); + if( $tmp ) + { + if($tmp==2) echo $highstart; + echo " 30:". + " "; + if($tmp==2) echo $highend; + echo "
    \n"; + } + $tmp = can_call(0,$me); + if( $tmp ) + { + if($tmp==2) echo $highstart; + echo " 0:". + " "; + if($tmp==2) echo $highend; + echo "
    \n". + " no call:". + "
    "; + } } function output_check_want_to_play($me) @@ -270,48 +381,20 @@ function output_header() e-Doko - + + + +
    -

    Welcome to E-Doko (beta)

    +

    Welcome to E-Doko

    \n\n"; echo "
    \n"; - echo "

    copyright 2006-2008 Arun Persaud, Lance Thornton
    \n". + echo "

    copyright 2006,2007,2008,2009,2010 Arun Persaud, Lance Thornton(graphics), Jeff Zerger(database support)
    \n". " Verwendung der [deutschen] Kartenbilder mit Genehmigung
    der Spielkartenfabrik Altenburg GmbH,(c) ASS Altenburger
    \n". " - ASS Altenburger Spielkarten - Spielkartenfabrik Altenburg GmbH
    \n". " a Carta Mundi Company Email: info@spielkarten.com Internet: www.spielkarten.com

    \n"; @@ -346,48 +429,78 @@ function output_footer() function output_status() { - global $defaulttimezone,$INDEX,$WIKI; - if(isset($_SESSION["name"])) - { - $name = $_SESSION["name"]; - - /* logout info */ - echo "\n
    \n"; - echo $name,"\n"; - echo " | mypage \n"; - echo " | settings\n"; - echo " | new game\n"; - echo " | statistics\n"; - echo " | wiki\n"; - echo " |    logout\n"; - echo "
    \n"; - - /* last logon time */ - $myid = DB_get_userid("name",$name); - $zone = DB_get_user_timezone($myid); - - $time = DB_get_user_timestamp($myid); - date_default_timezone_set($defaulttimezone); - $unixtime = strtotime($time); - date_default_timezone_set($zone); - - echo "
    last login: ".date("r",$unixtime)."
    \n"; - } - else - { - echo "\n
    \n"; - echo "login\n"; - echo "
    \n"; - } + global $defaulttimezone, $INDEX, $WIKI, $RSS; + + if(isset($_SESSION["name"])) + { + $name = $_SESSION["name"]; + + /* last logon time */ + $myid = DB_get_userid("name",$name); + $zone = DB_get_user_timezone($myid); + + $time = DB_get_user_timestamp($myid); + date_default_timezone_set($defaulttimezone); + $unixtime = strtotime($time); + date_default_timezone_set($zone); + + /* rss token */ + $token = get_user_token($myid); + + /* logout info */ + echo "\n
    \n"; + echo $name,"\n"; + echo " | mypage \n"; + echo " | settings\n"; + echo " | new game\n"; + echo " | statistics\n"; + echo " | wiki\n"; + echo " | rss\n"; + echo " |    logout\n"; + echo "
    \n"; + + echo "
    last login: ".date("r",$unixtime)."
    \n"; + } + else + { + echo "\n
    \n"; + echo "login\n"; + echo "
    \n"; + } return; } function output_select_timezone($name,$timezone="") { - $Tzone = array ( "Europe/London" => "London", - "Europe/Berlin" => "Berlin", - "America/Vancouver" => "Berkeley", - "Pacific/Auckland" => "Wellington" ); + $Tzone = array ("Pacific/Apia" => "Apia", /*UTC-11*/ + "Pacific/Honolulu" => "Honolulu", /*UTC-10*/ + "America/Anchorage" => "Anchorage", /*UTC-9*/ + "America/Vancouver" => "Berkeley", /*UTC-8*/ + "America/Phoenix" => "Phoenix", /*UTC-7*/ + "America/Chicago" => "Chicago", /*UTC-6*/ + "America/New_York" => "New York", /*UTC-5*/ + "America/Santiago" => "Santiago", /*UTC-4*/ + "America/Buenos_Aires" => "Buenos Aires", /*UTC-3*/ + "Atlantic/South_Georgia" => "Fernando de Noronha", /*UTC-2*/ + "Atlantic/Azores" => "Azores", /*UTC-1"*/ + "Europe/London" => "London", /*UTC*/ + "Europe/Berlin" => "Berlin", /*UTC+1*/ + "Africa/Cairo" => "Cairo", /*UTC+2*/ + "Europe/Moscow" => "Moscow", /*UTC+3*/ + "Asia/Tehran" => "Tehran", /*UTC+3:30*/ + "Asia/Dubai" => "Dubai", /*UTC+4*/ + "Asia/Karachi" => "Karachi", /*UTC+5*/ + "Asia/Calcutta" => "Delhi", /*UTC+5:30*/ + "Asia/Kathmandu" => "Kathmandu", /*UTC+5:45*/ + "Asia/Dhaka" => "Dhaka", /*UTC+6*/ + "Asia/Rangoon" => "Yangon", /*UTC+6:30*/ + "Asia/Bangkok" => "Bangkok", /*UTC+7*/ + "Asia/Hong_Kong" => "Beijing", /*UTC+8*/ + "Asia/Tokyo" => "Tokyo", /*UTC+9*/ + "Australia/Darwin" => "Darwin", /*UTC+9:30*/ + "Australia/Sydney" => "Sydney", /*UTC+10*/ + "Asia/Magadan" => "Magadan", /*UTC+11*/ + "Pacific/Auckland" => "Wellington" ); /*UTC+12*/ echo "