This repository has been archived on 2024-04-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
DeezCycle/vues/jouerPartie_vue.php
Morph01 d98d9eaa69 Squashed commit of the following:
commit 1749366a26
Author: Persson-dev <sim16.prib@gmail.com>
Date:   Thu Apr 18 23:39:16 2024 +0200

    les dés

commit d3f06fae1a
Author: Persson-dev <sim16.prib@gmail.com>
Date:   Thu Apr 18 23:39:07 2024 +0200

    je sais plus quoi dire
2024-04-18 23:48:09 +02:00

210 lines
5.6 KiB
PHP

<?php
/***********************************/
/* Classe des couleurs exactes des pions (images fournies) pour les assigner au joueur
/* pour qu'il sache quelle couleur de pion il a
/***********************************/
class CouleurPion
{
public $couleurs = [
'4472c4',
'92d050',
'eb93e0',
'ed7d31',
'ffd966',
'00fe00',
'00fff8',
'ff0000'
];
}
/***********************************/
/* Affichage des pions des joueurs lors du déroulé de la partie*/
/***********************************/
function afficher_pions($joueurs)
{
foreach ($joueurs as $joueur) {
echo '<img src="img/pions/pion' . $joueur['rang'] . '.png" alt="pion' . $joueur['rang'] . '" width="50"/>';
}
}
/***********************************/
/* Affichage des joueurs lors du déroulé de la partie */
/***********************************/
function afficher_joueurs(int $idpartie)
{
$joueurs = getJoueursPartie($idpartie);
echo '<div class="joueurs">';
echo '<p>Joueurs : </p>';
for ($i = 0; $i < count($joueurs); $i++) {
$joueur = $joueurs[$i];
$couleur_hex = (new CouleurPion())->couleurs[$i];
echo '<p class="joueur" style="color:#' . $couleur_hex . ';">' . $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')</p>';
}
echo '</div>';
}
/***********************************/
/* Affichage d'une carte du plateau*/
/***********************************/
function afficherCarte(string $nomcarte, int $numero, $joueurs): void
{
echo '<div class="unecarte">';
echo '<img src="img/cartes/' . $nomcarte . '" alt="' . $nomcarte . '" width="100" height="160"/>';
if ($numero != 0 && $numero != 13) {
echo '<p>' . $numero . '</p>';
} else {
echo '<p>X</p>';
}
afficher_pions($joueurs);
echo '</div>';
}
/***********************************/
/* Affichage de la carte de départ*/
/***********************************/
function afficher_depart($joueurs): void
{
afficherCarte("carteDépart.png", 0, $joueurs);
}
/***********************************/
/* Affichage la carte d'arrivée */
/***********************************/
function afficher_arrivee(): void
{
afficherCarte("carteArrivée.png", 13, []);
}
/***********************************/
/* Affichage de toutes les cartes du plateau */
/***********************************/
function afficherCartes(int $idpartie, int $tour): void
{
$cartes = getCards($idpartie);
echo '<div class="plateau">';
if ($tour == 0) {
afficher_depart(getJoueursPartie($idpartie));
for ($i = 0; $i < sizeof($cartes); $i++) {
afficherCarte($cartes[$i]['img'], $i + 1, []);
}
} else {
afficher_depart(getJoueursPosition($idpartie, $tour, 0));
for ($i = 0; $i < sizeof($cartes); $i++) {
afficherCarte($cartes[$i]['img'], $i + 1, getJoueursPosition($idpartie, $tour, $i + 1));
}
}
afficher_arrivee();
echo '</div>';
}
/***********************************/
/* Formulaire de sélection de la partie à jouer */
/***********************************/
function formulaire_selection_partie()
{
$parties = get_parties_id();
echo '<form class="choisir_partie" method="post" action="#">';
echo '<select id="idpartie" name="idpartie">';
foreach ($parties as $partie) {
echo '<option value="' . $partie . '">' . $partie . '</option>';
}
echo '</select>';
echo '<input type="submit" name="soumettre" value="Valider"/>';
echo '</form>';
}
/***********************************/
/* Formulaire pour lancer la partie */
/***********************************/
function formulaire_lancer_partie(int $idpartie)
{
echo '<form class="lancer_partie" method="post" action="#">';
echo '<input type="submit" name="lancerPartie" value="Lancer la partie"/>';
echo '<input type="hidden" name="idpartie" value="' . $idpartie . '"/>';
echo '</form>';
}
function afficher_des($des)
{
if (empty($des))
return;
echo '<div class="des">';
foreach ($des as $nom => $valeurs) {
foreach ($valeurs as $valeur) {
echo '<img src="img/des/de' . $nom . $valeur . '.png" alt="' . $nom . $valeur . '" width="50"/>';
}
}
echo '</div>';
}
function formulaire_selection_des_main(int $idpartie)
{
echo '<form action="#" method="post">
<div class="tab">
<label for="desBleus">Nombre de dés bleus :</label>
<input type="number" id="desBleus" name="desBleus">
</div>
<div class="tab">
<label for="desJaunes">Nombre de dés jaunes :</label>
<input type="number" id="desJaunes" name="desJaunes">
</div>
<div class="tab">
<label for="desRouges">Nombre de dés rouges :</label>
<input type="number" id="desRouges" name="desRouges">
</div>
<input type="submit" name="lancerDes" value="Enregistrer la main">
<input type="hidden" name="idpartie" value="' . $idpartie . '"/>
</form>';
}
?>
<div class="panneau_details_3">
<div>
<?php
$idpartie = -1;
if (isset($_POST['idpartie'])) {
$idpartie = (int) $_POST['idpartie'];
} else if (isset($_GET['idpartie'])) {
$idpartie = (int) $_GET['idpartie'];
}
if ($idpartie == -1) {
formulaire_selection_partie();
return;
}
if (isset($_POST['lancerPartie'])) {
lancer_partie($idpartie);
}
$des = [];
if (isset($_POST['lancerDes'])) {
$des = lancer_les_des($idpartie, (int) $_POST['desBleus'], (int) $_POST['desJaunes'], (int) $_POST['desRouges']);
if (empty($des)) {
echo 'Tu sais pas compter ?';
}
}
afficher_joueurs($idpartie);
afficherCartes($idpartie, get_partie_tour($idpartie));
afficher_des($des);
if (partie_est_a_venir($idpartie)) {
formulaire_lancer_partie($idpartie);
} else {
echo 'Tour de ' . get_joueur_actuel($idpartie)['pseudo'] . ' Lancers restants : ' . get_lancers_restants($idpartie);
formulaire_selection_des_main($idpartie);
}
?>
</div>
</div>