Ajout d'une fonction pour relancer

This commit is contained in:
2026-03-01 20:27:50 +01:00
parent b788dbf0df
commit 93662d1d9e
7 changed files with 194 additions and 27 deletions
+29
View File
@@ -0,0 +1,29 @@
<?php
require_once 'db.php';
header('Content-Type: application/json');
$game_id = intval($_POST['game_id']);
$amount = isset($_POST['amount']) ? intval($_POST['amount']) : 0;
try {
// 1. Récupérer l'ID du joueur actuel
$stmt = $db->prepare("SELECT current_player_id FROM games WHERE id = ?");
$stmt->execute([$game_id]);
$game = $stmt->fetch();
$current_player_id = $game['current_player_id'];
// 2. Ajouter l'argent au blind du joueur actuel
$stmt = $db->prepare("UPDATE players SET money = money + ? WHERE id = ?");
$stmt->execute([$amount, $current_player_id]);
// 3. Ajouter le montant au pot de la partie
$stmt = $db->prepare("UPDATE games SET pot = pot + ? WHERE id = ?");
$stmt->execute([$amount, $game_id]);
echo json_encode(['success' => true]);
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}
?>
+23
View File
@@ -0,0 +1,23 @@
<?php
require_once 'db.php';
header('Content-Type: application/json');
$game_id = intval($_POST['game_id']);
$amount = isset($_POST['amount']) ? intval($_POST['amount']) : 0;
try {
// 1. Récupérer l'ID du joueur actuel
$stmt = $db->prepare("SELECT current_player_id FROM games WHERE id = ?");
$stmt->execute([$game_id]);
$game = $stmt->fetch();
$current_player_id = $game['current_player_id'];
// 2. Ajouter de l'argent au joueur actuel
$stmt = $db->prepare("UPDATE players SET money = money + ? WHERE id = ?");
$stmt->execute([$amount, $current_player_id]);
echo json_encode(['success' => true]);
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}
?>
+17
View File
@@ -0,0 +1,17 @@
<?php
require_once 'db.php';
header('Content-Type: application/json');
$game_id = intval($_POST['game_id']);
$amount = isset($_POST['amount']) ? intval($_POST['amount']) : 0;
try {
// 1. Changer la blind de la partie
$stmt = $db->prepare("UPDATE games SET last_bet = ? WHERE id = ?");
$stmt->execute([$amount, $game_id]);
echo json_encode(['success' => true]);
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}
?>
@@ -24,6 +24,17 @@ try {
$next_player = $stmt->fetch();
}
// On cherche si le joueur est couché ou pas
$stmt = $db->prepare("SELECT is_folded FROM players WHERE id = ?");
$stmt->execute([$next_player['id']]);
$is_folded = $stmt->fetchColumn();
if ($is_folded == 1 || $is_folded === '1') {
// Si le joueur est couché, on appelle récursivement pour sauter au suivant
$_POST['game_id'] = $game_id; // On remet le game_id pour l'appel récursif
echo json_encode(['success' => true, 'message' => 'Joueur couché, passage au suivant.']);
exit;
}
$next_id = $next_player['id'];
// 3. Mise à jour de la BDD
+24
View File
@@ -0,0 +1,24 @@
<?php
require_once 'db.php';
header('Content-Type: application/json');
$game_id = intval($_POST['game_id']);
$amount = isset($_POST['amount']) ? intval($_POST['amount']) : 0;
try {
// 1. Récupérer l'ID du joueur actuel
$stmt = $db->prepare("SELECT current_player_id FROM games WHERE id = ?");
$stmt->execute([$game_id]);
$game = $stmt->fetch();
$current_player_id = $game['current_player_id'];
// 2. Coucher le joueur actuel
$stmt = $db->prepare("UPDATE players SET is_folded = 1 WHERE id = ?");
$stmt->execute([$current_player_id]);
echo json_encode(['success' => true]);
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}
?>
+65 -27
View File
@@ -123,27 +123,6 @@ foreach ($players as $p) {
let blinds = {}; // On stocke les mises en cours ici
let money = {}; // On stocke le solde des joueurs ici
// --- FONCTION POUR PARLER AU SERVEUR ---
function sendActionToServer(actionType, amount = 0) {
let formData = new FormData();
formData.append('game_id', actualGameID);
formData.append('action', actionType);
formData.append('amount', amount);
fetch('play_action.php', {
method: 'POST',
body: formData
})
.then(r => r.json())
.then(data => {
if (data.success) {
// Le serveur a validé, on rafraîchit la page pour voir le halo bouger
UpdateLabels(); // On met à jour les étiquettes de monnaie
location.reload();
}
});
}
// --- LES FONCTIONS DE JEU (Logique visuelle) ---
function Suivre() {
@@ -157,12 +136,71 @@ foreach ($players as $p) {
}
function Relancer() {
let val = document.getElementById('raise-amount').value;
if (val > 0) {
sendActionToServer('raise', val);
} else {
alert("Indique un montant !");
const amount = parseInt(document.getElementById('raise-amount').value);
if (isNaN(amount) || amount <= 0) {
alert("Veuillez entrer une mise valide.");
return;
}
console.log("Action : Relancer à " + amount);
// Appeler les codes PHP pour retirer l'argent du joueur
let formData = new FormData();
formData.append('game_id', actualGameID);
formData.append('amount', amount);
fetch('remove_money.php', {
method: 'POST',
body: formData
})
.then(r => r.json())
.then(data => {
if (data.success) {
console.log("Mise ajoutée avec succès !");
UpdateLabels(); // Met à jour les étiquettes de monnaie
} else {
alert("Erreur : " + data.message);
}
})
// Ensuite, on peut aussi mettre à jour le pot et la mise actuelle
let formData1 = new FormData();
formData1.append('game_id', actualGameID);
formData1.append('amount', amount);
fetch('add_global_blind.php', {
method: 'POST',
body: formData1
})
.then(r => r.json())
.then(data => {
if (data.success) {
console.log("Mise ajoutée avec succès !");
UpdateLabels(); // Met à jour les étiquettes de monnaie
} else {
alert("Erreur : " + data.message);
}
})
// Comme le joueur à relancé on change la mise pour les joueurs suivants
let formData2 = new FormData();
formData2.append('game_id', actualGameID);
formData1.append('amount', amount);
fetch('change_bet.php', {
method: 'POST',
body: formData2
})
.then(r => r.json())
.then(data => {
if (data.success) {
console.log("Mise changée avec succès !");
UpdateLabels(); // Met à jour les étiquettes de monnaie
} else {
alert("Erreur : " + data.message);
}
})
.catch(err => console.error("Erreur fetch:", err));
// On met a jour les valeurs affichées
UpdateLabels();
// Enfin on change de joueur
changePlayer();
}
function Tapis() {
@@ -189,7 +227,7 @@ foreach ($players as $p) {
formData.append('game_id', actualGameID);
formData.append('action', 'next_player'); // On envoie une action spécifique
fetch('play_action.php', {
fetch('change_player.php', {
method: 'POST',
body: formData
})
+25
View File
@@ -0,0 +1,25 @@
<?php
require_once 'db.php';
header('Content-Type: application/json');
$game_id = intval($_POST['game_id']);
$amount = isset($_POST['amount']) ? intval($_POST['amount']) : 0;
try {
// 1. Récupérer l'ID du joueur actuel
$stmt = $db->prepare("SELECT current_player_id FROM games WHERE id = ?");
$stmt->execute([$game_id]);
$game = $stmt->fetch();
$current_player_id = $game['current_player_id'];
// 2. Retirer de l'argent au joueur actuel
$stmt = $db->prepare("UPDATE players SET money = money - ? WHERE id = ?");
$stmt->execute([$amount, $current_player_id]);
echo json_encode(['success' => true]);
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}
?>