frontend: add /rules page

This commit is contained in:
nemunaire 2016-12-04 19:07:52 +01:00 committed by nemunaire
parent afe3251323
commit 8d1ee03f02
2 changed files with 152 additions and 0 deletions

View File

@ -1,6 +1,10 @@
angular.module("FICApp", ["ngRoute", "ngSanitize"])
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when("/rules", {
controller: "HomeController",
templateUrl: "views/rules.html"
})
.when("/edit", {
controller: "MyTeamController",
templateUrl: "views/team-edit.html"

View File

@ -0,0 +1,148 @@
<div class="well well-lg text-indent">
<h2>Débloquage des challenges</h2>
<p>
Au début, seul le premier challenge de chaque thème est
accessible. Les challenges de niveau supérieur sont débloqués en
validant le challenge du niveau qui les précéde.
</p>
<hr>
<h2>Le classement</h2>
<p>
Pour figurer dans le classement, il faut avoir réalisé au moins une action :
qu'elle ajoute ou retire des points.
</p>
<p>
En cas d'égalité au score, les équipes sont départagées selon leur
ordre d'arrivée à ce score.
</p>
<hr>
<h2>Calcul des points</h2>
<p>
Pour gagner des points, vous devez résoudre les challenges qui vous sont
proposés. Plus l'exercice est compliqué, plus il rapporte de points.
</p>
<div class="row">
<div class="col-sm-offset-3 col-sm-6">
<table class="table table-condensed table-striped">
<thead>
<tr>
<th>Niveau de l'exercice</th>
<th>Points rapportés</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>5 points</td>
</tr>
<tr>
<td>1</td>
<td>11 points</td>
</tr>
<tr>
<td>2</td>
<td>23 points</td>
</tr>
<tr>
<td>3</td>
<td>47 points</td>
</tr>
<tr>
<td>4</td>
<td>95 points</td>
</tr>
</tbody>
</table>
</div>
</div>
<h3>Coût des indices</h3>
<p>
Pour vous aider, certains exercices vous proposent un ou
plusieurs <strong>indices</strong>. Ces indices vous font perdre des
points, la valeur de points perdue est indiquée pour chaque indice.
</p>
<h3>Coût de soumission</h3>
<p>
Vous disposez de 9 tentatives pour trouver la/les solutions d'un
challenge. Au delà, chaque tentative vous fait perdre une petite quantité
de points comme suit :
</p>
<div class="row">
<div class="col-sm-offset-2 col-sm-8">
<table class="table table-condensed table-striped">
<thead>
<tr>
<th>Nombre de soumissions</th>
<th>Coût par tentative</th>
</tr>
</thead>
<tbody>
<tr>
<td>0 à 9</td>
<td>0 point</td>
</tr>
<tr>
<td>10 à 19</td>
<td><ng-pluralize count="settings.submissionCostBase" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
</tr>
<tr>
<td>20 à 29</td>
<td><ng-pluralize count="settings.submissionCostBase * 2" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
</tr>
<tr>
<td>30 à 39</td>
<td><ng-pluralize count="settings.submissionCostBase * 3" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
</tr>
<tr>
<td>40 à 49</td>
<td><ng-pluralize count="settings.submissionCostBase * 4" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize></td>
</tr>
<tr>
<td>...</td>
<td>...</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>
Par exemple :
</p>
<ul>
<li>À 10 soumissions, vous aurez perdu <ng-pluralize count="settings.submissionCostBase" when="{'one': '{} point', 'other': '{} points'}"></ng-pluralize>.</li>
<li>À 15 soumissions, 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 soumissions 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 soumissions 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>
</ul>
<p>
La dernière soumission (lorsque tous les flags sont bons) est comptabilisée
parmi ce nombre de tentatives.
</p>
<h3>Bonus</h3>
<p>
Plusieurs bonus peuvent s'appliquer en même temps, dans ce cas, le calcul
du bonus est toujours effectué à partir du nombre de points initials du
challenge.
</p>
<h4>Prem's</h4>
<p>
Un bonus de +{{ settings.firstBlood * 100 }}&nbsp;% est attribué à la première équipe qui résout un challenge.
</p>
<h4>Bonus temporaires <small><span class="glyphicon glyphicon-gift" aria-hidden="true" alt="Des
bonus existent pour au moins un challenge de ce thème"></span></small></h4>
<p>
Au cours du challenge, afin de booster les équipes ou certains challenges,
un bonus peut-être attribué si une soumission valide est envoyée durant la
période d'activité du bonus. Restez à l'écoute et observez les challenges
portant cette icône : <span class="glyphicon glyphicon-gift"
aria-hidden="true" alt="Des bonus existent pour au moins un challenge de ce
thème"></span>
</p>
</div>