From 1dff796708c17d7483d85cc14c1f6b101710f369 Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 20 Jan 2019 14:09:56 +0100 Subject: Fixing minimum WK bug in old calculator --- http/pkle2018-fixed.php | 587 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 587 insertions(+) create mode 100644 http/pkle2018-fixed.php (limited to 'http') diff --git a/http/pkle2018-fixed.php b/http/pkle2018-fixed.php new file mode 100644 index 0000000..b3f83fa --- /dev/null +++ b/http/pkle2018-fixed.php @@ -0,0 +1,587 @@ +2 ) $typ = 4; + $izw = $typ*$iuc; + if( $izw > 99 ){ + $dajp = 1; + } + if( $l > 3 ) $tab = 1; +} +else*/if( $_SERVER['REQUEST_METHOD'] == 'POST' ){ + $rozdan = $_POST['rozdan']; + + $progu1 = $_POST['pru1']; // dla pierwszych progu1% uczestników + $progp1 = $_POST['prp1']; // ostatni dostaje progp1% maximum punktów + $progu2 = $_POST['pru2']; // dla kolejnych (progu2-progu1)% uczestników + $progp2 = $_POST['prp2']; // ostatni dostaje 10*progp2% maximum punktów + $progu3 = $_POST['pru3']; // dla kolejnych (progu3-progu2)% uczestników + $rgg = $_POST['rgg']; + $rgp = $_POST['rgp']; + $rot = $_POST['rot']; + $rok1 = $_POST['rok1']; + $rok = $_POST['rok']; + $rtp = $_POST['rtp']; + $rto = $_POST['rto']; + $rtk = $_POST['rtk']; + $rgg_ = $_POST['rgg_']; + $rgp_ = $_POST['rgp_']; + $rot_ = $_POST['rot_']; + $rok1_ = $_POST['rok1_']; + $rok_ = $_POST['rok_']; + $rtp_ = $_POST['rtp_']; + $rto_ = $_POST['rto_']; + $rtk_ = $_POST['rtk_']; + + $typ = $_POST['typ']; + $rng = $_POST['rng']; + $zaw = $_POST['zaw']; + $min1 = $_POST['min1']; + $min2 = $_POST['min2']; + $min3 = $_POST['min3']; + $min4 = $_POST['min4']; + $min5 = $_POST['min5']; + $min6 = $_POST['min6']; + $min7 = $_POST['min7']; + $min8 = $_POST['min8']; + $min1_ = $_POST['min1_']; + $min2_ = $_POST['min2_']; + $min3_ = $_POST['min3_']; + $min4_ = $_POST['min4_']; + $min5_ = $_POST['min5_']; + $min6_ = $_POST['min6_']; + $min7_ = $_POST['min7_']; + $min8_ = $_POST['min8_']; + if(!$rozdan): + switch( $rng ){ + case 1: + $rng = $rgg; + $minpkl = $min1; + break; + case 2: + $rng = $rgp; + $minpkl = $min2; + break; + case 3: + $rng = $rot; + $minpkl = $min3; + break; + case 4: + $rng = $rok1; + $minpkl = $min4; + break; + case 5: + $rng = $rok; + $minpkl = $min5; + break; + case 6: + $rng = $rtp; + $minpkl = $min6; + break; + case 7: + $rng = $rto; + $minpkl = $min7; + break; + case 8: + $rng = $rtk; + $minpkl = $min8; + break; + } + else: + switch( $rng ){ + case 1: + $rng = $rgg_; + $minpkl = $min1_; + break; + case 2: + $rng = $rgp_; + $minpkl = $min2_; + break; + case 3: + $rng = $rot_; + $minpkl = $min3_; + break; + case 4: + $rng = $rok1_; + $minpkl = $min4_; + break; + case 5: + $rng = $rok_; + $minpkl = $min5_; + break; + case 6: + $rng = $rtp_; + $minpkl = $min6_; + break; + case 7: + $rng = $rto_; + $minpkl = $min7_; + break; + case 8: + $rng = $rtk_; + $minpkl = $min8_; + break; + } + endif; + $iuc = $_POST['iuc']; + if( $typ>2 ) $typ = 4; + $izw = $typ*$iuc; + if( $izw > 99 ){ + $dajp = 1; + } + $swk = $_POST['swk']; + $tab = 1; +} +?> + + + + + + +Kargulator PKLi + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

KALKULATOR PKLI W TURNIEJACH PZBS
+ zgodny z nowym regulaminem (obowiązującym od 01.11.2018)

+ Przejdź do kalkulatora zgodnego ze starym regulaminem! +

+ Możesz eksperymentować ze wszystkimi (prawie) parametrami.
+ Dla przywrócenia stanu regulaminowego otwórz ponownie stronę.
 
turniej do 39 rozdańturniej od 40 rozdań
WAGA
turnieju
MINIMUM
za 1sze miejsce
WAGA
turnieju
MINIMUM
za 1sze miejsce
WSP:
+ OTP∗∗∗∗: >
+ OTP∗∗∗: >
+ OTP∗∗: >
+ OTP: >
+ OTP: >
+ Regionalny: >
+ Okręgowy: >
+ Klubowy: >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ OTP∗∗∗∗: >
+ OTP∗∗∗: >
+ OTP∗∗: >
+ OTP: >
+ OTP: >
+ Regionalny: >
+ Okręgowy: >
+ Klubowy: >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
>PKL za 1 m = śr.WK×WAGA + il.zaw×WSP




>%
>%
 
>%>%>%
 
TYP ZAWODÓW
+ >
+ >
+ > +

LICZBA ROZDAŃ
+ >
+ > +
RANGA ZAWODÓW
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
UCZESTNIKÓW
+ 0 ){echo ' value="'.$iuc.'"';}?>>
+ W zależności od typu
ilość indywidualistów,
par lub teamów
ZAWODNIKÓW
+ 0 ){echo ' value="'.$izw.'"';}?>>
+ To pole jest wyliczane
automatycznie.
SUMA WK
+ 0 ){echo ' value="'.$swk.'"';}?>>
+ Suma WK wszystkich
zawodników.
Średnie WK zawodnika w turnieju:  + 0 ){echo ' value="'.($swk/$izw > 0.15 ? $swk/$izw : 0.15).'"';}?>>
+
 
