Documentation

ActionSquadro
in package

Class ActionSquadro

Gère les actions de déplacement dans le jeu Squadro. Cette classe met à jour l'état du plateau, gère les collisions, effectue le déplacement des pièces, et vérifie les conditions de victoire.

Table of Contents

Properties

$countBlancSortie  : int
$countNoirSortie  : int
$historiquePositions  : array<string|int, mixed>
$partieTerminee  : bool
$plateau  : PlateauSquadro

Methods

__construct()  : mixed
Constructeur.
aTermineAllerRetour()  : bool
Vérifie si la pièce a terminé son aller-retour.
estJouablePiece()  : bool
Vérifie si la pièce à la position donnée est jouable pour le joueur actif.
jouerPiece()  : void
Joue la pièce à la position ($x, $y) pour le joueur actif.
remporteVictoire()  : bool
Vérifie si les conditions de victoire sont remplies.
sortirPiece()  : void
Gère la sortie d'une pièce (lorsqu'elle a terminé son aller-retour).
aAtteintZoneRetournement()  : bool
Vérifie si la pièce a atteint la zone de retournement.
aDejaEffectueAller()  : bool
Vérifie si la pièce adverse a déjà effectué son aller.
afficherMessageVictoire()  : void
Affiche le message de victoire et termine l'exécution.
gererCollisionsMultiples()  : void
Gère les collisions multiples sur la case d'arrivée.
gererCollisionsSurTrajet()  : void
Gère les collisions sur le trajet du déplacement de la pièce.
gererReculPieceAdverse()  : void
Déplace la pièce adverse en reculant, en fonction de la trajectoire de collision.

Properties

$countBlancSortie

private int $countBlancSortie = 0

Nombre de pièces blanches sorties.

$countNoirSortie

private int $countNoirSortie = 0

Nombre de pièces noires sorties.

$historiquePositions

private array<string|int, mixed> $historiquePositions = []

Historique des positions de déplacement.

$partieTerminee

private bool $partieTerminee = false

Indique si la partie est terminée (victoire).

Methods

__construct()

Constructeur.

public __construct(PlateauSquadro $plateau) : mixed

Initialise l'action en liant le plateau passé en paramètre. Initialise les compteurs dans la session si non définis.

Parameters
$plateau : PlateauSquadro

Le plateau de jeu.

aTermineAllerRetour()

Vérifie si la pièce a terminé son aller-retour.

public aTermineAllerRetour(int $x, int $y) : bool
Parameters
$x : int

Position X finale.

$y : int

Position Y finale.

Return values
bool

True si la condition d'aller-retour est remplie, false sinon.

estJouablePiece()

Vérifie si la pièce à la position donnée est jouable pour le joueur actif.

public estJouablePiece(int $x, int $y, int $joueurActif) : bool
Parameters
$x : int

Position X de la pièce.

$y : int

Position Y de la pièce.

$joueurActif : int

Couleur du joueur actif.

Return values
bool

True si la pièce est jouable, false sinon.

jouerPiece()

Joue la pièce à la position ($x, $y) pour le joueur actif.

public jouerPiece(int $x, int $y, int $joueurActif) : void

Effectue le déplacement, gère les collisions et met à jour l'état du plateau.

Parameters
$x : int

Position X de la pièce à déplacer.

$y : int

Position Y de la pièce à déplacer.

$joueurActif : int

Couleur du joueur actif.

Tags
throws
InvalidArgumentException

Si la pièce ne vous appartient pas.

throws
OutOfBoundsException

Si le mouvement est hors limites.

remporteVictoire()

Vérifie si les conditions de victoire sont remplies.

public remporteVictoire() : bool
Return values
bool

True si l'une des conditions est remplie, false sinon.

sortirPiece()

Gère la sortie d'une pièce (lorsqu'elle a terminé son aller-retour).

public sortirPiece(int $couleur, int $x, int $y) : void

Met à jour le compteur correspondant dans la session.

Parameters
$couleur : int

La couleur de la pièce.

$x : int

Position X de la pièce.

$y : int

Position Y de la pièce.

aAtteintZoneRetournement()

Vérifie si la pièce a atteint la zone de retournement.

private aAtteintZoneRetournement(int $x, int $y, PieceSquadro $piece) : bool
Parameters
$x : int

Nouvelle position X.

$y : int

Nouvelle position Y.

$piece : PieceSquadro

La pièce concernée.

Return values
bool

True si la zone est atteinte, false sinon.

aDejaEffectueAller()

Vérifie si la pièce adverse a déjà effectué son aller.

private aDejaEffectueAller(PieceSquadro $piece) : bool
Parameters
$piece : PieceSquadro

La pièce adverse.

Return values
bool

True si l'aller a déjà été effectué, false sinon.

afficherMessageVictoire()

Affiche le message de victoire et termine l'exécution.

private afficherMessageVictoire() : void

gererCollisionsMultiples()

Gère les collisions multiples sur la case d'arrivée.

private gererCollisionsMultiples(int $x, int $y, PieceSquadro $piece) : void
Parameters
$x : int

Position X de la case.

$y : int

Position Y de la case.

$piece : PieceSquadro

La pièce à déplacer.

gererCollisionsSurTrajet()

Gère les collisions sur le trajet du déplacement de la pièce.

private gererCollisionsSurTrajet(int $x, int $y, int $newX, int $newY, PieceSquadro $piece) : void
Parameters
$x : int

Position de départ X.

$y : int

Position de départ Y.

$newX : int

Position d'arrivée X.

$newY : int

Position d'arrivée Y.

$piece : PieceSquadro

La pièce à déplacer.

gererReculPieceAdverse()

Déplace la pièce adverse en reculant, en fonction de la trajectoire de collision.

private gererReculPieceAdverse(int $x, int $y, PieceSquadro $pieceAdverse) : void
Parameters
$x : int

Position X de la pièce adverse.

$y : int

Position Y de la pièce adverse.

$pieceAdverse : PieceSquadro

La pièce adverse à reculer.


        
On this page

Search results