Documentation

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_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
throws
InvalidArgumentException

Si le format JSON est invalide.

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
throws
OutOfBoundsException

Si le mouvement calculé est hors des limites du plateau.

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
throws
OutOfBoundsException

Si les coordonnées sont hors du plateau.

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
throws
OutOfBoundsException

Si les coordonnées sont hors du plateau.

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

        
On this page

Search results