mirror of
https://github.com/Investigamer/cardconjurer.git
synced 2025-07-28 13:51:50 -05:00
3.0
This commit is contained in:
257
old/life.html
Normal file
257
old/life.html
Normal file
@@ -0,0 +1,257 @@
|
||||
<!DOCTYPE html5>
|
||||
<html>
|
||||
<head>
|
||||
<title>Life Counter</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"> -->
|
||||
<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": "Life Counter"
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body autocomplete="off">
|
||||
<div id="settings" class="settings">
|
||||
<div class="innerSettings">
|
||||
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>
|
||||
<input type="checkbox" id="inputWakeLock" checked="true">Enable Wake Lock</input><br><br>
|
||||
For an optimal experience, save this website to your home screen and open it from there.<br><br><div style="font-size: 0.75em">Check out my other website, <a style="font-size: inherit" href="https://cardconjurer.com">Card Conjurer</a>, to easily create custom Magic cards!</div>
|
||||
</div>
|
||||
</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].image)" placeholder="Via File Upload"><br>
|
||||
<input type="text" placeholder="Via URL" onchange="playerList[parseInt(document.getElementById('inputPlayer').value) - 1].image.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"><br><br>
|
||||
Text Color:<br>
|
||||
<input type="color" class="colorInput" value="#ffffff" id="inputTextColor" onchange="updateTextColor(this.value)"><br>
|
||||
</div><br>
|
||||
<div class="menuOption">
|
||||
RNG<br>
|
||||
Min <input class="smallInput" type="number" id="inputRNGMin" min="0" value="1"><br>
|
||||
Max <input class="smallInput" type="number" id="inputRNGMax" min="0" value="20"><br>
|
||||
<div onclick="rollRNG()" class="rng"><div class="rngNumber" id="rngOutput"><div style="font-size: 30pt; margin-top: 0.75em;">Tap Me<br>To Roll</div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="mainGrid" class="mainGrid"></div>
|
||||
</div>
|
||||
</body>
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: belerenbsc;
|
||||
src: url("data/fonts/beleren-bsc.ttf");
|
||||
}
|
||||
.settings {
|
||||
overflow-y: auto;
|
||||
touch-action: pan-y;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
height: 100%
|
||||
}
|
||||
.innerSettings {
|
||||
margin: 10pt;
|
||||
}
|
||||
* {
|
||||
font-family: belerenbsc;
|
||||
font-size: 24pt;
|
||||
margin: 0px;
|
||||
touch-action: manipulation;
|
||||
}
|
||||
image, div, canvas {
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
html, body {
|
||||
/*position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
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%;
|
||||
}
|
||||
.mainGrid {
|
||||
/*position: fixed;
|
||||
top: 0;
|
||||
left: 0;*/
|
||||
}
|
||||
#gridShell {
|
||||
display: none;
|
||||
}
|
||||
#gridShell:fullscreen {
|
||||
display: inline-block;
|
||||
}
|
||||
#gridShell:-webkit-full-screen {
|
||||
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: 50pt;
|
||||
height: 50pt;
|
||||
}
|
||||
.menu {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #000a;
|
||||
text-align: center;
|
||||
display: table;
|
||||
}
|
||||
.menuInterior {
|
||||
margin: 60pt 0px 0px 0px;
|
||||
padding: 10pt;
|
||||
overflow-y: auto;
|
||||
max-width: calc(100vw - 23pt);
|
||||
height: calc(100% - 60pt);
|
||||
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;
|
||||
max-width: calc(100% - 16pt);
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.colorInput {
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
width: 4.5em;
|
||||
height: 2em;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.permaHidden {
|
||||
display: none;
|
||||
}
|
||||
input {
|
||||
width: 7.5em;
|
||||
}
|
||||
#inputWakeLock {
|
||||
/*position: relative;
|
||||
top: -0.2em;*/
|
||||
margin: 0.25em;
|
||||
height: auto;
|
||||
width: auto;
|
||||
}
|
||||
.smallInput {
|
||||
width: 3em;
|
||||
}
|
||||
.rng {
|
||||
margin-top: 6pt;
|
||||
border: 1px solid white;
|
||||
height: 5em;
|
||||
min-width: 5em;
|
||||
border-radius: 1em;
|
||||
background-color: #222;
|
||||
}
|
||||
.rngNumber {
|
||||
font-size: 4em;
|
||||
}
|
||||
a {
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
<script src="data/life/NoSleep.js"></script>
|
||||
<script src="data/life/life.js"></script>
|
||||
<html>
|
Reference in New Issue
Block a user