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/creerPartie_vue.php

178 lines
4.9 KiB
PHP

<?php
class CouleurPion
{
public $couleurs = [
'4472c4',
'92d050',
'eb93e0',
'ed7d31',
'ffd966',
'00fe00',
'00fff8',
'ff0000'
];
}
function champs_cartes($nom, $titre)
{
$nbCartes = 1;
if (isset($_POST[$nom])) {
$nbCartes = (int) $_POST[$nom];
}
echo '<select id="' . $nom . '" name="' . $nom . '">';
for ($i = 1; $i <= 5; $i++) {
echo '<option value="' . $i . '"';
if ($i == $nbCartes) {
echo ' selected';
}
echo '>' . $i . '</option>';
}
echo '</select>';
echo '<label for="' . $nom . '">' . $titre . '</label><br/>';
if (isset($_POST[$nom])) {
return (int) $_POST[$nom];
}
return (int) 0;
}
function afficher_formulaire()
{
$total = 0;
echo '<form class="formulaire_partie" method="post" action="#">';
$total += champs_cartes('nbCartesVertes', 'Nombre de cartes vertes');
$total += champs_cartes('nbCartesOranges', 'Nombre de cartes oranges');
$total += champs_cartes('nbCartesNoires', 'Nombre de cartes noires');
if ($total > 0) {
echo '<div>Total : ' . $total . '</div>';
if ($total > 10) {
echo '<div> Trop de cartes !!!!!!</div>';
} else {
echo '<input type="submit" name="creerPartie" value="Créer une partie" />';
}
}
echo '<input type="submit" name="validerCartes" value="Valider le nombre de cartes" />';
echo '</form>';
}
function afficher_joueurs(int $idpartie)
{
$joueurs = getJoueursPartie($idpartie);
echo '<div>';
echo '<p>Joueurs : </p>';
for ($i = 0; $i < count($joueurs); $i++) {
$joueur = $joueurs[$i];
$couleur_hex = (new CouleurPion())->couleurs[$i];
echo '<p style="color:#' . $couleur_hex . ';">' . $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')</p>';
}
echo '</div>';
}
function formulaire_ajout_joueurs(int $idpartie)
{
$joueursPartie = getJoueursPartie($idpartie);
if (sizeof($joueursPartie) >= 8) {
return;
}
$joueurs = getJoueurs();
echo '<form class="ajouter_joueurs_partie" method="post" action="#">';
echo '<select id="joueurs" name="joueur">';
foreach ($joueurs as $joueur) {
echo '<option value="' . $joueur['idjoueur'] . '">';
echo $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')</option>';
}
echo '</select>';
echo '<input type="submit" name="ajouterJoueur" value="Ajouter un joueur" />';
echo '<input type="hidden" name="idpartie" value="' . $idpartie . '" />';
echo '</form>';
}
function formulaire_suppression_joueurs(int $idpartie)
{
$joueurs = getJoueursPartie($idpartie);
if (empty($joueurs))
return;
echo '<form class="enlever_joueurs_partie" method="post" action="#">';
echo '<select id="joueurs" name="joueur">';
foreach ($joueurs as $joueur) {
echo '<option value="' . $joueur['idjoueur'] . '">';
echo $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')</option>';
}
echo '</select>';
echo '<input type="submit" name="enleverJoueur" value="Enlever un joueur" />';
echo '<input type="hidden" name="idpartie" value="' . $idpartie . '" />';
echo '</form>';
}
function formulaire_ordre_joueurs(int $idpartie)
{
echo '<form class="enlever_joueurs_partie" method="post" action="#">';
echo '<select id="ordre" name="ordre">';
echo '<option value="aleatoire">Aléatoire</option>';
echo '<option value="honneurJeune">Honneur au plus jeune</option>';
echo '<option value="honneurNul">Honneur au moins expériementé</option>';
echo '</select>';
if (sizeof(getJoueursPartie($idpartie)) >= 2) {
echo '<input type="submit" name="validerOrdre" value="Mettre en place la partie" />';
}
echo '<input type="hidden" name="idpartie" value="' . $idpartie . '" />';
echo '</form>';
}
?>
<div class="panneau_details">
<h2>Créer une partie</h2>
<?php
if (isset($_POST['creerPartie'])) {
$total = (int) $_POST['nbCartesVertes'] + (int) $_POST['nbCartesOranges'] + (int) $_POST['nbCartesNoires'];
if ($total <= 10) {
$idpartie = creerPartie($_POST['nbCartesVertes'], $_POST['nbCartesOranges'], $_POST['nbCartesNoires']);
if ($idpartie === false) {
echo "<div>Erreur lors de la création de la partie. Veuillez contacter l'administrateur</div>";
} else {
echo '<div>Partie créée ! ID : ' . $idpartie . '</div>';
formulaire_ajout_joueurs($idpartie);
}
} else {
afficher_formulaire();
}
} else if (isset($_POST['ajouterJoueur'])) {
$idpartie = (int) $_POST['idpartie'];
ajouter_joueur($idpartie, $_POST['joueur']);
afficher_joueurs($idpartie);
formulaire_ajout_joueurs($idpartie);
formulaire_suppression_joueurs($idpartie);
formulaire_ordre_joueurs($idpartie);
} else if (isset($_POST['enleverJoueur'])) {
$idpartie = (int) $_POST['idpartie'];
enlever_joueur($idpartie, $_POST['joueur']);
afficher_joueurs($idpartie);
formulaire_ajout_joueurs($idpartie);
formulaire_suppression_joueurs($idpartie);
formulaire_ordre_joueurs($idpartie);
} else if (isset($_POST['validerOrdre'])) {
valider_partie($_POST['idpartie'], $_POST['ordre']);
echo 'Le compte est bon !';
} else {
afficher_formulaire();
}
?>
</div>