Files
cardconjurer/life.html
2019-08-11 19:31:25 -07:00

206 lines
6.0 KiB
HTML

<!DOCTYPE html5>
<html>
<head>
<title>Card Conjurer</title>
<!-- Favicon craziness! -->
<link rel="apple-touch-icon" sizes="180x180" href="favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="favicons/favicon-16x16.png">
<link rel="manifest" href="favicons/site.webmanifest">
<link rel="mask-icon" href="favicons/safari-pinned-tab.svg" color="#64ca2f">
<link rel="shortcut icon" type="image/x-icon" href="favicons/favicon.ico">
<meta name="msapplication-TileColor" content="#00a300">
<meta name="msapplication-config" content="favicons/browserconfig.xml">
<meta name="theme-color" content="#64ca2f">
<!-- Other things -->
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-title" content="LifeCounter">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!-- Here's the stuff that does things? -->
<script type='application/ld+json'>
{
"@context": "http://schema.org/",
"@type": "WebPage",
"creator": "Kyle Burton",
"dateCreated": "July 2018",
"inLanguage": {
"@type": "Language",
"name": "English"
},
"keywords": [
"MTG",
"Magic",
"card",
"custom",
"creator"
],
"typicalAgeRange": "All ages",
"description": "Card Conjurer: A free online tool that creates custom Magic: The Gathering Cards. Fast, easy, and offers a wide variety of card frames and other customizations. Planar cards, Ixalan maps, Planeswalkers, and more!",
"image": "http://cardconjurer.com/data/site/sampleCards/sample8.png",
"mainEntityOfPage": "cardconjurer.com",
"name": "Card Conjurer"
}
</script>
</head>
<body autocomplete="off">
<div id="settings" class="settings">
Number of Players:<br>
<input id="inputPlayerCount" class="input" type="number" min="2" value="4" max="16"><br>
Starting Life Total:<br>
<input id="inputStartingLife" class="input" type="number" min="0" value="40"><br>
<button id="buttonStartGame" class="input" onclick="startGame()">Game On!</button><br><br>
For an optimal experience, save this website to your home screen and open it from there.
</div>
<div onclick="fullscreen()" class="hidden" id="return">CLICK ANYWHERE TO RETURN TO FULLSCREEN</div>
<div id="gridShell">
<img id="menuButton" class="menuButton" src="data/life/menuButton.png" onclick="document.getElementById('menu').classList.remove('hidden')">
<div id="menu" class="menu hidden">
<img class="menuExitButton" src="data/life/menuExitButton.png" onclick="document.getElementById('menu').classList.add('hidden')">
<div class="menuInterior">
<div class="menuOption" onclick="resetLife()">Reset Life Totals</div><br>
<div class="menuOption" onclick="location.reload()">Change Player Count</div><br>
<div class="menuOption">
Change Background:<br>
<select id="inputPlayer" onchange="updateColorSelector()"></select><br>
Color:<br>
<input type="color" class="colorInput" value="#222222" id="inputPlayerColor" onchange="updateBackgroundColor(this.value)"><br>
<button onclick="updateBackgroundColor('#222222')">Default</button><br>
Image:<br>
<input type="file" accept="image/*" onchange="loadImage(event, playerList[parseInt(document.getElementById('inputPlayer').value) - 1].canvas.customVarImage)" placeholder="Via File Upload"><br>
<input type="text" placeholder="Via URL" onchange="playerList[parseInt(document.getElementById('inputPlayer').value) - 1].canvas.customVarImage.src = this.value"><br>
<input id="inputCardArtName" onchange="inputCardArtName(this.value)" type="text" placeholder="Via Card Name"><br>
<input id="inputCardArtNameNumber" onchange="inputCardArtNameNumber(this.value)" type="number" value="1" min="1" max="1">
</div><br>
</div>
</div>
<div id="mainGrid" class="mainGrid"></div>
</div>
</body>
<style>
@font-face {
font-family: belerenbsc;
src: url("data/fonts/beleren-bsc.ttf");
}
.settings {
margin: 10pt;
}
* {
font-family: belerenbsc;
font-size: 24pt;
margin: 0px;
touch-action: none;
}
image, div, canvas {
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}
html, body {
height: 100%;
overflow: hidden;
}
body {
background-color: #333;
color: white;
}
.mainGrid {
display: grid;
grid-template-columns: auto auto;
grid-auto-rows: 1fr;
width: 100%;
height: 100%;
align-items: center;
}
canvas {
/*touch-action: manipulation !important;*/
}
#gridShell {
display: none;
/*position: fixed;
top: 0;
left: 0;*/
}
#gridShell:fullscreen {
display: inline-block;
}
#gridShell.fullscreenUnavailable {
display: inline-block;
}
.playerBox {
border: 1px solid white;
width: auto;
height: auto;
}
.widePlayerBox {
grid-column: 1 / span 2;
}
#return {
width: 100%;
height: 100%;
color: white;
font-size: 3vw;
}
.menuButton {
position: fixed;
top: calc(50% - 7.5vw);
left: calc(50% - 7.5vw);
width: 15vw;
height: 15vw;
border: 2px solid white;
}
.menuExitButton {
position: fixed;
top: 5pt;
right: 5pt;
width: 60pt;
height: 60pt;
}
.menu {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000a;
text-align: center;
display: table;
}
.menuInterior {
margin: 70pt 0px 0px 0px;
padding: 10pt;
overflow-y: auto;
height: calc(100% - 70pt);
border: 2px solid white;
touch-action: pan-y;
-webkit-overflow-scrolling: touch;
}
.menuOption {
font-size: 20pt;
background-color: #333;
border-radius: 1em;
display: inline-block;
margin-bottom: 10pt;
padding: 8pt;
}
.colorInput {
border: 0px;
padding: 0px;
width: 4.5em;
height: 2em;
}
.hidden {
display: none;
}
.permaHidden {
display: none;
}
input {
width: 7.5em;
}
</style>
<script src="data/life/life.js"></script>
<html>