Commit 92ac96f0 authored by Gerson Sunyé's avatar Gerson Sunyé
Browse files

The README file was updated according to the source code

parent 55a4bb0a
......@@ -91,7 +91,7 @@ Ces trois traitements correspondent aux différents appels à `app.get()` et `ap
2. Le navigateur internet récupère immédiatement les informations de la partie en cours présentes à l'adresse `/status.js` et remplit l'échiquier à l'aide d'un script situé dans le fichier `script.js`. Ces deux scripts se trouvent dans le dossier `client`.
3. Un clic sur le bouton "Envoyer" effectue une requête de type **POST** au à l'adresse **"/"** du serveur, contenant les informations du champs de texte associé.
3. Un clic sur le bouton "Envoyer" effectue une requête de type **POST** au à l'adresse **"/"** du serveur, contenant les informations du champs de texte associé.
Le serveur traite alors la requête afin de jouer le coup demandé.
4. La page internet du joueur est alors rechargée automatiquement, affichant ainsi le nouvel état de la partie.
......@@ -165,8 +165,8 @@ Commencez par la 1e fonctionnalité, la validation des déplacements horizontaux
```ts
// Dans le fichier "move-validation.ts"
export function blackRoockMove(board: Chessboard, move: Move): boolean {
return move.from.ligne === move.to.ligne; // Si les lignes de début de fin sont les mêmes, le déplacement est horizontal
export function roockMove(board: Chessboard, move: Move): boolean {
return move.from.rank === move.to.rank; // Si les lignes de début de fin sont les mêmes, le déplacement est horizontal
}
```
......@@ -174,28 +174,35 @@ export function blackRoockMove(board: Chessboard, move: Move): boolean {
```ts
// Dans le fichier "move-validation-spec.ts"
describe("Test blackRoockMove()", () => {
beforeEach( () => { // Fonction exécutée avant chaque test unitaires
chessboard = createEmptyChessboard(); // Création d'un échiquier vide
describe("Test roockMove()", () => {
// Fonction exécutée avant chaque test unitaires:
beforeEach( () => {
// Création d'un échiquier vide:
chessboard = createEmptyChessboard();
// La variable "positionE4" a été créée au début du module pour simplifier le code des tests
// Place une tour sur la case E4 d'un échiquier vide:
putPiece(chessboard, positionE4, pieces.blackPawn);
});
it("A roock can move horizontally", () => {
putPiece(chessboard, positionE4, pieces.blackPawn); // Place une tour sur la case E4 d'un échiquier vide.
let moveE4-H4: Move = {from: positionE4, to: positionH4, isValid: true}; // Création d'un déplacement horizontal
expect(isPossible.blackRoockMove(chessboard, moveE4-H4)).toBeTruthy(); // Le déplacement doit être possible
// Les variable "moveE4_H4" et "moveE4_14" ont été créées au début
// du module pour simplifier le code des tests.
// Le déplacement doit être possible:
expect(isPossible.roockMove(chessboard, moveE4_H4)).toBeTruthy();
expect(isPossible.roockMove(chessboard, moveE4_A4)).toBeTruthy();
});
```
#### Etape 2
Nouvelle fonctionnalité à implémenter: la validation des déplacements verticaux. Modifiez la fonction `blackRoockMove()`:
Nouvelle fonctionnalité à implémenter: la validation des déplacements verticaux. Modifiez la fonction `roockMove()`:
```ts
// Dans le fichier "move-validation.ts"
export function blackRoockMove(board: Chessboard, move: Move): boolean {
return move.from.line === move.to.line || // Si les lignes de début de fin sont les mêmes, le déplacement est horizontal
move.from.column === move.to.column; // Si les colonnes de début de fin sont les mêmes, le déplacement est vertical
export function roockMove(board: Chessboard, move: Move): boolean {
return move.from.rank === move.to.rank || // Si les lignes de début de fin sont les mêmes, le déplacement est horizontal
move.from.file === move.to.file; // Si les colonnes de début de fin sont les mêmes, le déplacement est vertical
}
```
......@@ -203,19 +210,17 @@ export function blackRoockMove(board: Chessboard, move: Move): boolean {
```ts
// Dans le fichier "move-validation-spec.ts"
describe("Test blackRoockMove()", () => {
describe("Test roockMove()", () => {
beforeEach( () => { // Fonction exécutée avant chaque test unitaires
chessboard = createEmptyChessboard(); // Création d'un échiquier vide
});
it("A roock can move horizontally", () => { // (...)
});
it("A roock can move vertically", () => {
putPiece(chessboard, positionE4, pieces.blackPawn); // Place une tour sur la case E4 d'un échiquier vide.
let moveE4-E8: Move = {from: positionE4, to: positionE8, isValid: true}; // Création d'un déplacement vertical
expect(isPossible.blackRoockMove(chessboard, moveE4-E8)).toBeTruthy(); // Le déplacement doit être possible
expect(isPossible.roockMove(chessboard, moveE4_E8)).toBeTruthy();
expect(isPossible.roockMove(chessboard, moveE4_E1)).toBeTruthy();
});
```
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment