4 * Copyright (C) 2006-2012 Matteo Nastasi
5 * mailto: nastasi@alternativeoutput.it
6 * matteo.nastasi@milug.org
7 * web: http://www.alternativeoutput.it
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABLILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details. You should have received a
18 * copy of the GNU General Public License along with this program; if
19 * not, write to the Free Software Foundation, Inc, 59 Temple Place -
20 * Suite 330, Boston, MA 02111-1307, USA.
23 /* number of players */
25 /* initial number of cards in hand */
32 var is_my_time = false;
33 /* number of takes cards */
50 var cards_width = 55 + 2;
51 var cards_width_d2 = 27;
54 /* height of images */
56 var cards_height = 101 + 2;
57 var cards_height_d2 = 51;
62 var cards_width_d2 = 37;
64 /* height of images */
65 var cards_height = 121;
66 var cards_height_d2 = 61;
68 /* width of hands area */
69 var hands_width = 400;
71 /* width of the border */
72 var border_width = 10;
74 /* time to send a card to the player 10 or 250 */
75 var G_send_time = 250;
76 var G_play_time = 500;
77 var G_take_time = 500;
79 /* suffix to add to images name */
80 var sux = new Array( "", "_ea", "", "", "_we");
82 var cards_pos = new Array (CARD_HAND);
83 var cards_ea_pos = new Array (CARD_HAND);
84 var cards_ne_pos = new Array (CARD_HAND);
85 var cards_nw_pos = new Array (CARD_HAND);
86 var cards_we_pos = new Array (CARD_HAND);
88 var take_x = new Array(562, 745, 452, 30, 52);
89 var take_y = new Array(545, 177, 70, 62,155);
91 for (i = 0 ; i < CARD_HAND ; i++) {
98 function $(id) { return document.getElementById(id); }
100 function cards_dispose_so(car_n, tak_n)
104 $("takes").style.left = 200 + 400 - 90 + ((90 - cards_width) / 2);
105 $("takes").style.top = 475 + (126 - cards_height)/2;
106 $("takes").style.zIndex = 1;
107 $("takes").style.visibility = "visible";
113 disp = 400 - delta - (2 * border_width);
115 inter = parseInt((disp - cards_width) / (car_n - 1));
116 if (inter > cards_width)
121 wcard = cards_width + inter * (car_n - 1);
122 start = 200 + border_width + (400 - border_width - border_width - wcard - delta) / 2;
124 for (i = 0 ; i < car_n ; i++) {
125 $("card" + cards_pos[i]).style.left = start + (i * inter);
126 $("card" + cards_pos[i]).style.top = 475 + (126 - cards_height)/2;
127 $("card" + cards_pos[i]).style.zIndex = CARD_HAND - i;
128 $("card" + cards_pos[i]).style.visibility = "visible";
137 function cards_dispose_ne(car_n, tak_n) {
142 $("takes_ne").style.left = 800 - cards_width - 400 + 90 - ((90 - cards_width) / 2);
143 $("takes_ne").style.top = (126 - cards_height)/2;
144 $("takes_ne").style.zIndex = 1;
145 $("takes_ne").style.visibility = "visible";
151 disp = 400 - delta - (2 * border_width);
153 inter = parseInt((disp - cards_width) / (car_n - 1));
154 if (inter > cards_width)
159 wcard = cards_width + inter * (car_n - 1);
160 start = 800 - cards_width - border_width - (400 - border_width - border_width - wcard - delta) / 2;
163 for (i = 0 ; i < car_n ; i++) {
164 $("card_ne" + cards_ne_pos[i]).style.left = start - ((car_n - i -1) * inter);
165 $("card_ne" + cards_ne_pos[i]).style.top = (126 - cards_height)/2;
166 $("card_ne" + cards_ne_pos[i]).style.zIndex = 8-i;
167 $("card_ne" + cards_ne_pos[i]).style.visibility = "visible";
176 function cards_dispose_nw(car_n, tak_n) {
181 $("takes_nw").style.left = 400 - cards_width - 400 + 90 - ((90 - cards_width) / 2);
182 $("takes_nw").style.top = (126 - cards_height)/2;
183 $("takes_nw").style.zIndex = 1;
184 $("takes_nw").style.visibility = "visible";
190 disp = 400 - delta - (2 * border_width);
192 inter = parseInt((disp - cards_width) / (car_n - 1));
193 if (inter > cards_width)
198 wcard = cards_width + inter * (car_n - 1);
199 // start = 0 + delta + border_width + (400 - border_width - border_width - wcard - delta) / 2;
200 start = 400 - cards_width - border_width - (400 - border_width - border_width - wcard - delta) / 2;
203 for (i = 0 ; i < car_n ; i++) {
204 $("card_nw" + cards_nw_pos[i]).style.left = start - ((car_n-i-1) * inter);
205 $("card_nw" + cards_nw_pos[i]).style.top = (125 - cards_height)/2;
206 $("card_nw" + cards_nw_pos[i]).style.zIndex = (8-i);
207 $("card_nw" + cards_nw_pos[i]).style.visibility = "visible";
208 // alert("xx "+start + (i * inter)+" yy " + (125 - cards_height)/2);
217 function cards_dispose_ea(car_n, tak_n) {
220 $("takes_ea").style.left = 675 + (126 - cards_height)/2;
221 $("takes_ea").style.top = 125 + ((90 - cards_width) / 2);
222 $("takes_ea").style.zIndex = 1;
223 $("takes_ea").style.visibility = "visible";
228 disp = 400 - delta - (2 * border_width);
230 inter = parseInt((disp - cards_width) / (car_n - 1));
231 if (inter > cards_width)
236 wcard = cards_width + inter * (car_n - 1);
237 start = 125 + delta + border_width + (400 - border_width - border_width - wcard - delta) / 2;
240 // console.log(car_n);
241 for (i = 0 ; i < car_n ; i++) {
242 $("card_ea" + cards_ea_pos[i]).style.left = 675 + (126 - cards_height)/2;
243 $("card_ea" + cards_ea_pos[i]).style.top = start + (i * inter);
244 $("card_ea" + cards_ea_pos[i]).style.zIndex = CARD_HAND - i;
245 $("card_ea" + cards_ea_pos[i]).style.visibility = "visible";
246 // alert("xx "+ (675 + (125 - cards_height)/2) +" yy " + start + (i * inter));
255 function cards_dispose_we(car_n, tak_n)
259 $("takes_we").style.left = (125 - cards_height)/2;
260 // $("takes_we").style.top = 125 + 400 - 90 + ((90 - cards_width) / 2);
261 $("takes_we").style.top = 525 - cards_width - 400 + 90 - ((90 - cards_width) / 2);
262 $("takes_we").style.zIndex = 1;
263 $("takes_we").style.visibility = "visible";
268 /* pixel a disposizione per mettere le carte: 400 - delta - 2 bordi */
269 disp = 400 - delta - (2 * border_width);
270 /* se c'e' piu' di una carta calcola di quanti pixel devono rimanere scoperte le carte dopo la prima */
272 inter = parseInt((disp - cards_width) / (car_n - 1));
273 if (inter > cards_width)
279 /* dopo avere fatto tutti i conti ricalcola quanti pixel effettivamente verranno occupati dalle carte */
280 wcard = cards_width + inter * (car_n - 1);
282 /* calcola il punto d'inizio da dove disporre le carte: DELTAY + lo spessore del bordo + la meta' di quello
283 che resta della larghezza totale meno tutti gli altri ingombri */
284 // start = 125 + border_width + (400 - border_width - border_width - wcard - delta) / 2;
285 start = 525 - cards_width - border_width - (400 - border_width - border_width - wcard - delta) / 2;
287 for (i = 0 ; i < car_n ; i++) {
288 $("card_we" + cards_we_pos[i]).style.left = (125 - cards_height)/2;
289 $("card_we" + cards_we_pos[i]).style.top = start - (i * inter);
290 $("card_we" + cards_we_pos[i]).style.zIndex = CARD_HAND - i;
291 $("card_we" + cards_we_pos[i]).style.visibility = "visible";
300 var cards_dispose_arr = new Array(cards_dispose_so, cards_dispose_ea,
301 cards_dispose_ne, cards_dispose_nw,
304 function cards_dispose(player_pos, cards, takes)
306 var idx = (player_pos - table_pos + PLAYERS_N) % PLAYERS_N;
308 return (cards_dispose_arr[idx](cards,takes));
314 function card_mouseup_cb(o) {
315 var idx = o.id.substring(4);
316 var briskid = o.briskid;
322 /* case swap in the group */
325 if (parseInt(o.style.top) > 475 &&
326 parseInt(o.style.left) >= 200 && parseInt(o.style.left) < 600) {
327 /* Rearrange cards */
329 // $("sandbox3").innerHTML = "REARRANGE: "+idx;
336 /* found the associated index of the current card. */
337 for (i = 0 ; i < cards_n ; i++)
338 if (cards_pos[i] == idx)
342 disp = 400 - delta - (2 * border_width);
344 inter = parseInt((disp - cards_width) / (cards_n - 1));
345 if (inter > cards_width)
350 wcard = cards_width + inter * (cards_n - 1);
351 start = 200 + border_width + (400 - border_width - border_width - wcard - delta) / 2;
353 for (i = 0 ; i < cards_n ; i++) {
354 /* $("sandbox").innerHTML = */
355 // alert( "LEFT: " + o.style.left + "VALUE " + (cards_width + start + (i * (cards_width / 2))));
356 // $("sandbox3").innerHTML += "<br>LEFT: "+parseInt(o.style.left)+" START["+i+"]: "+(start + ((i+1) * inter));
358 tst = (parseInt(o.style.left) < start + ((i+1) * inter));
360 tst = (parseInt(o.style.left) > start + (i * inter));
362 // $("sandbox2").innerHTML = "old: " +old_idx+ " i: " +i+ "left: " + parseInt(o.style.left) + "comp: " + (start + (cards_width / 2) + (i * (cards_width / 2)));
368 for (e = old_idx ; e < i ; e++)
369 cards_pos[e] = cards_pos[e+1];
373 for (e = old_idx ; e > i ; e--)
374 cards_pos[e] = cards_pos[e-1];
381 cards_dispose_so(cards_n,takes_n);
385 else if (is_my_time &&
386 parseInt(o.style.top) >= 250 &&
387 parseInt(o.style.top) + cards_height < 450 &&
388 parseInt(o.style.left) >= 300 &&
389 (parseInt(o.style.left) + cards_width) < 500) {
392 $("sandbox2").innerHTML = "PLAYED";
394 for (i = 0 ; i < cards_n ; i++) {
395 if (cards_pos[i] == idx) {
396 /* $("sandbox").innerHTML = "Pippo: "+ i; */
397 for (e = i ; e < cards_n-1 ; e++) {
398 cards_pos[e] = cards_pos[e+1];
400 cards_pos[cards_n-1] = idx;
402 cards_dispose_so(cards_n, takes_n);
405 act_play(briskid,o.style.left,o.style.top);
409 cards_dispose_so(cards_n, takes_n);
414 $("sandbox2").innerHTML = "TO ORIGINAL";
415 /* alert("out card " + parseInt(o.style.top)); */
416 /* return to the original position */
417 cards_dispose_so(cards_n, takes_n);
424 function card_send_so(id,card,free,ct)
426 var img = $("card"+id);
427 img.src = getcard(-1,0);
430 img.style.left = 400 - cards_width_d2;
431 img.style.top = 300 - cards_height_d2;
432 img.style.zIndex = 100;
434 var movimg = new slowimg(img,400 - cards_width / 2,475 + (125 - cards_height)/2,25,free,"cards_dispose_so("+ct+", 0)",getcard(card,0));
435 movimg.settime(G_send_time);
439 function card_send_ea(id,card,free,ct)
441 var img = $("card_ea"+id);
442 img.src = getcard(card,1);
445 img.style.left = 400 - cards_height_d2;
446 img.style.top = 300 - cards_width_d2;
447 img.style.zIndex = 100;
449 var movimg = new slowimg(img,686,296,25,free,"cards_dispose_ea("+ct+", 0);",getcard(card,1));
450 movimg.settime(G_send_time);
454 function card_send_ne(id,card,free,ct)
456 var img = $("card_ne"+id);
457 img.src = getcard(card,2);
460 img.style.left = 400 - cards_width_d2;
461 img.style.top = 300 - cards_height_d2;
462 img.style.zIndex = 100;
464 var movimg = new slowimg(img,571,11,25,free,"cards_dispose_ne("+ct+", 0);",getcard(card,2));
465 movimg.settime(G_send_time);
469 function card_send_nw(id,card,free,ct)
471 var img = $("card_nw"+id);
472 img.src = getcard(card,3);
475 img.style.left = 400 - cards_width_d2;
476 img.style.top = 300 - cards_height_d2;
477 img.style.zIndex = 100;
479 var movimg = new slowimg(img,171,11,25,free,"cards_dispose_nw("+ct+", 0);",getcard(card,3));
480 movimg.settime(G_send_time);
484 function card_send_we(id,card,free,ct)
486 var img = $("card_we"+id);
487 img.src = getcard(card,4);
490 if (id < 0 || id > 39)
491 alert("ID ERRATO"+id);
493 img.style.left = 400 - cards_height_d2;
494 img.style.top = 300 - cards_width_d2;
495 img.style.zIndex = 100;
496 var movimg = new slowimg(img,11,296,25,free,"cards_dispose_we("+ct+", 0);",getcard(card,4));
497 movimg.settime(G_send_time);
501 var card_send_arr = new Array(card_send_so, card_send_ea,
502 card_send_ne, card_send_nw,
505 function card_send(player_pos,id,card,free,ct)
507 var idx = (player_pos - table_pos + PLAYERS_N) % PLAYERS_N;
509 card_send_arr[idx](id,card,free,ct);
512 function getcard(card,pos_id)
515 return ("img/cover"+sux[pos_id]+".png");
517 return ("img/0"+card+sux[pos_id]+".png");
519 return ("img/"+card+sux[pos_id]+".png");
522 function card_setours(zer,uno,due,tre,qua,cin,sei,set)
525 var arg = new Array(zer,uno,due,tre,qua,cin,sei,set);
527 for (i = 0 ; i < CARD_HAND ; i++) {
528 var id = (arg[i] < 10 ? '0' + arg[i] : '' + arg[i]);
529 $("card"+i).setAttribute('data-card-id', id);
530 $("card"+i).briskid = arg[i];
536 function card_play_so(card_idx, x, y)
538 alert("card_play_so: unreachable function.");
542 function card_postplay_ea(card_pos)
544 var img = $("card_ea"+card_pos);
547 for (i = 0 ; i < cards_ea_n ; i++) {
548 if (cards_ea_pos[i] == card_pos) {
549 for (e = i ; e < cards_ea_n-1 ; e++) {
550 cards_ea_pos[e] = cards_ea_pos[e+1];
552 cards_ea_pos[cards_ea_n-1] = card_pos;
554 cards_dispose_ea(cards_ea_n, takes_ea_n);
560 function card_play_ea(card_idx, x, y)
562 // var card_pos = RANGE 0 <= x < cards_ea_n
563 var card_pos = rnd_int(0,cards_ea_n-1);
564 var img = $("card_ea"+cards_ea_pos[card_pos]);
565 // alert("IMMO CON "+cards_ea_pos[card_pos]);
566 var newname = getcard(card_idx,1);
569 x1 = 500 + ((y-250) * (125 - cards_height) / (200 - cards_height));
570 y1 = 450 - cards_width - (x - 300);
572 var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_ea("+cards_ea_pos[card_pos]+");", newname);
573 movimg.settime(G_play_time);
578 function card_postplay_ne(obj,card_pos)
580 var img = $("card_ne"+card_pos);
584 for (i = 0 ; i < cards_ne_n ; i++) {
585 if (cards_ne_pos[i] == card_pos) {
586 for (e = i ; e < cards_ne_n-1 ; e++) {
587 cards_ne_pos[e] = cards_ne_pos[e+1];
589 cards_ne_pos[cards_ne_n-1] = card_pos;
591 cards_dispose_ne(cards_ne_n, takes_ne_n);
597 function card_play_ne(card_idx, x, y)
599 var card_pos = rnd_int(0,cards_ne_n-1);
600 var img = $("card_ne"+cards_ne_pos[card_pos]);
601 var newname = getcard(card_idx,2);
604 x1 = 600 - cards_width - (x - 300);
605 y1 = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
607 var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_ne(this,"+cards_ne_pos[card_pos]+");", newname);
608 movimg.settime(G_play_time);
613 function card_postplay_nw(card_pos)
615 var img = $("card_nw"+card_pos);
618 for (i = 0 ; i < cards_nw_n ; i++) {
619 if (cards_nw_pos[i] == card_pos) {
620 for (e = i ; e < cards_nw_n-1 ; e++) {
621 cards_nw_pos[e] = cards_nw_pos[e+1];
623 cards_nw_pos[cards_nw_n-1] = card_pos;
625 cards_dispose_nw(cards_nw_n, takes_nw_n);
631 function card_play_nw(card_idx, x, y)
633 var card_pos = rnd_int(0,cards_nw_n-1);
634 var img = $("card_nw"+cards_nw_pos[card_pos]);
635 var newname = getcard(card_idx,3);
638 x1 = 400 - cards_width - (x - 300);
639 y1 = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
641 var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_nw("+cards_nw_pos[card_pos]+");", newname);
642 movimg.settime(G_play_time);
647 function card_postplay_we(card_pos)
649 var img = $("card_we"+card_pos);
652 for (i = 0 ; i < cards_we_n ; i++) {
653 if (cards_we_pos[i] == card_pos) {
654 for (e = i ; e < cards_we_n-1 ; e++) {
655 cards_we_pos[e] = cards_we_pos[e+1];
657 cards_we_pos[cards_we_n-1] = card_pos;
659 cards_dispose_we(cards_we_n, takes_we_n);
665 function card_play_we(card_idx, x, y)
667 var card_pos = rnd_int(0,cards_we_n-1);
668 var img = $("card_we"+cards_we_pos[card_pos]);
669 var newname = getcard(card_idx,4);
672 x1 = 300 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
675 var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_we("+cards_we_pos[card_pos]+");", newname);
676 movimg.settime(G_play_time);
680 var card_play_arr = new Array( card_play_so, card_play_ea, card_play_ne, card_play_nw, card_play_we);
682 /* card_play(player_pos, card_pos, card_idx, x, y)
683 player_pos - position of the player on the table
684 card_pos - position of the card in the hand of the player
685 card_idx - id of the card (to show it after the move)
686 x, y - coordinates of the card on the original table
688 orig 200x200 dest 200x125
690 function card_play(player_pos, card_idx, x, y)
692 var idx = (player_pos - table_pos + PLAYERS_N) % PLAYERS_N;
694 card_play_arr[idx](card_idx, x, y);
699 function card_place_so(card_pos, card_idx, x, y)
701 var img = $("card"+card_pos);
703 // alert("card_place_so"+card_pos);
707 img.style.visibility = "visible";
708 img.src = getcard(card_idx,0);
712 function card_place_ea(card_pos, card_idx, x, y)
714 var img = $("card_ea"+card_pos);
716 // alert("card_place_ea");
718 img.style.left = 500 + ((y-250) * (125 - cards_height) / (200 - cards_height));
719 img.style.top = 450 - cards_width - (x - 300);
720 img.style.visibility = "visible";
721 img.src = getcard(card_idx,1);
725 function card_place_ne(card_pos, card_idx, x, y)
727 var img = $("card_ne"+card_pos);
729 // alert("card_place_ne");
731 img.style.left = 600 - cards_width - (x - 300);
732 img.style.top = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
733 img.style.visibility = "visible";
734 img.src = getcard(card_idx,2);
738 function card_place_nw(card_pos, card_idx, x, y)
740 var img = $("card_nw"+card_pos);
742 // alert("card_place_nw");
744 img.style.left = 400 - cards_width - (x - 300);
745 img.style.top = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
746 img.style.visibility = "visible";
747 img.src = getcard(card_idx,3);
751 function card_place_we(card_pos, card_idx, x, y)
753 var img = $("card_we"+card_pos);
755 // alert("card_place_we");
757 img.style.left = 300 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
758 img.style.top = 250 + x - 300;
759 img.style.visibility = "visible";
760 img.src = getcard(card_idx,4);
763 var card_place_arr = new Array( card_place_so, card_place_ea, card_place_ne, card_place_nw, card_place_we );
766 function card_place(player_pos, card_pos, card_idx, x, y)
768 var idx = (player_pos - table_pos + PLAYERS_N) % PLAYERS_N;
770 // alert("card_place"+idx);
772 card_place_arr[idx](card_pos, card_idx, x, y);
777 function card_post_take(card)
779 var img = $("card"+card);
780 img.style.visibility = "hidden";
781 cards_dispose_so(cards_n, takes_n);
784 function card_ea_post_take(card)
786 var img = $("card_ea"+card);
787 img.style.visibility = "hidden";
788 cards_dispose_ea(cards_ea_n, takes_ea_n);
791 function card_ne_post_take(card)
793 var img = $("card_ne"+card);
794 img.style.visibility = "hidden";
795 cards_dispose_ne(cards_ne_n, takes_ne_n);
798 function card_nw_post_take(card)
800 var img = $("card_nw"+card);
801 img.style.visibility = "hidden";
802 cards_dispose_nw(cards_nw_n, takes_nw_n);
805 function card_we_post_take(card)
807 var img = $("card_we"+card);
808 img.style.visibility = "hidden";
809 cards_dispose_we(cards_we_n, takes_we_n);
813 function cards_take(win)
815 var taker = (win - table_pos + PLAYERS_N) % PLAYERS_N;
817 // alert("cards_n: "+cards_n+"card: "+cards_pos[cards_n]+"cards_ea_n: "+cards_ea_n+"card_ea: "+cards_ea_pos[cards_ea_n]+"cards_ne_n: "+cards_ne_n+"card_ne: "+cards_ne_pos[cards_ne_n] + "taker:"+taker);
821 takes_n += PLAYERS_N; break;
823 takes_ea_n += PLAYERS_N; break;
825 takes_ne_n += PLAYERS_N; break;
827 takes_nw_n += PLAYERS_N; break;
829 takes_we_n += PLAYERS_N; break;
834 var img = $("card"+cards_pos[cards_n]);
835 var movimg = new slowimg(img,
836 take_x[taker] - cards_width_d2,
837 take_y[taker] - cards_height_d2,
838 25, 0, "card_post_take("+cards_pos[cards_n]+");", null);
839 movimg.settime(G_take_time);
842 var img = $("card_ea"+cards_ea_pos[cards_ea_n]);
843 var movimg = new slowimg(img,
844 take_x[taker] - cards_height_d2,
845 take_y[taker] - cards_width_d2,
846 25, 0, "card_ea_post_take("+cards_ea_pos[cards_ea_n]+");", null);
847 movimg.settime(G_take_time);
850 var img = $("card_ne"+cards_ne_pos[cards_ne_n]);
851 var movimg = new slowimg(img,
852 take_x[taker] - cards_width_d2,
853 take_y[taker] - cards_height_d2,
854 25, (PLAYERS_N == 3 ? 1 : 0), "card_ne_post_take("+cards_ne_pos[cards_ne_n]+");", null);
855 movimg.settime(G_take_time);
858 var img = $("card_nw"+cards_nw_pos[cards_nw_n]);
859 var movimg = new slowimg(img,
860 take_x[taker] - cards_width_d2,
861 take_y[taker] - cards_height_d2,
862 25, 0, "card_nw_post_take("+cards_nw_pos[cards_nw_n]+");", null);
863 movimg.settime(G_take_time);
866 var img = $("card_we"+cards_we_pos[cards_we_n]);
867 var movimg = new slowimg(img,
868 take_x[taker] - cards_height_d2,
869 take_y[taker] - cards_width_d2,
870 25, 1, "card_we_post_take("+cards_we_pos[cards_we_n]+");", null);
871 movimg.settime(G_take_time);