Files
main-website/poker-paf/Main.js
T
2026-03-01 19:29:21 +01:00

109 lines
3.9 KiB
JavaScript

// ################# Ces infos sont a changer en fonction de la BDD ##########################################################
let text = document.getElementById("text");
let money_input = document.getElementById("Money");
let money = { // Se rapelle de l'argent que chaque joueur a au début de la partie
"Ender": 10000,
"Sophie": 1000,
"Léo": 1000,
"Mélanie": 1000,
"Jean": 500,
"Lucie": 1000
};
let blinds = { // Se rapelle de l'argent actuellement mis en jeu par chaque joueur
"Ender": 20,
"Sophie": 30,
"Léo": 20,
"Mélanie": 20,
"Jean": 20,
"Lucie": 20
};
let player_list = ["Ender", "Sophie", "Léo", "Mélanie", "Jean", "Lucie"]; // Liste des joueurs encore en jeu a replir avec la BDD
let current_player = "Ender"; // Joueur actuel a prendre depuis la BDD
let start_blind = 20; // Blinde de départ a prendre depuis la BDD
// ##########################################################################################################################
let current_blind = 0; // Initialistation de la blinde actuelle en variable globale, mis a jour automatiquement
function ChangePlayer(player) { // Uniquement pour les tests, à remplacer par une fonction qui change de joueur dans la Boucle de jeu
current_player = player;
}
function UpdateStatus() { // Fonction mettant à jour la blinde actuel en fonction des blinds de chaque joueur
current_blind = Math.max(...Object.values(blinds));
}
function UpdateLabels() { // Fonction pour mettre à jour les labels
let pot = Object.values(blinds).reduce((a, b) => a + b, 0);
let money_labels = {}
for (key of Object.keys(money)) {
money_labels[key] = money[key] - blinds[key];
}
// Reste à faire avec ton code
}
function SeCoucher() { // fonction pour se coucher, elle vérifie si le joueur est en jeu et si sa mise actuelle est inférieure a la blinde actuel, si c'est le cas, il se couche et est retiré de la liste des joueurs encore en jeu
UpdateStatus();
if (current_blind > blinds[current_player] && player_list.includes(current_player)) { // Si le joueur est en jeu et que sa mise actuelle est inférieure a la blinde actuel, il se couche
player_list.splice(player_list.indexOf(current_player), 1);
}
UpdateLabels();
}
function Suivre() {
if (player_list.includes(current_player)) { // Si le joueur est en jeu, il suit
UpdateStatus();
if (current_blind > blinds[current_player] && money[current_player] >= current_blind) { // Si la blinde actuelle est supérieur a la sienne et qu'il est en capacité de la payer
blinds[current_player] = current_blind;
} else {
Tapis();
}
UpdateLabels();
}
}
function Relancer() {
if (player_list.includes(current_player)) { // Si le joueur est en jeu
UpdateStatus();
if (+money_input.value >= Math.max(...Object.values(money))){
Tapis();
} else {
if (money[current_player] > (current_blind) && +money_input.value <= money[current_player] - current_blind && +money_input.value > 0 && +money_input.value % (start_blind / 2) == 0) { // Si le joueur a assez d'argent pour suivre la blinde actuelle et relancer
blinds[current_player] = current_blind + +money_input.value;
}
}
UpdateLabels();
}
}
function Tapis() {
if (player_list.includes(current_player)) { // Si le joueur est en jeu, il fait tapis
UpdateStatus();
if (money[current_player] < Math.max(...Object.values(money))) { // Si le joueur n'est pas le plus riche
blinds[current_player] = money[current_player];
} else { // Si le joueur est le plus riche
let temp_money = {...money};
temp_money[current_player] = 0;
let second_most_rich = Math.max(...Object.values(temp_money));
blinds[current_player] = second_most_rich;
}
UpdateLabels();
}
}