- if ($is_transition && !$is_again) { // appena seduti al tavolo, play della mucca
- $ret .= playsound("cow.mp3");
- }
-
-
- /* CARDS */
- if ($is_transition) { // && $user->subst == "asta" superfluo
- $ret .= "|";
-
- for ($i = 0 ; $i < 8 ; $i++) {
- for ($e = 0 ; $e < PLAYERS_N ; $e++) {
- $ct = 0;
- for ($o = 0 ; $o < 40 && $ct < $i+1 ; $o++) {
- if ($table->card[$o]->owner == (($e + $table->gstart) % PLAYERS_N)) {
- $ct++;
- if ($ct == $i+1)
- break;
- }
- }
- log_rd("O ".$o." VAL ".$table->card[$o]->value." Owner: ".$table->card[$o]->owner);
-
- $ret .= sprintf( ' card_send(%d,%d,%d,%8.2f,%d);|', ($table->gstart + $e) % PLAYERS_N,
- $i, ((($e + PLAYERS_N - $table_pos + $table->gstart) % PLAYERS_N) == 0 ?
- $table->card[$o]->value : -1),
- ($i == 7 && $e == (PLAYERS_N - 1) ? 1 : 0.5),$i+1);
- }
- }
- }
- else {
- $taked = array(0,0,0,0,0);
- $inhand = array(0,0,0,0,0);
- $ontabl = array(-1,-1,-1,-1,-1);
- $cards = array();
-
- for ($i = 0 ; $i < 40 ; $i++) {
- if ($table->card[$i]->stat == 'hand') {
- if ($table->card[$i]->owner == $table_pos) {
- $cards[$inhand[$table->card[$i]->owner]] = $table->card[$i]->value;
- }
- $inhand[$table->card[$i]->owner]++;
- }
- else if ($table->card[$i]->stat == 'take') {
- log_main("Card taked: ".$table->card[$i]->value."OWN: ".$table->card[$i]->owner);
- $taked[$table->card[$i]->owner]++;
- }
- else if ($table->card[$i]->stat == 'table') {
- $ontabl[$table->card[$i]->owner] = $i;
- }
- }
- $logg = "\n";
- for ($i = 0 ; $i < PLAYERS_N ; $i++) {
- $logg .= sprintf("INHAND: %d IN TABLE %d TAKED %d\n", $inhand[$i], $ontabl[$i], $taked[$i]);
- }
- log_main("Stat table: ".$logg);
-
- /* Set ours cards. */
- $oursarg = "";
- for ($i = 0 ; $i < $inhand[$table_pos] ; $i++)
- $oursarg .= ($i == 0 ? "" : ", ").$cards[$i];
- for ($i = $inhand[$table_pos] ; $i < 8 ; $i++)
- $oursarg .= ($i == 0 ? "" : ", ")."-1";
- $ret .= sprintf('card_setours(%s);', $oursarg);
-
- /* Dispose all cards */
- for ($i = 0 ; $i < PLAYERS_N ; $i++) {
- /* Qui sotto al posto di + 1 c'era + ->gstart ... credo in modo errato */
- $ret .= sprintf('cards_dispose(%d,%d,%d);', $i,
- $inhand[$i], $taked[$i]);
-
- if ($ontabl[$i] != -1) {
- $ret .= sprintf('card_place(%d,%d,%d,%d,%d);',$i, $inhand[$i],
- $table->card[$ontabl[$i]]->value,
- $table->card[$ontabl[$i]]->x, $table->card[$ontabl[$i]]->y);
- }
- }
- }
-
- /* Show auction */
- if ($user->subst == 'asta') {
-
- /* show users auction status */
- $showst = "";
- for ($i = 0 ; $i < PLAYERS_N ; $i++) {
- $user_cur = &$room->user[$table->player[$i]];
- $showst .= sprintf("%s%d", ($i == 0 ? "" : ", "),
- ($user_cur->asta_card < 9 ? $user_cur->asta_card : $user_cur->asta_pnt));
- }
- if (PLAYERS_N == 3)
- $showst .= ",-2,-2";
- $ret .= sprintf('show_astat(%s);', $showst);
-
- if ($table->asta_win != -1 && $table->asta_win == $table_pos) {
- /* show card chooser */
- $ret .= sprintf('choose_seed(%s); $("astalascio").style.visibility = ""; $("asta").style.visibility = "hidden";',
- $table->asta_card);
- }
- else {
- /* show auction */
- if ($table_pos == ($table->gstart % PLAYERS_N) &&
- $table->asta_win == -1)
- $ret .= sprintf('dispose_asta(%d,%d, %s);',
- $table->asta_card + 1, $table->asta_pnt+1, ($user->handpt <= 2 ? "true" : "false"));
- else
- $ret .= sprintf('dispose_asta(%d,%d, %s);',
- $table->asta_card + 1, -($table->asta_pnt+1), ($user->handpt <= 2 ? "true" : "false"));
- }
-
- /* Remark */
- if ($table->asta_win == -1) { // auction case
- if ($table_pos == ($table->gstart % PLAYERS_N))
- $ret .= "remark_on();";
- else
- $ret .= "remark_off();";
- }
- else { // chooseed case
- if ($table_pos == $table->asta_win)
- $ret .= "remark_on();";
- else
- $ret .= "remark_off();";
- }
- }
- else if ($user->subst == 'game') {
- /* HIGHLIGHT */
- if (($table->gstart + $table->turn) % PLAYERS_N == $table_pos)
- $ret .= "is_my_time = true; remark_on();";
- else
- $ret .= "remark_off();";
-
- /* WHO CALL AND WATH */
- $ret .= briscola_show($room, $table, $user);
-
- }