/*
* brisk - dnd.js
*
- * Copyright (C) 2006-2011 Matteo Nastasi
- * mailto: nastasi@alternativeoutput.it
+ * Copyright (C) 2006-2012 Matteo Nastasi
+ * mailto: nastasi@alternativeoutput.it
* matteo.nastasi@milug.org
* web: http://www.alternativeoutput.it
*
* Suite 330, Boston, MA 02111-1307, USA.
*
*/
-
+/* number of players */
var PLAYERS_N = 3;
+/* initial number of cards in hand */
+var CARD_HAND = 3;
/* current manche */
var manche = 1;
/* cards on hands */
var takes_we_n;
/* width of images */
-var cards_width = 55 + 2;
-var cards_width_d2 = 27;
+var cards_widths = {'xx': 65, 'nb': 56, 'yy': 54};
+var cards_heights = {'xx': 111, 'nb': 102, 'yy': 111};
+
+var cards_width = cards_widths[g_deck];
+var cards_width_d2 = Math.ceil(cards_width / 2);
/* height of images */
-var cards_height = 101 + 2;
-var cards_height_d2 = 51;
+var cards_height = cards_heights[g_deck];;
+var cards_height_d2 = Math.ceil(cards_height / 2);
+
+console.log('G_deck: ' + g_deck);
/* width of hands area */
var hands_width = 400;
/* suffix to add to images name */
var sux = new Array( "", "_ea", "", "", "_we");
-var cards_pos = new Array (8);
-var cards_ea_pos = new Array (8);
-var cards_ne_pos = new Array (8);
-var cards_nw_pos = new Array (8);
-var cards_we_pos = new Array (8);
+var cards_pos = new Array (CARD_HAND);
+var cards_ea_pos = new Array (CARD_HAND);
+var cards_ne_pos = new Array (CARD_HAND);
+var cards_nw_pos = new Array (CARD_HAND);
+var cards_we_pos = new Array (CARD_HAND);
var take_x = new Array(562, 745, 452, 30, 52);
var take_y = new Array(545, 177, 70, 62,155);
-for (i = 0 ; i < 8 ; i++) {
+for (i = 0 ; i < CARD_HAND ; i++) {
cards_pos[i] = i;
cards_ea_pos[i] = i;
cards_ne_pos[i] = i;
if (tak_n > 0) {
delta = 80;
$("takes").style.left = 200 + 400 - 90 + ((90 - cards_width) / 2);
- $("takes").style.top = 475 + (125 - cards_height)/2;
+ $("takes").style.top = 475 + (126 - cards_height)/2;
$("takes").style.zIndex = 1;
$("takes").style.visibility = "visible";
}
for (i = 0 ; i < car_n ; i++) {
$("card" + cards_pos[i]).style.left = start + (i * inter);
- $("card" + cards_pos[i]).style.top = 475 + (125 - cards_height)/2;
- $("card" + cards_pos[i]).style.zIndex = 8 - i;
+ $("card" + cards_pos[i]).style.top = 475 + (126 - cards_height)/2;
+ $("card" + cards_pos[i]).style.zIndex = CARD_HAND - i;
$("card" + cards_pos[i]).style.visibility = "visible";
}
takes_n = tak_n;
return (0);
-}
+}
function cards_dispose_ne(car_n, tak_n) {
// tak_n = 2;
if (tak_n > 0) {
delta = 80;
$("takes_ne").style.left = 800 - cards_width - 400 + 90 - ((90 - cards_width) / 2);
- $("takes_ne").style.top = (125 - cards_height)/2;
+ $("takes_ne").style.top = (126 - cards_height)/2;
$("takes_ne").style.zIndex = 1;
$("takes_ne").style.visibility = "visible";
}
takes_ne_n = tak_n;
return (0);
-}
+}
function cards_dispose_nw(car_n, tak_n) {
// tak_n = 2;
if (tak_n > 0) {
delta = 80;
$("takes_nw").style.left = 400 - cards_width - 400 + 90 - ((90 - cards_width) / 2);
- $("takes_nw").style.top = (125 - cards_height)/2;
+ $("takes_nw").style.top = (126 - cards_height)/2;
$("takes_nw").style.zIndex = 1;
$("takes_nw").style.visibility = "visible";
}
takes_nw_n = tak_n;
return (0);
-}
+}
function cards_dispose_ea(car_n, tak_n) {
if (tak_n > 0) {
delta = 80;
- $("takes_ea").style.left = 675 + (125 - cards_height)/2;
+ $("takes_ea").style.left = 675 + (126 - cards_height)/2;
$("takes_ea").style.top = 125 + ((90 - cards_width) / 2);
$("takes_ea").style.zIndex = 1;
$("takes_ea").style.visibility = "visible";
list = "LIST: ";
// console.log(car_n);
for (i = 0 ; i < car_n ; i++) {
- $("card_ea" + cards_ea_pos[i]).style.left = 675 + (125 - cards_height)/2;
+ $("card_ea" + cards_ea_pos[i]).style.left = 675 + (126 - cards_height)/2;
$("card_ea" + cards_ea_pos[i]).style.top = start + (i * inter);
- $("card_ea" + cards_ea_pos[i]).style.zIndex = 8 - i;
+ $("card_ea" + cards_ea_pos[i]).style.zIndex = CARD_HAND - i;
$("card_ea" + cards_ea_pos[i]).style.visibility = "visible";
// alert("xx "+ (675 + (125 - cards_height)/2) +" yy " + start + (i * inter));
}
takes_ea_n = tak_n;
return (0);
-}
+}
-function cards_dispose_we(car_n, tak_n)
+function cards_dispose_we(car_n, tak_n)
{
if (tak_n > 0) {
delta = 80;
for (i = 0 ; i < car_n ; i++) {
$("card_we" + cards_we_pos[i]).style.left = (125 - cards_height)/2;
$("card_we" + cards_we_pos[i]).style.top = start - (i * inter);
- $("card_we" + cards_we_pos[i]).style.zIndex = 8 - i;
+ $("card_we" + cards_we_pos[i]).style.zIndex = CARD_HAND - i;
$("card_we" + cards_we_pos[i]).style.visibility = "visible";
}
takes_we_n = tak_n;
return (0);
-}
+}
var cards_dispose_arr = new Array(cards_dispose_so, cards_dispose_ea,
cards_dispose_ne, cards_dispose_nw,
/* case swap in the group */
// alert("mouseup");
- if (parseInt(o.style.top) > 475 &&
+ if (parseInt(o.style.top) > 475 &&
parseInt(o.style.left) >= 200 && parseInt(o.style.left) < 600) {
/* Rearrange cards */
// $("sandbox3").innerHTML = "REARRANGE: "+idx;
- if (takes_n > 0)
+ if (takes_n > 0)
delta = 80;
else
delta = 0;
/* found the associated index of the current card. */
- for (i = 0 ; i < cards_n ; i++)
- if (cards_pos[i] == idx)
+ for (i = 0 ; i < cards_n ; i++)
+ if (cards_pos[i] == idx)
break;
old_idx = i;
if (tst) {
// $("sandbox2").innerHTML = "old: " +old_idx+ " i: " +i+ "left: " + parseInt(o.style.left) + "comp: " + (start + (cards_width / 2) + (i * (cards_width / 2)));
- if (i == old_idx)
+ if (i == old_idx)
break;
if (i > old_idx) {
/* moved to right */
return (0);
}
- else if (is_my_time &&
- parseInt(o.style.top) >= 250 &&
+ else if (is_my_time &&
+ parseInt(o.style.top) >= 250 &&
parseInt(o.style.top) + cards_height < 450 &&
- parseInt(o.style.left) >= 300 &&
+ parseInt(o.style.left) >= 300 &&
(parseInt(o.style.left) + cards_width) < 500) {
/* Played card */
cards_pos[e] = cards_pos[e+1];
}
cards_pos[cards_n-1] = idx;
- cards_n--;
+ cards_n--;
cards_dispose_so(cards_n, takes_n);
is_my_time = false;
}
/* CARD_SEND */
-function card_send_so(id,card,free,ct)
+function card_send_so(id, card, free, ct)
{
var img = $("card"+id);
- img.src = getcard(-1,0);
+ img.setAttribute('data-card-id', getcard(-1,0));
img.briskid = card;
img.style.left = 400 - cards_width_d2;
img.style.top = 300 - cards_height_d2;
img.style.zIndex = 100;
- var movimg = new slowimg(img,400 - cards_width / 2,475 + (125 - cards_height)/2,25,free,"cards_dispose_so("+ct+", 0)",getcard(card,0));
+ var movimg = new slowimg(img, 400 - cards_width / 2,475 + (125 - cards_height)/2, 25,
+ free, "cards_dispose_so(" + ct + ", 0)", getcard(card, 0));
movimg.settime(G_send_time);
movimg.start(gst);
}
-function card_send_ea(id,card,free,ct)
+function card_send_ea(id, card, free, ct)
{
var img = $("card_ea"+id);
- img.src = getcard(card,1);
+ img.setAttribute('data-card-id', getcard(card, 1));
img.briskid = card;
img.style.left = 400 - cards_height_d2;
img.style.top = 300 - cards_width_d2;
img.style.zIndex = 100;
- var movimg = new slowimg(img,686,296,25,free,"cards_dispose_ea("+ct+", 0);",getcard(card,1));
+ var movimg = new slowimg(img, 686, 296, 25,
+ free, "cards_dispose_ea(" + ct + ", 0);", getcard(card, 1));
movimg.settime(G_send_time);
movimg.start(gst);
}
-function card_send_ne(id,card,free,ct)
+function card_send_ne(id, card, free, ct)
{
var img = $("card_ne"+id);
- img.src = getcard(card,2);
+ img.setAttribute('data-card-id', getcard(card, 2));
img.briskid = card;
img.style.left = 400 - cards_width_d2;
img.style.top = 300 - cards_height_d2;
img.style.zIndex = 100;
- var movimg = new slowimg(img,571,11,25,free,"cards_dispose_ne("+ct+", 0);",getcard(card,2));
+ var movimg = new slowimg(img, 571, 11, 25,
+ free, "cards_dispose_ne(" + ct + ", 0);", getcard(card, 2));
movimg.settime(G_send_time);
movimg.start(gst);
}
-function card_send_nw(id,card,free,ct)
+function card_send_nw(id, card, free, ct)
{
var img = $("card_nw"+id);
- img.src = getcard(card,3);
+ img.setAttribute('data-card-id', getcard(card, 3));
img.briskid = card;
img.style.left = 400 - cards_width_d2;
img.style.top = 300 - cards_height_d2;
img.style.zIndex = 100;
- var movimg = new slowimg(img,171,11,25,free,"cards_dispose_nw("+ct+", 0);",getcard(card,3));
+ var movimg = new slowimg(img, 171, 11, 25,
+ free, "cards_dispose_nw(" + ct + ", 0);", getcard(card, 3));
movimg.settime(G_send_time);
movimg.start(gst);
}
-function card_send_we(id,card,free,ct)
+function card_send_we(id, card, free, ct)
{
var img = $("card_we"+id);
- img.src = getcard(card,4);
+ img.setAttribute('data-card-id', getcard(card, 4));
img.briskid = card;
if (id < 0 || id > 39)
alert("ID ERRATO"+id);
-
+
img.style.left = 400 - cards_height_d2;
img.style.top = 300 - cards_width_d2;
img.style.zIndex = 100;
- var movimg = new slowimg(img,11,296,25,free,"cards_dispose_we("+ct+", 0);",getcard(card,4));
+ var movimg = new slowimg(img, 11, 296, 25,
+ free,"cards_dispose_we(" + ct + ", 0);", getcard(card, 4));
movimg.settime(G_send_time);
movimg.start(gst);
}
-var card_send_arr = new Array(card_send_so, card_send_ea,
+var card_send_arr = new Array(card_send_so, card_send_ea,
card_send_ne, card_send_nw,
card_send_we);
-function card_send(player_pos,id,card,free,ct)
+function card_send(player_pos, id, card, free, ct)
{
var idx = (player_pos - table_pos + PLAYERS_N) % PLAYERS_N;
card_send_arr[idx](id,card,free,ct);
}
-function getcard(card,pos_id)
+function getcard(card, pos_id)
{
if (card < 0)
- return ("img/cover"+sux[pos_id]+".png");
+ return ("cover" + sux[pos_id]);
else if (card < 10)
- return ("img/0"+card+sux[pos_id]+".png");
- else
- return ("img/"+card+sux[pos_id]+".png");
+ return ("0" + card+sux[pos_id]);
+ else
+ return ("" + card + sux[pos_id]);
}
-function card_setours(zer,uno,due,tre,qua,cin,sei,set)
+function card_setours(zer, uno, due, tre, qua, cin, sei, set)
{
var i;
- var arg = new Array(zer,uno,due,tre,qua,cin,sei,set);
+ var arg = new Array(zer, uno, due, tre, qua, cin, sei, set);
- for (i = 0 ; i < 8 ; i++) {
- $("card"+i).src = getcard(arg[i], 0);
+ for (i = 0 ; i < CARD_HAND ; i++) {
+ var id = (arg[i] < 10 ? '0' + arg[i] : '' + arg[i]);
+ $("card"+i).setAttribute('data-card-id', id);
$("card"+i).briskid = arg[i];
}
}
function card_postplay_ea(card_pos)
{
var img = $("card_ea"+card_pos);
-
- img.className = "";
+
+ // img.className = "";
for (i = 0 ; i < cards_ea_n ; i++) {
if (cards_ea_pos[i] == card_pos) {
for (e = i ; e < cards_ea_n-1 ; e++) {
cards_ea_pos[e] = cards_ea_pos[e+1];
}
cards_ea_pos[cards_ea_n-1] = card_pos;
- cards_ea_n--;
+ cards_ea_n--;
cards_dispose_ea(cards_ea_n, takes_ea_n);
break;
}
var x1, y1;
x1 = 500 + ((y-250) * (125 - cards_height) / (200 - cards_height));
- y1 = 450 - cards_width - (x - 300);
+ y1 = 450 - cards_width - (x - 300);
var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_ea("+cards_ea_pos[card_pos]+");", newname);
movimg.settime(G_play_time);
function card_postplay_ne(obj,card_pos)
{
var img = $("card_ne"+card_pos);
-
- img.className = "";
+ // img.className = "";
for (i = 0 ; i < cards_ne_n ; i++) {
if (cards_ne_pos[i] == card_pos) {
for (e = i ; e < cards_ne_n-1 ; e++) {
cards_ne_pos[e] = cards_ne_pos[e+1];
}
cards_ne_pos[cards_ne_n-1] = card_pos;
- cards_ne_n--;
+ cards_ne_n--;
cards_dispose_ne(cards_ne_n, takes_ne_n);
break;
}
var newname = getcard(card_idx,2);
var x1, y1;
- x1 = 600 - cards_width - (x - 300);
+ x1 = 600 - cards_width - (x - 300);
y1 = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_ne(this,"+cards_ne_pos[card_pos]+");", newname);
function card_postplay_nw(card_pos)
{
var img = $("card_nw"+card_pos);
-
- img.className = "";
+
+ // img.className = "";
for (i = 0 ; i < cards_nw_n ; i++) {
if (cards_nw_pos[i] == card_pos) {
for (e = i ; e < cards_nw_n-1 ; e++) {
cards_nw_pos[e] = cards_nw_pos[e+1];
}
cards_nw_pos[cards_nw_n-1] = card_pos;
- cards_nw_n--;
+ cards_nw_n--;
cards_dispose_nw(cards_nw_n, takes_nw_n);
break;
}
var newname = getcard(card_idx,3);
var x1, y1;
- x1 = 400 - cards_width - (x - 300);
+ x1 = 400 - cards_width - (x - 300);
y1 = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_nw("+cards_nw_pos[card_pos]+");", newname);
function card_postplay_we(card_pos)
{
var img = $("card_we"+card_pos);
-
- img.className = "";
+
+ // img.className = "";
for (i = 0 ; i < cards_we_n ; i++) {
if (cards_we_pos[i] == card_pos) {
for (e = i ; e < cards_we_n-1 ; e++) {
cards_we_pos[e] = cards_we_pos[e+1];
}
cards_we_pos[cards_we_n-1] = card_pos;
- cards_we_n--;
+ cards_we_n--;
cards_dispose_we(cards_we_n, takes_we_n);
break;
}
var x1, y1;
x1 = 300 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
- y1 = 250 + x - 300;
+ y1 = 250 + x - 300;
var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_we("+cards_we_pos[card_pos]+");", newname);
movimg.settime(G_play_time);
img.style.left = x;
img.style.top = y;
img.style.visibility = "visible";
- img.src = getcard(card_idx,0);
+ img.setAttribute('data-card-id', getcard(card_idx, 0));
}
/* CARD_PLACE_EA */
img.style.left = 500 + ((y-250) * (125 - cards_height) / (200 - cards_height));
img.style.top = 450 - cards_width - (x - 300);
img.style.visibility = "visible";
- img.src = getcard(card_idx,1);
+ img.setAttribute('data-card-id', getcard(card_idx, 1));
}
/* CARD_PLACE_NE */
img.style.left = 600 - cards_width - (x - 300);
img.style.top = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
img.style.visibility = "visible";
- img.src = getcard(card_idx,2);
+ img.setAttribute('data-card-id', getcard(card_idx, 2));
}
/* CARD_PLACE_NW */
img.style.left = 400 - cards_width - (x - 300);
img.style.top = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
img.style.visibility = "visible";
- img.src = getcard(card_idx,3);
+ img.setAttribute('data-card-id', getcard(card_idx, 3));
}
/* CARD_PLACE_WE */
img.style.left = 300 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
img.style.top = 250 + x - 300;
img.style.visibility = "visible";
- img.src = getcard(card_idx,4);
+ img.setAttribute('data-card-id', getcard(card_idx, 4));
}
var card_place_arr = new Array( card_place_so, card_place_ea, card_place_ne, card_place_nw, card_place_we );
}
var img = $("card"+cards_pos[cards_n]);
- var movimg = new slowimg(img,
+ var movimg = new slowimg(img,
take_x[taker] - cards_width_d2,
take_y[taker] - cards_height_d2,
25, 0, "card_post_take("+cards_pos[cards_n]+");", null);
movimg.start(gst);
var img = $("card_ea"+cards_ea_pos[cards_ea_n]);
- var movimg = new slowimg(img,
+ var movimg = new slowimg(img,
take_x[taker] - cards_height_d2,
take_y[taker] - cards_width_d2,
25, 0, "card_ea_post_take("+cards_ea_pos[cards_ea_n]+");", null);
movimg.start(gst);
if (PLAYERS_N > 3) {
var img = $("card_nw"+cards_nw_pos[cards_nw_n]);
- var movimg = new slowimg(img,
+ var movimg = new slowimg(img,
take_x[taker] - cards_width_d2,
take_y[taker] - cards_height_d2,
25, 0, "card_nw_post_take("+cards_nw_pos[cards_nw_n]+");", null);
movimg.start(gst);
var img = $("card_we"+cards_we_pos[cards_we_n]);
- var movimg = new slowimg(img,
+ var movimg = new slowimg(img,
take_x[taker] - cards_height_d2,
take_y[taker] - cards_width_d2,
25, 1, "card_we_post_take("+cards_we_pos[cards_we_n]+");", null);