summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cards/altenburg/0.pngbin0 -> 61019 bytes
-rw-r--r--cards/english/0.pngbin0 -> 61019 bytes
-rw-r--r--create_database.sql26
-rw-r--r--css/standard010.css (renamed from css/standard009.css)28
-rw-r--r--include/db.php20
-rw-r--r--include/game.php81
-rw-r--r--include/output.php4
7 files changed, 155 insertions, 4 deletions
diff --git a/cards/altenburg/0.png b/cards/altenburg/0.png
new file mode 100644
index 0000000..1ece76f
--- /dev/null
+++ b/cards/altenburg/0.png
Binary files differ
diff --git a/cards/english/0.png b/cards/english/0.png
new file mode 100644
index 0000000..1ece76f
--- /dev/null
+++ b/cards/english/0.png
Binary files differ
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) {