deckard/index.html

85 lines
2.3 KiB
HTML
Raw Normal View History

2020-05-19 11:02:13 -06:00
<html>
<head>
<title>Deckard</title>
2020-05-19 14:46:00 -06:00
<link href="css.css" rel="stylesheet">
<script src="https://labs.murkfall.net/bluesaxman/blue.js/raw/master/libs/bluecore.js"></script>
2020-05-19 11:02:13 -06:00
</head>
<body>
<h1>Welcome to Deckard<h1>
2020-05-19 11:02:13 -06:00
</body>
2020-05-19 14:46:00 -06:00
<script>
2020-05-20 10:20:41 -06:00
window.deck = [];
window.hand = [];
function updateEvent() {
window.UI.deck.innerHTML = "";
window.UI.hand.innerHTML = "";
2020-05-20 11:11:45 -06:00
var theDeck = elementPlace("#deck","deckDisp","card","div");
2020-05-20 10:20:41 -06:00
theDeck.innerHTML = "<div>"+window.deck.length+"</div>";
2020-05-20 16:04:23 -06:00
window.hand.forEach(function (card,index) {
if (index < 10) {
2020-05-20 10:20:41 -06:00
var currentCard = elementPlace("#hand",null,"card","li");
2020-05-20 15:15:54 -06:00
currentCard.innerHTML = card;
2020-05-20 16:04:23 -06:00
}
2020-05-20 10:20:41 -06:00
});
}
function generateDeck(DDF) {
var cards = [""];
for (var attribute in DDF) {
var tempcards = [];
cards.forEach( function (current) {
DDF[attribute].forEach( function (value) {
tempcards.push(current+value);
} );
} );
cards = tempcards.slice();
}
return cards;
}
2020-05-20 10:20:41 -06:00
function shuffleDeck(deck) {
deck.forEach(function (card,index) {
var swapCardIndex = Math.floor( Math.random() * deck.length );
var swapCard = deck[swapCardIndex];
deck[swapCardIndex] = card;
deck[index] = swapCard;
});
}
elementPlace("body","menu",null,"div");
2020-05-19 14:46:00 -06:00
buttonAdd("#menu","upload","Upload Deck", function () {
popupDialog("deckLoader","Select Deck definition File",true,inputDialog,{"inputType":"file"},function (f) {
2020-05-19 15:02:43 -06:00
var myFile = new FileReader();
myFile.onload = function (file) {
2020-05-20 10:20:41 -06:00
// Probably validate the file somehow befor eating it
window.deck = generateDeck(JSON.parse(file.target.result));
2020-05-20 10:20:41 -06:00
window.hand = [];
updateEvent();
2020-05-19 15:02:43 -06:00
}
myFile.readAsText(f[0]);
2020-05-19 14:46:00 -06:00
})
},null,"div");
buttonAdd("#menu","shuffle", "Shuffle Deck", function () {
2020-05-20 10:20:41 -06:00
shuffleDeck(window.deck);
2020-05-19 14:46:00 -06:00
}, null, "div");
2020-05-20 10:20:41 -06:00
buttonAdd("#menu","shuffleAll", "Shuffle Whole Deck", function () {
window.deck = window.deck.concat(window.hand);
window.hand = [];
shuffleDeck(window.deck);
updateEvent();
2020-05-19 14:46:00 -06:00
}, null, "div");
buttonAdd("#menu","draw", "Draw Card", function () {
2020-05-20 10:20:41 -06:00
if (window.deck.length > 0) {
window.hand.unshift(window.deck.shift());
updateEvent();
}
2020-05-19 14:46:00 -06:00
}, null, "div");
2020-05-20 10:20:41 -06:00
elementPlace("body","display",null,"div");
window.UI = {};
window.UI.deck = elementPlace("#display","deck",null,"div");
window.UI.hand = elementPlace("#display","hand",null,"ol");
2020-05-19 14:46:00 -06:00
</script>
2020-05-19 11:02:13 -06:00
</html>