44deaf7b0a
* fix https * add beasts * Remove extra file * Prettier-ify code * Prettier-ify * add basic land guesser also added fetcher to filter all cards instead of only unique art * default to original makes basic better * added set symbol to basics added set symbol to the basics game mode. Changed name to "How Basic" * cleanup * changed some pixels * only load set data if needed * hacked fix for removing image from name * removed check from original * remove check from original * sort names by set instead of by set symbol * include battlebond * update cards for categories update for dominaria united * added commander category commander category * update basic land art * can use double feature * removing racist cards upstream this way we don't have to store the cards in the json * remove generated cards from digital commanders * fix counterspell setting default * added difficulty rating * updated padding * add dfc support for commanders * add artists * use latest non-digital if possible * change vsCode settings for python * update with latest non-digital printing * update artist list * update algo to select k samples * cleanup code * equally weight artists * weight everything equally * updated for all artists * update artists * add allowlist * update artists to min 50 art * allow promo to be replaced * update jsons * update with min 100 arts * update code to be smaller jsons * updated to 18 artists per game * update ui * update importing artists * update to 21 * move num artists to top of js file * update artistList to not include artist sigs * update to 50 artists * update for ub * update artist list * update ub defaults * update jsons * allow non-english cards to be replaced * update allowlist * update jsons * add watermark * update jsons * update jsons * make jsons slightly smaller * add checkmarks and x's * remove python * add no answer and checkbox and x Co-authored-by: Austin Chen <akrolsmir@gmail.com>
578 lines
13 KiB
HTML
578 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<!-- Google Tag Manager -->
|
|
<script>
|
|
;(function (w, d, s, l, i) {
|
|
w[l] = w[l] || []
|
|
w[l].push({
|
|
'gtm.start': new Date().getTime(),
|
|
event: 'gtm.js',
|
|
})
|
|
var f = d.getElementsByTagName(s)[0],
|
|
j = d.createElement(s),
|
|
dl = l !== 'dataLayer' ? '&l=' + l : ''
|
|
j.async = true
|
|
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl
|
|
f.parentNode.insertBefore(j, f)
|
|
})(window, document, 'script', 'dataLayer', 'GTM-M3MBVGG')
|
|
</script>
|
|
<!-- End Google Tag Manager -->
|
|
<meta charset="UTF-8" />
|
|
<script type="text/javascript" src="app.js"></script>
|
|
<style type="text/css">
|
|
body {
|
|
position: relative;
|
|
}
|
|
|
|
.play-page {
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
font-family: Georgia, 'Times New Roman', Times, serif;
|
|
}
|
|
|
|
h1 {
|
|
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
|
text-align: center;
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
|
|
.new-game-button {
|
|
font-size: 14px;
|
|
margin: 0;
|
|
}
|
|
|
|
form {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-right: 240px;
|
|
}
|
|
|
|
.cards-container {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
}
|
|
|
|
.card {
|
|
width: 300px;
|
|
height: 259px;
|
|
border: 5px solid lightgrey;
|
|
margin: 5px;
|
|
align-items: flex-end;
|
|
box-sizing: border-box;
|
|
border-radius: 11px;
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
/*background-size: contain;*/
|
|
background-size: 292px;
|
|
background-repeat: no-repeat;
|
|
transition: height 1s, background-image 1s, border 0.4s 0.6s;
|
|
background-position-y: calc(50% - 18px);
|
|
}
|
|
|
|
.card:not([data-name^='name'])::after {
|
|
content: '';
|
|
height: 34px;
|
|
background: white;
|
|
width: 100%;
|
|
}
|
|
|
|
.answer-page .card:not([data-name^='name'])::after {
|
|
display: none;
|
|
}
|
|
|
|
.answer-page .card {
|
|
height: 453px;
|
|
/*padding-top: 310px;*/
|
|
/*background-size: cover;*/
|
|
overflow: hidden;
|
|
border-color: rgb(0, 146, 156);
|
|
}
|
|
|
|
.answer-page .card.incorrect {
|
|
border-color: rgb(216, 27, 96);
|
|
}
|
|
|
|
.names-bank {
|
|
position: fixed;
|
|
padding: 10px 10px 40px;
|
|
}
|
|
|
|
.names-bank .name {
|
|
margin: 6px 0;
|
|
}
|
|
|
|
.answer-page .names-bank .name {
|
|
display: none;
|
|
}
|
|
|
|
.answer-page .names-bank .word-count {
|
|
display: none;
|
|
}
|
|
|
|
.word-count {
|
|
text-align: center;
|
|
font-style: italic;
|
|
color: #444;
|
|
}
|
|
|
|
.score {
|
|
width: 100%;
|
|
text-align: center;
|
|
background-color: rgb(255, 193, 7);
|
|
width: 200px;
|
|
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
|
opacity: 0;
|
|
}
|
|
|
|
.names-bank .score {
|
|
overflow: hidden;
|
|
height: 0;
|
|
}
|
|
|
|
.answer-page .names-bank .score {
|
|
height: auto;
|
|
display: block;
|
|
opacity: 1;
|
|
transition: opacity 1.2s 0.2s;
|
|
padding: 20px;
|
|
}
|
|
|
|
.name {
|
|
width: 230px;
|
|
min-height: 36px;
|
|
border-radius: 2px;
|
|
background-color: lightgrey;
|
|
padding: 8px 12px 2px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.card .name {
|
|
border-radius: 0 0 5px 5px;
|
|
width: 300px;
|
|
}
|
|
|
|
#submit {
|
|
margin-top: 10px;
|
|
padding: 8px 20px;
|
|
background-color: cadetblue;
|
|
border: none;
|
|
border-radius: 3px;
|
|
font-size: 1.1em;
|
|
color: white;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#submit:hover {
|
|
background-color: rgb(0, 146, 156);
|
|
}
|
|
|
|
#newGame {
|
|
padding: 8px 20px;
|
|
background-color: lightpink;
|
|
border: none;
|
|
/* position: absolute; */
|
|
top: 5px;
|
|
left: 20px;
|
|
border-radius: 3px;
|
|
font-size: 0.7em;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#newGame:hover {
|
|
background-color: coral;
|
|
}
|
|
|
|
.selected {
|
|
background-color: orange;
|
|
}
|
|
|
|
@media screen and (orientation: landscape) and (max-height: 680px) {
|
|
/* CSS applied when the device is in landscape mode*/
|
|
.names-bank {
|
|
padding: 0;
|
|
top: 0;
|
|
max-height: 100vh;
|
|
overflow: scroll;
|
|
}
|
|
|
|
body {
|
|
font-size: 20px;
|
|
}
|
|
|
|
.word-count {
|
|
font-size: 14px;
|
|
}
|
|
|
|
h1 {
|
|
margin-right: 240px;
|
|
}
|
|
|
|
.answer-page .card {
|
|
height: 353px;
|
|
}
|
|
|
|
.card {
|
|
width: 230px;
|
|
height: 208px;
|
|
background-size: 220px;
|
|
}
|
|
}
|
|
|
|
@media screen and (orientation: portrait) and (max-width: 1100px) {
|
|
body {
|
|
font-size: 1.8em;
|
|
}
|
|
|
|
.play-page {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.names-bank {
|
|
flex-direction: row;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
/* position: fixed; */
|
|
padding: 10px 10px 40px;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 100;
|
|
background: white;
|
|
}
|
|
|
|
.answer-page .names-bank {
|
|
min-width: 100%;
|
|
justify-content: center;
|
|
}
|
|
|
|
form {
|
|
margin: 0;
|
|
}
|
|
|
|
.names-bank .name {
|
|
margin: 6px;
|
|
}
|
|
|
|
.names-bank .score {
|
|
width: 0;
|
|
}
|
|
|
|
.answer-page .names-bank .score {
|
|
width: auto;
|
|
}
|
|
|
|
.word-count {
|
|
position: absolute;
|
|
margin-top: -20px;
|
|
}
|
|
|
|
.name {
|
|
width: 300px;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<!-- Google Tag Manager (noscript) -->
|
|
<noscript>
|
|
<iframe
|
|
src="https://www.googletagmanager.com/ns.html?id=GTM-M3MBVGG"
|
|
height="0"
|
|
width="0"
|
|
style="display: none; visibility: hidden"
|
|
></iframe>
|
|
</noscript>
|
|
<!-- End Google Tag Manager (noscript) -->
|
|
|
|
<h1>
|
|
<form method="get" class="new-game-button" action="index.html">
|
|
<input type="submit" id="newGame" value="New Game" />
|
|
</form>
|
|
<div style="flex-grow: 1">
|
|
<span id="guess-type"></span>: <span id="round-number"></span
|
|
><span style="display: inline-block; width: 90px"> </span>
|
|
</div>
|
|
</h1>
|
|
|
|
<div class="play-page">
|
|
<div
|
|
class="names-bank"
|
|
ondrop="returnDrop(event)"
|
|
ondragover="event.preventDefault()"
|
|
>
|
|
<div class="score">
|
|
YOUR SCORE
|
|
<div>Correct Answers This Round: <span id="score-amount"></span></div>
|
|
<div>
|
|
Correct Answers In Total: <span id="score-amount-total"></span>
|
|
</div>
|
|
<div>Overall Percent: <span id="score-percent"></span>%</div>
|
|
</div>
|
|
<div class="word-count"><span id="words-left"></span></div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-1"
|
|
>
|
|
Name 1
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-2"
|
|
>
|
|
Name 2
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-3"
|
|
>
|
|
Name 3
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-4"
|
|
>
|
|
Name 4
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-5"
|
|
>
|
|
Name 5
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-6"
|
|
>
|
|
Name 6
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-7"
|
|
>
|
|
Name 7
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-8"
|
|
>
|
|
Name 8
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-9"
|
|
>
|
|
Name 9
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-10"
|
|
>
|
|
Name 10
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-11"
|
|
>
|
|
Name 11
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-12"
|
|
>
|
|
Name 12
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-13"
|
|
>
|
|
Name 13
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-14"
|
|
>
|
|
Name 14
|
|
</div>
|
|
<div
|
|
class="name"
|
|
draggable="true"
|
|
ondragstart="drag(event)"
|
|
onClick="selectName(event)"
|
|
id="name-15"
|
|
>
|
|
Name 15
|
|
</div>
|
|
</div>
|
|
<form onsubmit="toggleMode(event)">
|
|
<div class="cards-container">
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,1)"
|
|
ondragover="allowDrop(event,1)"
|
|
onclick="dropSelected(event, 1)"
|
|
id="card-1"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,2)"
|
|
ondragover="allowDrop(event,2)"
|
|
onclick="dropSelected(event, 2)"
|
|
id="card-2"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,3)"
|
|
ondragover="allowDrop(event,3)"
|
|
onclick="dropSelected(event, 3)"
|
|
id="card-3"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,4)"
|
|
ondragover="allowDrop(event,4)"
|
|
onclick="dropSelected(event, 4)"
|
|
id="card-4"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,5)"
|
|
ondragover="allowDrop(event,5)"
|
|
onclick="dropSelected(event, 5)"
|
|
id="card-5"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event, 6)"
|
|
ondragover="allowDrop(event,6)"
|
|
onclick="dropSelected(event,6)"
|
|
id="card-6"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,7)"
|
|
ondragover="allowDrop(event,7)"
|
|
onclick="dropSelected(event, 7)"
|
|
id="card-7"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,8)"
|
|
ondragover="allowDrop(event,8)"
|
|
onclick="dropSelected(event, 8)"
|
|
id="card-8"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,9)"
|
|
ondragover="allowDrop(event,9)"
|
|
onclick="dropSelected(event, 9)"
|
|
id="card-9"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,10)"
|
|
ondragover="allowDrop(event,10)"
|
|
onclick="dropSelected(event, 10)"
|
|
id="card-10"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,11)"
|
|
ondragover="allowDrop(event,11)"
|
|
onclick="dropSelected(event, 11)"
|
|
id="card-11"
|
|
></div>
|
|
<div
|
|
class="card"
|
|
ondrop="drop(event,12)"
|
|
ondragover="allowDrop(event,12)"
|
|
onclick="dropSelected(event, 12)"
|
|
id="card-12"
|
|
></div>
|
|
</div>
|
|
<input type="submit" id="submit" value="Submit" />
|
|
</form>
|
|
</div>
|
|
|
|
<div
|
|
style="position: absolute; top: 0; left: 0; right: 0; color: grey"
|
|
></div>
|
|
<div style="margin: -40px 0 0; height: 60px">
|
|
<a href="https://paypal.me/idamayer">Donate, buy us a boba 🧋</a>
|
|
</div>
|
|
|
|
<div
|
|
style="
|
|
font-size: 0.9em;
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
color: grey;
|
|
font-style: italic;
|
|
"
|
|
>
|
|
made by
|
|
<a
|
|
style="color: rgb(0, 146, 156); font-style: italic"
|
|
href="https://idamayer.com"
|
|
>Ida Mayer</a
|
|
>
|
|
&
|
|
<a
|
|
style="color: rgb(0, 146, 156); font-style: italic"
|
|
href="mailto:alexlien.alien@gmail.com"
|
|
>Alex Lien</a
|
|
>, 2022
|
|
</div>
|
|
</body>
|
|
</html>
|