Menu

## ActionSquadro
in package

ActionSquadro.php : 17

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

ActionSquadro.php : 27
`private int $countBlancSortie = 0`

Nombre de pièces blanches sorties.

#### $countNoirSortie

ActionSquadro.php : 32
`private int $countNoirSortie = 0`

Nombre de pièces noires sorties.

#### $historiquePositions

ActionSquadro.php : 42
`private array<string|int, mixed> $historiquePositions = []`

Historique des positions de déplacement.

#### $partieTerminee

ActionSquadro.php : 37
`private bool $partieTerminee = false`

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

#### $plateau

ActionSquadro.php : 22
`private PlateauSquadro $plateau`

Le plateau de jeu.

### Methods

#### __construct()

ActionSquadro.php : 52

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()

ActionSquadro.php : 151

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()

ActionSquadro.php : 71

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()

ActionSquadro.php : 87

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()

ActionSquadro.php : 278

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()

ActionSquadro.php : 254

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()

ActionSquadro.php : 138

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()

ActionSquadro.php : 239

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()

ActionSquadro.php : 288

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

`private afficherMessageVictoire() : void`

#### gererCollisionsMultiples()

ActionSquadro.php : 223

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()

ActionSquadro.php : 194

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()

ActionSquadro.php : 165

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.

## Search results