chore: code cleanup

This commit is contained in:
eneller
2024-07-10 15:56:41 +02:00
parent b5ad47ab3d
commit 8cb49a3efb

100
script.js
View File

@@ -1,94 +1,46 @@
function randomizeTeams() {
let numberSelected = 2;
let teamCount = 2;
if(document.getElementById("threeTeams").checked == true){
numberSelected = 3;
teamCount = 3;
}
const outputField = document.getElementById("teamOutput");
let text = document.getElementById("playerNames").value;
let nameList = text.split('\n').map(function(str){return str.trim();});
let nameListCopy = [...nameList];
let textinput = document.getElementById("playerNames").value;
let names = textinput.split('\n').map(function(str){return str.trim();});
let playerNumbers = nameList.length;
let playerPerTeam = 0;
if(numberSelected === 2){
playerPerTeam = Math.floor(playerNumbers/numberSelected);
let team1 = [];
let team2 = [];
for(let i = 0; i<playerPerTeam;i++){
let rndm = Math.floor(Math.random()*nameList.length);
let repeat = false;
if(!(rndm in nameListCopy)){
repeat = true;
i = i-1;
}
if(!repeat){
team1.push(nameList[rndm]);
delete nameListCopy[rndm];
}
}
for(let i = 0; i<playerNumbers;i++){
if(i in nameListCopy){
team2.push(nameList[i]);
}
}
let outputText = "Team1: " + team1 + "<br>" + "Team2: " + team2
teams = Array.from({ length: teamCount }, () => []);
playersPerTeam = Math.floor(names.length / teamCount);
namesCopy = [...names]
outputField.innerHTML = outputText;
}else if(numberSelected ===3){
playerPerTeam = playerNumbers/numberSelected;
let team1 = [];
let team2 = [];
let team3 = [];
for(let i = 0; i<playerPerTeam;i++){
let rndm = Math.floor(Math.random()*nameList.length);
let repeat = false;
if(!(rndm in nameListCopy)){
repeat = true;
i = i-1;
}
if(!repeat){
team1.push(nameList[rndm]);
delete nameListCopy[rndm];
}
}
playerPerTeam = Math.floor((playerNumbers-playerPerTeam)/2);
for(let i = 0; i<playerPerTeam;i++){
let rndm = Math.floor(Math.random()*nameList.length);
let repeat = false;
if(!(rndm in nameListCopy)){
repeat = true;
i = i-1;
}
if(!repeat){
team2.push(nameList[rndm]);
delete nameListCopy[rndm];
}
}
for(let i = 0; i<playerNumbers;i++){
if(i in nameListCopy){
team3.push(nameList[i]);
}
}
let outputText = teamstotext([team1, team2, team3])
iterator = iter(teams);
for(let i =0; i < names.length; i++){
index = Math.floor(Math.random()* namesCopy.length);
n = namesCopy[index];
namesCopy.splice(index,1);
team = iterator.next().value;
team.push(n);
outputField.innerHTML = outputText;
}
outputField.innerHTML = teamstotext(teams)
}
function teamstotext(teams){
text = "";
textinput = "";
for(let i =0; i < teams.length; i++){
text += "Team{i+1}: "+ teamtotext(teams[i]) + " <br>";
textinput += "Team"+ (i+1)+ ": "+ teamtotext(teams[i]) + " <br>";
}
return text;
return textinput;
}
function teamtotext(team){
return team;
}
function* iter(list){
let index = 0;
while(true){
yield list[index % list.length];
index++;
}
}