diff options
-rw-r--r-- | cards/altenburg/0.png | bin | 0 -> 61019 bytes | |||
-rw-r--r-- | cards/english/0.png | bin | 0 -> 61019 bytes | |||
-rw-r--r-- | create_database.sql | 26 | ||||
-rw-r--r-- | css/standard010.css (renamed from css/standard009.css) | 28 | ||||
-rw-r--r-- | include/db.php | 20 | ||||
-rw-r--r-- | include/game.php | 81 | ||||
-rw-r--r-- | include/output.php | 4 |
7 files changed, 155 insertions, 4 deletions
diff --git a/cards/altenburg/0.png b/cards/altenburg/0.png Binary files differnew file mode 100644 index 0000000..1ece76f --- /dev/null +++ b/cards/altenburg/0.png diff --git a/cards/english/0.png b/cards/english/0.png Binary files differnew file mode 100644 index 0000000..1ece76f --- /dev/null +++ b/cards/english/0.png diff --git a/create_database.sql b/create_database.sql index 0ac02f0..5ec47eb 100644 --- a/create_database.sql +++ b/create_database.sql @@ -201,6 +201,32 @@ UNLOCK TABLES; /*!40000 ALTER TABLE `Hand_Card` ENABLE KEYS */; -- +-- Table structure for table `Card_Exchange` +-- + +DROP TABLE IF EXISTS `Card_Exchange`; +CREATE TABLE `Card_Exchange` ( + `id` int(11) NOT NULL auto_increment, + `orig_hand_id` int(11) NOT NULL default '0', + `new_hand_id` int(11) NOT NULL default '0', + `card_id` int(11) NOT NULL default '0', + UNIQUE KEY `id` (`id`), + KEY `orig_hand_id` (`orig_hand_id`), + KEY `new_hand_id` (`new_hand_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `Hand_Card` +-- + + +/*!40000 ALTER TABLE `Hand_Card` DISABLE KEYS */; +LOCK TABLES `Hand_Card` WRITE; +UNLOCK TABLES; +/*!40000 ALTER TABLE `Hand_Card` ENABLE KEYS */; + + +-- -- Table structure for table `Play` -- diff --git a/css/standard009.css b/css/standard010.css index 6d13028..41b3319 100644 --- a/css/standard009.css +++ b/css/standard010.css @@ -214,6 +214,8 @@ ul.tricks li div.trick img.arrow { z-index:8; } +#trick0 img { float:left; width: 3em; } + hr {clear:both;} /*ul.tricks li:hover div.table{ display:block; }*/ @@ -229,6 +231,12 @@ ul.tricks li div div.card0 img,ul.tricks li div div.card0 .score, .vorbehalt0 { width:6%; z-index:30; } +.vorbehalt0 { + left:37.5%; + right:57.5%; + width:10%; + text-align:left; +} ul.tricks li div div.card0 span.comment{ position:absolute; margin:0; @@ -251,6 +259,12 @@ ul.tricks li div div.card1 img,ul.tricks li div div.card1 .score, .vorbehalt1 { text-align:center; z-index:30; } +.vorbehalt1{ + left:45%; + right:45%; + width:10%; + z-index:30; +} ul.tricks li div div.card1 span.comment{ position:absolute; margin:0; @@ -269,10 +283,16 @@ ul.tricks li div div.card2 img,ul.tricks li div div.card2 .score, .vorbehalt2{ /*border: 1px solid red;*/ top: 40%; right:37.5%; - left:56x.5%; + left:56.5%; width:6%; z-index:30; } +.vorbehalt2{ + left:auto; + right:38%; + width:10%; + text-align:right; +} ul.tricks li div div.card2 span.comment{ position:absolute; margin:0; @@ -296,6 +316,12 @@ ul.tricks li div div.card3 img,ul.tricks li div div.card3 .score, .vorbehalt3{ text-align:center; z-index:30; } +.vorbehalt3{ + left:45%; + right:45%; + width:10%; + text-align:center; +} ul.tricks li div div.card3 span.comment{ position:absolute; margin:0; diff --git a/include/db.php b/include/db.php index 9b691ec..b7c6f70 100644 --- a/include/db.php +++ b/include/db.php @@ -1084,4 +1084,24 @@ function DB_get_name($type,$var1='') return ""; } +function DB_add_exchanged_card($card,$old_hand_id,$new_hand_id) +{ + DB_query("INSERT INTO Card_Exchange VALUES (NULL,$new_hand_id,$old_hand_id,$card)"); + return; +} + +function DB_get_exchanged_cards($hash) +{ + $cards = array(); + + $handid = DB_get_handid('hash',$hash); + + $result = DB_query("SELECT card_id FROM Card_Exchange WHERE orig_hand_id=".DB_quote_smart($handid)); + while($r = DB_fetch_array($result)) + $cards[]=$r[0]; + + return $cards; +} + + ?>
\ No newline at end of file diff --git a/include/game.php b/include/game.php index 3ed9497..e471d5d 100644 --- a/include/game.php +++ b/include/game.php @@ -693,6 +693,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); }; } @@ -844,6 +845,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 +1074,87 @@ switch($mystatus) { echo " <li onclick=\"hl('0');\" class=\"current\"><a href=\"#\">Pre</a>\n". " <div class=\"trick\" id=\"trick0\">\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 " <div class=\"vorbehalt".($mypos-1)."\"> Vorbehalt <br />"; if($show) echo " $usersick <br />"; + 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 " </div>\n"; if($mygametype == $usersick) diff --git a/include/output.php b/include/output.php index 21f7e8e..8272739 100644 --- a/include/output.php +++ b/include/output.php @@ -143,7 +143,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 "<img src=\"cards/".$dir."/".$card.".png\" alt=\"".DB_get_card_name($card)."\" />\n"; else echo "<img src=\"cards/".$dir."/".($card-1).".png\" alt=\"".DB_get_card_name($card-1)."\" />\n"; @@ -270,7 +270,7 @@ function output_header() <title>e-Doko</title> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> <link rel="shortcut icon" type="image/x-icon" href="pics/edoko-favicon.png" /> - <link rel="stylesheet" type="text/css" href="css/standard009.css" /> + <link rel="stylesheet" type="text/css" href="css/standard010.css" /> <script type="text/javascript"> var current=0; function hl(num) { |