rank: fix long running scoring error
This commit is contained in:
parent
7edd70c3c0
commit
74550f8907
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
<h3>Coût des tentatives</h3>
|
<h3>Coût des tentatives</h3>
|
||||||
<p>
|
<p>
|
||||||
Vous disposez de 9 tentatives pour trouver la/les solutions d'un
|
Vous disposez de 10 tentatives pour trouver la/les solutions d'un
|
||||||
challenge. Au delà, chaque tentative vous fait perdre une petite quantité
|
challenge. Au delà, chaque tentative vous fait perdre une petite quantité
|
||||||
de points comme suit :
|
de points comme suit :
|
||||||
</p>
|
</p>
|
||||||
@ -41,23 +41,23 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>0 à 9</td>
|
<td>0 à 10</td>
|
||||||
<td>0 point</td>
|
<td>0 point</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>10 à 19</td>
|
<td>11 à 20</td>
|
||||||
<td><ng-pluralize count="settings.submissionCostBase" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
<td><ng-pluralize count="settings.submissionCostBase" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>20 à 29</td>
|
<td>21 à 30</td>
|
||||||
<td><ng-pluralize count="settings.submissionCostBase * 2" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
<td><ng-pluralize count="settings.submissionCostBase * 2" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>30 à 39</td>
|
<td>31 à 40</td>
|
||||||
<td><ng-pluralize count="settings.submissionCostBase * 3" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
<td><ng-pluralize count="settings.submissionCostBase * 3" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>40 à 49</td>
|
<td>41 à 50</td>
|
||||||
<td><ng-pluralize count="settings.submissionCostBase * 4" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
<td><ng-pluralize count="settings.submissionCostBase * 4" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -74,10 +74,10 @@
|
|||||||
Par exemple :
|
Par exemple :
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>À 10 tentatives, vous aurez perdu <ng-pluralize count="settings.submissionCostBase" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize>.</li>
|
<li>À 10 tentatives, vous aurez perdu <ng-pluralize count="settings.submissionCostBase * 0" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize>.</li>
|
||||||
<li>À 15 tentatives, vous aurez perdu en tout <ng-pluralize count="settings.submissionCostBase * 5" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize> : <samp>{{ settings.submissionCostBase }} * 5</samp>.</li>
|
<li>À 15 tentatives, vous aurez perdu en tout <ng-pluralize count="settings.submissionCostBase * 5" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize> : <samp>{{ settings.submissionCostBase }} * 5</samp>.</li>
|
||||||
<li>25 tentatives vous coûteront en tout <ng-pluralize count="settings.submissionCostBase * 20" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize> : <samp>{{ settings.submissionCostBase }} * 10 + {{ settings.submissionCostBase * 2}} * 5</samp>.</li>
|
<li>25 tentatives vous coûteront en tout <ng-pluralize count="settings.submissionCostBase * 20" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize> : <samp>{{ settings.submissionCostBase }} * 10 + {{ settings.submissionCostBase * 2}} * 5</samp>.</li>
|
||||||
<li>50 tentatives vous coûteront en tout <ng-pluralize count="settings.submissionCostBase * 105" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize> : <samp>{{ settings.submissionCostBase }} * 10 + {{ settings.submissionCostBase * 2 }} * 10 + {{ settings.submissionCostBase * 3 }} * 10 + {{ settings.submissionCostBase * 4 }} * 10 + {{ settings.submissionCostBase * 5 }}</samp>.</li>
|
<li>50 tentatives vous coûteront en tout <ng-pluralize count="settings.submissionCostBase * 100" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize> : <samp>{{ settings.submissionCostBase }} * 10 + {{ settings.submissionCostBase * 2 }} * 10 + {{ settings.submissionCostBase * 3 }} * 10 + {{ settings.submissionCostBase * 4 }} * 10</samp>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
La dernière tentative (lorsque tous les flags sont bons) est comptabilisée
|
La dernière tentative (lorsque tous les flags sont bons) est comptabilisée
|
||||||
|
@ -13,7 +13,7 @@ var FirstBlood = 0.12
|
|||||||
var SubmissionCostBase = 0.5
|
var SubmissionCostBase = 0.5
|
||||||
|
|
||||||
func exoptsQuery(whereExo string) string {
|
func exoptsQuery(whereExo string) string {
|
||||||
return "SELECT S.id_team, S.time, E.gain AS points, coeff FROM (SELECT id_team, id_exercice, MIN(time) AS time, " + fmt.Sprintf("%f", FirstBlood) + " AS coeff FROM exercice_solved GROUP BY id_exercice UNION SELECT id_team, id_exercice, time, coefficient AS coeff FROM exercice_solved) S INNER JOIN exercices E ON S.id_exercice = E.id_exercice " + whereExo + " UNION ALL SELECT id_team, MAX(time) AS time, (FLOOR(COUNT(*)/10 - 1) * (FLOOR(COUNT(*)/10)))/0.2 + (FLOOR(COUNT(*)/10) * (COUNT(*)%10)) AS points, " + fmt.Sprintf("%f", SubmissionCostBase * -1) + " AS coeff FROM exercice_tries S " + whereExo + " GROUP BY id_exercice"
|
return "SELECT S.id_team, S.time, E.gain AS points, coeff FROM (SELECT id_team, id_exercice, MIN(time) AS time, " + fmt.Sprintf("%f", FirstBlood) + " AS coeff FROM exercice_solved GROUP BY id_exercice UNION SELECT id_team, id_exercice, time, coefficient AS coeff FROM exercice_solved) S INNER JOIN exercices E ON S.id_exercice = E.id_exercice " + whereExo + " UNION ALL SELECT id_team, MAX(time) AS time, (FLOOR(COUNT(*)/10 - 1) * (FLOOR(COUNT(*)/10)))/0.2 + (FLOOR(COUNT(*)/10) * (COUNT(*)%10)) AS points, " + fmt.Sprintf("%f", SubmissionCostBase * -1) + " AS coeff FROM exercice_tries S " + whereExo + " GROUP BY id_exercice, id_team"
|
||||||
}
|
}
|
||||||
|
|
||||||
func rankQuery(whereTeam string) string {
|
func rankQuery(whereTeam string) string {
|
||||||
|
Loading…
Reference in New Issue
Block a user