Compare commits

...

3 Commits

Author SHA1 Message Date
fabien
a0271c5112 ajout du nombre d'adversaires joué 2025-01-25 18:32:55 +01:00
fabien
333949f761 choisir le niveau d'alea 2024-09-12 21:05:08 +02:00
fabien
874955b86e esthétisme 2024-09-12 20:53:18 +02:00

View File

@@ -63,10 +63,10 @@
while(tables < maxgameplayed && essai < 10) { while(tables < maxgameplayed && essai < 10) {
essai++; essai++;
selectedGame = findgame(playersAvailableInSession, gameThisSession); selectedGame = findgame(playersAvailableInSession, gameThisSession);
showDebug( "try for " +selectedGame +", players disponibles "+playersAvailableInSession.length ); //showDebug( "try for " +selectedGame +", players disponibles "+playersAvailableInSession.length );
possibleplayers = chooseplayers(playersAvailableInSession, selectedGame); possibleplayers = chooseplayers(playersAvailableInSession, selectedGame);
showDebug ("players dispo " +possibleplayers.length + " <br/>" ); // showDebug ("players dispo " +possibleplayers.length + " <br/>" );
//youpi , une table faite //youpi , une table faite
if(possibleplayers.length >= playerAtTable ) { if(possibleplayers.length >= playerAtTable ) {
@@ -99,12 +99,13 @@
//verification //verification
show("<p><b>Vérification<b><br/>"); show("<p><b>Vérification<b><br/>");
for( const player in played) { for( const player of players) {
var allplayed = Object.keys(played[player]).length == games.length; var allplayed = player.gamesPlayed.length == games.length;
if (allplayed) { if (allplayed) {
showPass(player + " a joué à tous les jeux"); uniqOpponants = new Set(player.opponents);
showPass(player.name + " a joué à tous les jeux &nbsp;&nbsp;&nbsp; avec "+ uniqOpponants.size +" adversaires différents");
}else { }else {
showWarning( player + " a joué à seulement" + JSON.stringify(played[player]) ); showWarning( player.name + " a joué à seulement" + JSON.stringify(player.gamesPlayed) );
} }
} }
} }
@@ -148,14 +149,18 @@
selectedjoueur = ""; selectedjoueur = "";
bestscore=0; bestscore=0;
iterateur = playersAvailableInSession.length; iterateur = playersAvailableInSession.length;
for (player of playersAvailableInSession ) { playersorted = playersAvailableInSession
if( player.gamesPlayed.includes(selectedGame) ) continue; .filter(p=>!p.gamesPlayed.includes(selectedGame));
if ( document.getElementById("shuffle").checked ) {
playersorted = playersorted.sort((a,b) =>0.5 - Math.random());
}
for (player of playersorted ) {
preference[player] = { forte:[], faible:[], nulle : [], score:0} ; preference[player] = { forte:[], faible:[], nulle : [], score:0} ;
for (opositeplayer of playersAvailableInSession ) { for (opositeplayer of playersorted ) {
if( player === opositeplayer || opositeplayer.gamesPlayed.includes(selectedGame) ) if( player === opositeplayer )
continue; //lui-mmeme ou déjà joué a ce jeu, niet! continue; //lui-meme, niet!
nbrencontre= player.opponents.filter(o => o ===opositeplayer).length; nbrencontre= player.opponents.filter(o => o ===opositeplayer).length;
if (nbrencontre==0) { if (nbrencontre==0) {
preference[player].forte.push(opositeplayer); preference[player].forte.push(opositeplayer);
@@ -216,11 +221,13 @@
elem = document.getElementById("results"); elem = document.getElementById("results");
elem.insertAdjacentHTML( 'beforeend', text); elem.insertAdjacentHTML( 'beforeend', text);
} }
</script> </script>
<div id="param" style="float:left;width:50%; text-align:center"> <div id="param" style="float:left;width:50%; text-align:center">
Nombres de jouers (nom inventés) <input id="players" name="players" placeholder="nombre de joueurs" type ="text"/><br/> Nombres de jouers (nom inventés) <input id="players" name="players" placeholder="nombre de joueurs" type ="text"/><br/>
Nombres de joueurs par tables <input id="tables" name="tables" placeholder="nombre de joueurs par table" type ="text"/><br/> Nombres de joueurs par tables <input id="tables" name="tables" placeholder="nombre de joueurs par table" type ="text"/><br/>
Nombres de jeux à jouer <input id="games" name="games" placeholder="nombre de jeux" type ="text"/><br> Nombres de jeux à jouer <input id="games" name="games" placeholder="nombre de jeux" type ="text"/><br>
Maximiser le nombre d'adversaires ( tournoi rallongé) <input id="shuffle" name="shuffle" type="checkbox"/><br>
<button onclick="compute();" > Calculer</button> <button onclick="compute();" > Calculer</button>
</div> </div>
<div id="results" style="float:left;width:50%;"> <div id="results" style="float:left;width:50%;">