+ +0 ){ + echo ' + '; +} else { + echo ' '; +} +?> +
+0 ){ + unset( $tabpkl ); + $lasti = 0; + echo ''; + echo ''; + // #zmiany2018 - poprzednie brzmienie: $max = ceil(($swk/$izw)*$rng + $izw*$zaw); + // #bugfix2019 - poprzednie brzmienie: $max = ($swk/$izw)*$rng + $izw*$zaw; + $max = max(0.15,($swk/$izw))*$rng + $izw*$zaw; + if($typ == 4) $max = $max*1.25; // mnożnik 1.25 dla teamów UCHWAŁA Zarządu NR 52/2018/2016–2020 + $max = safe_ceil($max); + // #zmiany2018 - koniec zmienionego fragmentu + if( $max<$minpkl ) $max = $minpkl; + $prem = 0; + $zni = 1; + switch( $typ ){ + case 2: + $zni = 2; + break; + case 4: + $zni = 4; + break; + } + if( $prem>0 ){ + $d = 2; + } else { + $d = 0; + } + $maxold = safe_ceil($prcold*$izw + 0.05*$swk); + $progu1 = $progu1*$iuc*0.01+1; + $progu2 = $progu2*$iuc*0.01+1; + $progu3 = $progu3*$iuc*0.01+1; // 0 pkl za ostatnie punktowane+1 + $progp1 = $max*$progp1*0.01; + $progp2 = $max*$progp2*0.01; + $sumn = 0 ; + $sumo = 0; + $i = 0; + do{ + $i++; + if( $i<=$progu1 ){ + $p = $progp1+($max-$progp1)*($progu1-$i)/($progu1-1); + } + elseif( $i<=$progu2 ){ + $p = $progp2+($progp1-$progp2)*($progu2-$i)/($progu2-$progu1); + } + elseif( $i<$progu3 ){ + $p = $progp3+($progp2-$progp3)*($progu3-$i)/($progu3-$progu2); + } + else $p=1; // #zmiany2018 - zmiana wartości z 0 na 1, UCHWAŁA Zarządu NR 67/2018/2016–2020 + if( ($p>0) ){ + echo ''; + if( $p>0 ){ + $p = safe_ceil($p); + $tabkl[$i] = $p; + $lasti = $i; + echo ''; + $sumn = $sumn + $p; + } else { + echo ''; + } + echo ''; + } + } while( (($p>0) || ($maxold>0)) && ($i<$iuc) ); + echo ''; + echo '
Miejsce   PKL   
'.$i.''.$p.' 
SUMA PKL'.$typ*$sumn.'
'; +} else { + echo ' '; +} +?> +
+
+ + -- cgit v1.2.3