109 lines
3.9 KiB
JavaScript
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();
|
|
}
|
|
}
|
|
|
|
|