Menu

## PieceSquadro
in package

PieceSquadro.php : 31

Class PieceSquadro

Représente une pièce du jeu Squadro.

Chaque pièce a une couleur et une direction. Les couleurs possibles sont :

- BLANC (0)
- NOIR (1)
- VIDE (-1)
- NEUTRE (-2)

Les directions possibles sont :

- NORD (0)
- EST (1)
- SUD (2)
- OUEST (3)

Des méthodes statiques permettent d'instancier des pièces spécifiques ainsi que des cases (vides ou neutres) pour initialiser le plateau.

La classe inclut également des méthodes de conversion vers et depuis JSON.

### Table of Contents

#### Constants

BLANC = 0
EST = 1
NEUTRE = -2
NOIR = 1
NORD = 0
OUEST = 3
SUD = 2
VIDE = -1

#### Properties

$couleur : int
$direction : int

#### Methods

__toString() : string
  Retourne une représentation sous forme de texte de la pièce.
fromJson() : PieceSquadro
  Crée une pièce à partir d'une représentation JSON.
getCouleur() : int
  Retourne la couleur de la pièce.
getDirection() : int
  Retourne la direction actuelle de la pièce.
initBlancEst() : PieceSquadro
  Crée une pièce blanche qui commence à gauche et va vers la droite (est).
initBlancOuest() : PieceSquadro
  Crée une pièce blanche qui commence à droite et va vers la gauche (ouest).
initNeutre() : PieceSquadro
  Crée une case neutre.
initNoirNord() : PieceSquadro
  Crée une pièce noire qui commence en bas et monte (vers le nord).
initNoirSud() : PieceSquadro
  Crée une pièce noire qui commence en haut et descend (vers le sud).
initVide() : PieceSquadro
  Crée une case vide.
inverseDirection() : void
  Inverse la direction de la pièce lorsqu'elle atteint un point de retournement.
toJson() : string
  Convertit l'objet en JSON.
__construct() : mixed
  Constructeur privé pour éviter une instanciation directe incorrecte.

### Constants

#### BLANC

PieceSquadro.php : 33
`public mixed BLANC = 0`

#### EST

PieceSquadro.php : 40
`public mixed EST = 1`

#### NEUTRE

PieceSquadro.php : 36
`public mixed NEUTRE = -2`

#### NOIR

PieceSquadro.php : 34
`public mixed NOIR = 1`

#### NORD

PieceSquadro.php : 39
`public mixed NORD = 0`

#### OUEST

PieceSquadro.php : 42
`public mixed OUEST = 3`

#### SUD

PieceSquadro.php : 41
`public mixed SUD = 2`

#### VIDE

PieceSquadro.php : 35
`public mixed VIDE = -1`

### Properties

#### $couleur

PieceSquadro.php : 47
`protected int $couleur`

La couleur de la pièce.

#### $direction

PieceSquadro.php : 52
`protected int $direction`

La direction actuelle de la pièce.

### Methods

#### __toString()

PieceSquadro.php : 121

Retourne une représentation sous forme de texte de la pièce.

`public __toString() : string`

##### Return values

string —

La représentation textuelle de la pièce.

#### fromJson()

PieceSquadro.php : 209

Crée une pièce à partir d'une représentation JSON.

`public static fromJson(string $json) : PieceSquadro`

##### Parameters

$json : string

  La chaîne JSON contenant les informations de la pièce.

##### Tags

throws
  InvalidArgumentException

  Si le JSON ne contient pas les clés nécessaires.

##### Return values

PieceSquadro —

La pièce créée à partir du JSON.

#### getCouleur()

PieceSquadro.php : 80

Retourne la couleur de la pièce.

`public getCouleur() : int`

##### Return values

int —

La couleur de la pièce.

#### getDirection()

PieceSquadro.php : 89

Retourne la direction actuelle de la pièce.

`public getDirection() : int`

##### Return values

int —

La direction actuelle de la pièce.

#### initBlancEst()

PieceSquadro.php : 174

Crée une pièce blanche qui commence à gauche et va vers la droite (est).

`public static initBlancEst() : PieceSquadro`

##### Return values

PieceSquadro —

Une pièce blanche orientée vers l'est.

#### initBlancOuest()

PieceSquadro.php : 183

Crée une pièce blanche qui commence à droite et va vers la gauche (ouest).

`public static initBlancOuest() : PieceSquadro`

##### Return values

PieceSquadro —

Une pièce blanche orientée vers l'ouest.

#### initNeutre()

PieceSquadro.php : 147

Crée une case neutre.

`public static initNeutre() : PieceSquadro`

##### Return values

PieceSquadro —

Une case neutre.

#### initNoirNord()

PieceSquadro.php : 156

Crée une pièce noire qui commence en bas et monte (vers le nord).

`public static initNoirNord() : PieceSquadro`

##### Return values

PieceSquadro —

Une pièce noire orientée vers le nord.

#### initNoirSud()

PieceSquadro.php : 165

Crée une pièce noire qui commence en haut et descend (vers le sud).

`public static initNoirSud() : PieceSquadro`

##### Return values

PieceSquadro —

Une pièce noire orientée vers le sud.

#### initVide()

PieceSquadro.php : 138

Crée une case vide.

`public static initVide() : PieceSquadro`

##### Return values

PieceSquadro —

Une case vide.

#### inverseDirection()

PieceSquadro.php : 102

Inverse la direction de la pièce lorsqu'elle atteint un point de retournement.

`public inverseDirection() : void`

Par exemple, une pièce allant vers l'Est passera à l'Ouest.

##### Tags

throws
  InvalidArgumentException

  Si la direction actuelle est invalide et ne peut pas être inversée.

#### toJson()

PieceSquadro.php : 194

Convertit l'objet en JSON.

`public toJson() : string`

##### Return values

string —

La représentation JSON de la pièce.

#### __construct()

PieceSquadro.php : 62

Constructeur privé pour éviter une instanciation directe incorrecte.

`private __construct(int $couleur, int $direction) : mixed`

##### Parameters

$couleur : int

  La couleur de la pièce (BLANC, NOIR, VIDE, NEUTRE).

$direction : int

  La direction de la pièce (NORD, EST, SUD, OUEST, VIDE, NEUTRE).

##### Tags

throws
  InvalidArgumentException

  Si la couleur ou la direction est invalide.

## Search results