Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <head>
- <meta charset="utf-8" />
- <title>Tournament Board</title>
- <script src="https://cdn.zingchart.com/zingchart.min.js"></script>
- <script src="https://code.jquery.com/jquery-3.4.1.min.js"
- integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
- </head>
- <body>
- <label id="npn" for="name">Next Player Name:</label>
- <input type="text" id="name" value="a,b,c,d,e,f">
- <input id="addPlayer" type="submit" value='Add Player'>
- <input id="start" type="submit" value='Start Tournament'>
- <p for="currentPlayers">Current Players:</p>
- <p id="currentPlayers"></p>
- <input id="removePlayer" type="submit" value='Remove Last Player'>
- <p id="currentMatch"></p>
- <label id="winLabel" for="winner">Who won the match:</label>
- <input type="submit" id="winner1" value="1">
- <input type="submit" id="winner2" value="2">
- <div id='myChart'></div>
- </body>
- <script>
- /**
- * Shuffles array in place. ES6 version
- * @param {Array} a items An array containing the items.
- * https://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array
- */
- function shuffle(a) {
- for (let i = a.length - 1; i > 0; i--) {
- const j = Math.floor(Math.random() * (i + 1));
- [a[i], a[j]] = [a[j], a[i]];
- }
- return a;
- }
- function removePlayer(array, player) {
- var index = array.indexOf(player);
- if (index > -1) {
- array.splice(index, 1);
- }
- return array;
- }
- $(document).ready(function () {
- players = [];
- nextBracket = []
- coords = []
- minPlayers = 2
- $('#winner1').hide();
- $('#winner2').hide();
- $('#winLabel').hide();
- $('#removePlayer').hide();
- $('#start').hide();
- });
- $('#removePlayer').click(function () {
- var currentPlayers = $('#currentPlayers');
- players.pop()
- currentPlayers.text(players)
- });
- $('#addPlayer').click(function () {
- var name = $('#name').val();
- var currentPlayers = $('#currentPlayers');
- comma = name.indexOf(",");
- if (players.indexOf(name) !== -1) {
- alert("player has already been added")
- }
- if (comma != -1) {
- players = name.split(",");
- if (players.length < minPlayers) {
- alert('not enough players')
- return false;
- }
- currentPlayers.text(players)
- i = 0
- l = players.length;
- x = 2;
- while (1) {
- if (x >= l) {
- break;
- }
- x = Math.pow(2, ++i);
- }
- diff = x - l;
- for (i = 0; i < diff; i++) {
- players.push("free_win");
- }
- for (i = 0; i < l; i++) {
- coords.push([0,i*5]);
- }
- $('#name').val('');
- copyTextToClipboard(players)
- $('#npn').hide();
- $('#name').hide();
- $('#addPlayer').hide();
- $('#start').hide();
- $('#winner1').show();
- $('#winner2').show();
- $('#winLabel').show();
- shuffle(players);
- player1 = players[0];
- player2 = players[1];
- var msg = "1." + player1 + " ||||| 2." + player2;
- $('#currentPlayers').text(msg);
- } else {
- $('#start').show();
- $('#removePlayer').show();
- var currentPlayers = $('#currentPlayers');
- players.push(name)
- currentPlayers.text(players)
- $('#name').val('');
- }
- });
- $('#start').click(function () {
- if (players.length < minPlayers) {
- alert('not enough players')
- return false;
- }
- l = players.length;
- x = 2;
- while (1) {
- if (x >= l) {
- break;
- }
- x = Math.pow(2, ++i);
- }
- diff = x - l;
- for (i = 0; i < diff; i++) {
- players.push("free_win");
- }
- for (i = 0; i < l; i++) {
- coords.push([0,i*5]);
- }
- copyTextToClipboard(players)
- $('#npn').hide();
- $('#name').hide();
- $('#addPlayer').hide();
- $('#start').hide();
- $('#winner1').show();
- $('#winner2').show();
- $('#winLabel').show();
- shuffle(players);
- player1 = players[0];
- player2 = players[1];
- var msg = "1." + player1 + " ||||| 2." + player2;
- $('#currentPlayers').text(msg);
- });
- $('#winner1').click(function () {
- nextBracket.push(player1);
- players = removePlayer(players, player1);
- players = removePlayer(players, player2);
- if (players.length < 2) {
- if (nextBracket.length == 1 && players.length < 2) {
- alert(player1 + " wins!");
- location.reload(); //change with reset
- }
- console.log(players, nextBracket)
- players = nextBracket;
- nextBracket = [];
- }
- shuffle(players);
- player1 = players[0];
- player2 = players[1];
- var msg = "1." + player1 + " ||||| 2." + player2;
- $('#currentPlayers').text(msg);
- });
- $('#winner2').click(function () {
- nextBracket.push(player2);
- players = removePlayer(players, player1);
- players = removePlayer(players, player2);
- if (players.length < 2) {
- if (nextBracket.length == 1 && players.length < 2) {
- alert(player2 + " wins!");
- location.reload(); //change with reset
- }
- console.log(players, nextBracket)
- players = nextBracket;
- nextBracket = [];
- }
- shuffle(players);
- player1 = players[0];
- player2 = players[1];
- var msg = "1." + player1 + " ||||| 2." + player2;
- $('#currentPlayers').text(msg);
- });
- function fallbackCopyTextToClipboard(text) {
- var textArea = document.createElement("textarea");
- textArea.value = text;
- document.body.appendChild(textArea);
- textArea.focus();
- textArea.select();
- try {
- var successful = document.execCommand('copy');
- var msg = successful ? 'successful' : 'unsuccessful';
- console.log('Fallback: Copying text command was ' + msg);
- } catch (err) {
- console.error('Fallback: Oops, unable to copy', err);
- }
- document.body.removeChild(textArea);
- }
- function copyTextToClipboard(text) {
- if (!navigator.clipboard) {
- text = text
- fallbackCopyTextToClipboard(text);
- return;
- }
- navigator.clipboard.writeText(text).then(function () {
- console.log('Async: Copying to clipboard was successful!');
- }, function (err) {
- console.error('Async: Could not copy text: ', err);
- });
- }
- function getBaseLog(x, y) {
- return Math.log(y) / Math.log(x);
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement