if ($user->table_pos != $index_cur ||
!$table->asta_pla[$index_cur]) {
+ // FIXME_LANG
$ret_s = 'grave inconsistenza';
break;
}
log_wr("CI SIAMO a_card ".$a_card." asta_card ".$table->asta_card);
- // Abbandono dell'asta
- if ($a_card <= -1) {
- log_wr("Abbandona l'asta.");
- $table->asta_pla[$index_cur] = FALSE;
- $user->asta_card = -1;
- $table->asta_pla_n--;
- }
- else if ($a_card <= 9) {
- if (!$table->rules->engine(&$bin5, $curtime, BIN5_RULES_ASTA, $user, $ret_s, $a_card, $a_pnt)) {
- break;
- }
- }
- else {
+ /* user action management */
+ if (!$table->rules->engine(&$bin5, $curtime, BIN5_RULES_ASTA, $user,
+ $ret_s, $a_card, $a_pnt)) {
break;
}
for ($i = 0 ; $i < BIN5_PLAYERS_N ; $i++) {
$user_cur = &$bin5->user[$table->player[$i]];
$showst .= sprintf("%s%d", ($i == 0 ? "" : ", "),
- ($user_cur->asta_card < 9 ? $user_cur->asta_card : $user_cur->asta_pnt));
+ ($user_cur->asta_card < 9 ? $user_cur->asta_card :
+ $user_cur->asta_pnt));
}
if (BIN5_PLAYERS_N == 3)
$showst .= ",-2,-2";
$maxcard = $user_cur->asta_card;
}
- if (($table->asta_pla_n > ($maxcard > -1 ? 1 : 0)) &&
- !($table->asta_card == 9 && $table->asta_pnt == 120)) {
- log_wr("ALLOPPA QUI");
+ /*
+ * IF not max points AND
+ * (asta_pla_n > 1 if someone bet OR
+ * asta_pla_n > 0 if someone NOT bet)
+ * THEN advance auction
+ */
+ if ($table->rules->engine(&$bin5, $curtime, BIN5_RULES_NEXTAUCT, $user, $maxcard)) {
+ /* search the next player in auction and put it in gstart field */
for ($i = 1 ; $i < BIN5_PLAYERS_N ; $i++) {
$index_next = ($table->gstart + $i) % BIN5_PLAYERS_N;
if ($table->asta_pla[$index_next]) {
}
}
-
+ /* set client side view */
for ($i = 0 ; $i < BIN5_PLAYERS_N ; $i++) {
$user_cur = &$bin5->user[$table->player[$i]];
$ret = sprintf('gst.st = %d; %s', $user_cur->step+1, $showst);
if ($a_brisco >= 0 && $a_brisco < (BIN5_CARD_HAND * BIN5_PLAYERS_N)) {
$table->briscola = $a_brisco;
- $tourn_values = array(11, 10, 4,3,2, 1,1,1,1,1);
+ if (BIN5_CARD_HAND == 8)
+ $tourn_values = array(11, 10, 4,3,2, 1,1,1,1,1);
+ else
+ $tourn_values = array(33, 30, 12,9,6, 3,3,3,3,3);
+
$table->tourn_pts = 0;
$seed = $a_brisco - ($a_brisco % 10);
for ($i = $seed ; $i < ($seed + min(10, BIN5_CARD_HAND * BIN5_PLAYERS_N)) ; $i++) {