X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Fbriskin5%2FObj%2Frules_old_rules.phh;h=ffa1a1b56d368e3f5fe33344b4ccda8be87c0474;hb=bf3f1b6064a7f23cc8e38d69ecc16eb4b3f3e031;hp=0d2259a811e17de3044dc86e187a42344c1c6dba;hpb=a4964f13c6c883a655937d85ae50d0e0aff09226;p=brisk.git diff --git a/web/briskin5/Obj/rules_old_rules.phh b/web/briskin5/Obj/rules_old_rules.phh index 0d2259a..ffa1a1b 100644 --- a/web/briskin5/Obj/rules_old_rules.phh +++ b/web/briskin5/Obj/rules_old_rules.phh @@ -29,6 +29,7 @@ class Rules_old_rules extends Rules { function __construct($table) { parent::__construct($table); + $this->id = 1; } static function asta2mult($asta_pnt) @@ -85,15 +86,69 @@ class Rules_old_rules extends Rules { } } - function rules_asta(&$bri, $curtime, $action, $user, &$ret_s, $a_card, $a_pnt) { - if ($a_card >= 0 && $a_card < 9 && $a_card > $this->table->asta_card) - return TRUE; - else if ($a_card == 9 && $a_pnt > ($this->table->asta_pnt >= 61 ? $this->table->asta_pnt : 60) && $a_pnt <= 120) + function rules_asta(&$bri, $curtime, $action, $user, &$ret_s, $a_card, $a_pnt) + { + $index_cur = $this->table->gstart % BIN5_PLAYERS_N; + + // Abbandono dell'asta + if ($a_card <= -1) { + log_wr("Abbandona l'asta."); + $this->table->asta_pla[$index_cur] = FALSE; + $user->asta_card = -1; + $this->table->asta_pla_n--; + return TRUE; + } + else if ($a_card <= 9) { + $ret_s = ""; + + do { + if ($a_card >= 0 && $a_card < 9 && $a_card > $this->table->asta_card) + ; + else if ($a_card == 9 && $a_pnt > ($this->table->asta_pnt >= 61 ? $this->table->asta_pnt : 60) + && $a_pnt <= 120) + ; + else + break; + + $user->asta_card = $a_card; + $this->table->asta_card = $a_card; + if ($a_card == 9) { + $user->asta_pnt = $a_pnt; + $this->table->asta_pnt = $a_pnt; + } + + return TRUE; + } while (0); + } return FALSE; } + function rules_checkchoose(&$bri, $curtime, $action, $user, &$ret_s, $a_brisco) + { + if ( !($a_brisco >= 0 && $a_brisco < 40)) // (BIN5_CARD_HAND * BIN5_PLAYERS_N)) ) + return FALSE; + + if ( !($this->table->asta_win > -1 && + $user->table_pos == $this->table->asta_win) ) + return FALSE; + + return TRUE; + } + + function rules_nextauct(&$bri, $curtime, $action, $user, $maxcard) + { + if (($this->table->asta_pla_n > ($maxcard > -1 ? 1 : 0)) && + !($this->table->asta_card == 9 && $this->table->asta_pnt == 120)) { + return TRUE; + } + else { + return FALSE; + } + + } + function engine(&$bri, $curtime, $action, $user, &$opt1 = NULL, &$opt2 = NULL, &$opt3 = NULL) { GLOBAL $G_all_points, $G_dbasetype; @@ -102,9 +157,12 @@ class Rules_old_rules extends Rules { $pnts_sav = array(); if ($action == BIN5_RULES_ASTA) { - return ($this->rules_asta($bri, $curtime, $action, $user, &$opt1, $opt2, $opt3)); + return ($this->rules_asta($bri, $curtime, $action, $user, $opt1, $opt2, $opt3)); } - if ($action == BIN5_RULES_ALLPASS) { // return TRUE if all correct + else if ($action == BIN5_RULES_NEXTAUCT) { + return ($this->rules_nextauct($bri, $curtime, $action, $user, $opt1)); + } + else if ($action == BIN5_RULES_ALLPASS) { // return TRUE if all correct $table->old_act = $action; $table->old_asta_win = -1; $table->old_pnt = 0; @@ -136,6 +194,9 @@ class Rules_old_rules extends Rules { // $table->game_next(0); $table->game_init(&$bri->user); } + else if ($action == BIN5_RULES_CHECKCHOOSE) { + return ($this->rules_checkchoose($bri, $curtime, $action, $user, $opt1, $opt2)); + } else if ($action == BIN5_RULES_FINISH) { // return TRUE if all correct $table->old_act = $action; do { @@ -261,7 +322,7 @@ class Rules_old_rules extends Rules { static function game_description($act, $form, $old_mult, $win = -1, $win_name = "?1?", $fri = -1, $fri_name = "?2?", $old_pnt = -1, $old_asta_pnt = -1, $old_tourn_pts = -1) { - GLOBAL $G_lang, $mlang_bin5_bin5; + GLOBAL $G_lang, $mlang_bin5_rules; if ($form == 'html') { $tg_br = "
"; @@ -301,8 +362,7 @@ class Rules_old_rules extends Rules { $noty .= sprintf($mlang_bin5_rules['info_part'][$G_lang], $tg_br, $tg_hr, $tg_bo, $tg_bc, $win_name, - $fri_name, - $old_tourn_pts); + $fri_name); if ($old_pnt == 120) { $noty .= sprintf($mlang_bin5_rules['info_capp'][$G_lang], $tg_br, $tg_hr, $tg_bo, $tg_bc ); @@ -329,8 +389,7 @@ class Rules_old_rules extends Rules { else { $noty .= sprintf($mlang_bin5_rules['info_alon'][$G_lang], $tg_br, $tg_hr, $tg_bo, $tg_bc, - $win_name, - $old_tourn_pts); + $win_name); if ($old_pnt == 120) { $noty .= sprintf($mlang_bin5_rules['info_acap'][$G_lang], $tg_br, $tg_hr, $tg_bo, $tg_bc);