PlateauSquadro
in package
Class PlateauSquadro
Représente le plateau de jeu de Squadro, constitué d'une grille 7x7. Ce plateau est initialisé avec des cases vides, des cases neutres aux coins, des pièces blanches sur la première colonne (hors coins) et des pièces noires sur la dernière ligne (hors coins). Des méthodes permettent de récupérer et modifier des pièces, de calculer les coordonnées de destination, et de convertir le plateau en JSON.
Table of Contents
Constants
- BLANC_V_ALLER = [0, 1, 3, 2, 3, 1, 0]
- BLANC_V_RETOUR = [0, 3, 1, 2, 1, 3, 0]
- NOIR_V_ALLER = [0, 3, 1, 2, 1, 3, 0]
- NOIR_V_RETOUR = [0, 1, 3, 2, 3, 1, 0]
Properties
- $colonnesJouables : array<string|int, mixed>
- $lignesJouables : array<string|int, mixed>
- $plateau : array<string|int, mixed>
Methods
- __construct() : mixed
- Constructeur.
- __toString() : string
- Retourne une représentation textuelle du plateau.
- fromJson() : self
- Crée un objet PlateauSquadro à partir d'une chaîne JSON.
- getColonnesJouables() : array<string|int, mixed>
- Retourne les indices des colonnes jouables pour les pièces noires.
- getCoordDestination() : array<string|int, mixed>
- Calcule les coordonnées de destination d'une pièce se trouvant à ($x, $y).
- getLignesJouables() : array<string|int, mixed>
- Retourne les indices des lignes jouables pour les pièces blanches.
- getPiece() : PieceSquadro
- Récupère la pièce se trouvant aux coordonnées ($x, $y).
- getPlateau() : array<string|int, mixed>
- Retourne le plateau de jeu sous forme de tableau 2D.
- retireColonneJouable() : void
- Supprime un indice de colonne jouable.
- retireLigneJouable() : void
- Supprime un indice de ligne jouable.
- setPiece() : void
- Place une pièce à la position spécifiée sur le plateau.
- toJson() : string
- Retourne une représentation JSON du plateau.
- initCasesBlanches() : void
- Initialise les cases contenant les pièces blanches.
- initCasesNeutres() : void
- Initialise les cases neutres (coins) du plateau.
- initCasesNoires() : void
- Initialise les cases contenant les pièces noires.
- initCasesVides() : void
- Initialise toutes les cases vides du plateau.
- initPlateau() : void
- Initialise l'ensemble du plateau en appelant les méthodes spécifiques.
Constants
BLANC_V_ALLER
public
mixed
BLANC_V_ALLER
= [0, 1, 3, 2, 3, 1, 0]
BLANC_V_RETOUR
public
mixed
BLANC_V_RETOUR
= [0, 3, 1, 2, 1, 3, 0]
NOIR_V_ALLER
public
mixed
NOIR_V_ALLER
= [0, 3, 1, 2, 1, 3, 0]
NOIR_V_RETOUR
public
mixed
NOIR_V_RETOUR
= [0, 1, 3, 2, 3, 1, 0]
Properties
$colonnesJouables
private
array<string|int, mixed>
$colonnesJouables
= [1, 2, 3, 4, 5]
Indices des colonnes jouables (pour les pièces noires).
$lignesJouables
private
array<string|int, mixed>
$lignesJouables
= [1, 2, 3, 4, 5]
Indices des lignes jouables (pour les pièces blanches).
$plateau
private
array<string|int, mixed>
$plateau
= []
Le plateau de jeu sous forme de tableau 2D (7x7) de PieceSquadro.
Methods
__construct()
Constructeur.
public
__construct() : mixed
Initialise le plateau de jeu en appelant les méthodes d'initialisation des cases.
__toString()
Retourne une représentation textuelle du plateau.
public
__toString() : string
Return values
string —Le plateau sous forme de chaîne de caractères.
fromJson()
Crée un objet PlateauSquadro à partir d'une chaîne JSON.
public
static fromJson(string $json) : self
Parameters
- $json : string
-
La chaîne JSON représentant le plateau.
Tags
Return values
self —Un nouvel objet PlateauSquadro.
getColonnesJouables()
Retourne les indices des colonnes jouables pour les pièces noires.
public
getColonnesJouables() : array<string|int, mixed>
Return values
array<string|int, mixed> —Les indices des colonnes jouables.
getCoordDestination()
Calcule les coordonnées de destination d'une pièce se trouvant à ($x, $y).
public
getCoordDestination(int $x, int $y) : array<string|int, mixed>
Pour une pièce blanche, le mouvement est horizontal, et pour une pièce noire, le mouvement est vertical.
Parameters
- $x : int
-
La ligne de départ.
- $y : int
-
La colonne de départ.
Tags
Return values
array<string|int, mixed> —Un tableau contenant les nouvelles coordonnées [newX, newY].
getLignesJouables()
Retourne les indices des lignes jouables pour les pièces blanches.
public
getLignesJouables() : array<string|int, mixed>
Return values
array<string|int, mixed> —Les indices des lignes jouables.
getPiece()
Récupère la pièce se trouvant aux coordonnées ($x, $y).
public
getPiece(int $x, int $y) : PieceSquadro
Parameters
- $x : int
-
La ligne de la pièce.
- $y : int
-
La colonne de la pièce.
Tags
Return values
PieceSquadro —La pièce à ces coordonnées.
getPlateau()
Retourne le plateau de jeu sous forme de tableau 2D.
public
getPlateau() : array<string|int, mixed>
Return values
array<string|int, mixed> —Le plateau de jeu.
retireColonneJouable()
Supprime un indice de colonne jouable.
public
retireColonneJouable(int $index) : void
Parameters
- $index : int
-
L'indice de la colonne à retirer.
retireLigneJouable()
Supprime un indice de ligne jouable.
public
retireLigneJouable(int $index) : void
Parameters
- $index : int
-
L'indice de la ligne à retirer.
setPiece()
Place une pièce à la position spécifiée sur le plateau.
public
setPiece(int $x, int $y, PieceSquadro $piece) : void
Parameters
- $x : int
-
La ligne.
- $y : int
-
La colonne.
- $piece : PieceSquadro
-
La pièce à placer.
Tags
toJson()
Retourne une représentation JSON du plateau.
public
toJson() : string
Return values
string —Le plateau converti en JSON.
initCasesBlanches()
Initialise les cases contenant les pièces blanches.
private
initCasesBlanches() : void
initCasesNeutres()
Initialise les cases neutres (coins) du plateau.
private
initCasesNeutres() : void
initCasesNoires()
Initialise les cases contenant les pièces noires.
private
initCasesNoires() : void
initCasesVides()
Initialise toutes les cases vides du plateau.
private
initCasesVides() : void
initPlateau()
Initialise l'ensemble du plateau en appelant les méthodes spécifiques.
private
initPlateau() : void