...
 
Commits (5)
/**
* Création du plateau
*
* @packageDocumentation
*/
import { Square } from "./square";
/**
* Représente le plateau
*/
export interface Board {
/**
* Case du plateau
*/
squares : Array<Square>;
/**
* Case de Départ
*/
depart: Square;
}
\ No newline at end of file
export enum COLOR {
/**
* Création des couleurs des pièces
*
* @packageDocumentation
*/
/**
* Représente les différente couleurs des pièces
*/
export enum COLOR {
green,
red,
blue,
......
/**
* Création des pièces
*
* @packageDocumentation
*/
import { COLOR } from "./enums";
import { Square } from "./square";
/**
* Représente les informations de chaque pièce
*/
export interface piece {
/**
* couleur de la pièce
*/
color : COLOR;
/**
* information sur la case ou se trouve la pièce
*/
location: Square;
}
\ No newline at end of file
/**
* Création des joueurs
*
* @packageDocumentation
*/
import { piece } from "./piece";
import { Board } from "./board";
/**
* Représente le joueur
*/
export interface player {
/**
* nom du joueur
*/
namePlayer: string;
/**
* position du joueur/pièce
*/
infoPiece: piece;
/**
* plateau
*/
board: Board;
}
\ No newline at end of file
/**
* fonction de jeu principale
*
* @packageDocumentation
*/
import { player } from "./player";
/**
* Représentation d'une case
*/
export interface Square {
nomCase : string;
houses: number;
hotels: number;
player? : player;
loyerTerrain:number;
loyerMaison:number;
loyerHotel: number;
/**
* Nom de la case
*/
nomCase: string;
/**
* nombre de maisons sur la case
*/
houses: number;
/**
* nombre d'hotels sur la case
*/
hotels: number;
/**
* propiétaire de la case
*/
player? : player;
/**
* loyer du terrain vide
*/
loyerTerrain:number;
/**
* loyer d'une maison
*/
loyerMaison:number;
/**
* loyer d'un hotel
*/
loyerHotel: number;
}
/**
* Crée une case
* @param nameCase Nom de la case
* @param rentTerrain loyer du terrain vide
* @param rentHouse loyer d'une maison
* @param rentHotel loyer d'un hotel
* @returns Renvoie les paramètres d'entrée avec en plus le nombre de maisons et d'hotels sur la case
*/
export function createSquare(nameCase : string, rentTerrain : number, rentHouse : number, rentHotel : number):Square {
let tmp = {nomCase: nameCase, houses : 0, hotels : 0, loyerTerrain : rentTerrain, loyerMaison : rentHouse, loyerHotel : rentHotel};
return tmp; // retourne le nouveau square
}
/**
* Calcule le loyer de la case en fonction des maison ou hotel présente sur la case
* @param nameCase Nom de la case
* @returns Loyer du terrain
*/
export function rent(nameCase:Square): number {
if (nameCase.hotels === 1) { // si hotel, rendre le loyer de l'hotel
return nameCase.loyerHotel;
}
return nameCase.loyerHotel;
}
if (nameCase.houses > 0) { // si au moins une maison, rendre le loyer d'une maison fois le nombre de maisons.
return nameCase.loyerMaison * nameCase.houses;
return nameCase.loyerMaison * nameCase.houses;
}
return nameCase.loyerTerrain; // si pas d'hotel ni maison
}
/**
* Ajoute une maison sur la case
* @param nameCase Nom de la case
*/
export function addHouse(nameCase:Square) {
if (nameCase.hotels === 0) {
......@@ -39,10 +97,15 @@ export function addHouse(nameCase:Square) {
}
}
export function addHotel(nameCase:Square) {
/**
* Ajoute un hotel sur la case
* @param nameCase Nom de la case
*/
export function addHotel(nameCase:Square)
{
if (nameCase.hotels != 0) { // si hotel
console.log("Erreur");
} else if (nameCase.houses != 4) {// si pas 4 maisons
} else if (nameCase.houses != 4) { // si pas 4 maisons
console.log("Erreur");
} else {
nameCase.houses = 0; nameCase.hotels + 1;
......