-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest4.html
102 lines (85 loc) · 2.43 KB
/
test4.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<html lang="">
<style>
* {
margin: 0;
padding: 0;
}
.cards {
display: grid;
height: 100%;
margin: auto;
}
.card {
max-width: 95%;
max-height: 95vh;
margin: auto;
border-radius: 4.75% / 3.5%;
box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
}
#back {
margin-top: 20px;
}
</style>
<body>
<div class="cards">
<img id="front" class="card" alt="">
</div>
</body>
<script>
scryfall = "https://api.scryfall.com/cards/random?q=set%3Amh3+%28r%3Ac+or+r%3Au%29"
baseUrl = "https://api.scryfall.com/cards/random?q="
set = "BLB"
booster = "+cn<282"
scryfallCommon = baseUrl + "set%3A" + set + "+r%3Ac+-t%3Aland" + booster
scryfallUncommon = baseUrl + "set%3A" + set + "+r%3Au" + booster
scryfallRare = baseUrl + "set%3A" + set + "+r%3Ar" + booster
scryfallMythicRare = baseUrl + "set%3A" + set + "+r%3Am" + booster
scryfallBasicLand = baseUrl + "set%3A" + set + "+r%3Ac+t%3Aland" + booster
// https://scryfall.com/search?as=grid&extras=true&lang=any&order=set&q=set%3Aspg+date%3Dblb&unique=cards
scryfallTheList = baseUrl + "set%3A" + set + "+r%3Ac+-t%3Aland"
function setImage(card) {
let element = document.getElementById("front");
if (card.image_uris != null) {
element.src = card.image_uris.large
}
else {
element.src = card.card_faces[0].image_uris.large
}
}
function getRandomCard() {
let slot = getRandomSlot()
if (slot === 1) {
let rareSlot = getRareSlot()
if (rareSlot === 1) {
return scryfallMythicRare
}
return scryfallRare
}
if (slot === 2) {
return scryfallTheList
}
if (slot === 3) {
return scryfallBasicLand
}
if (slot <= 6) {
return scryfallUncommon
}
return scryfallCommon
}
function getRandomSlot() {
return Math.floor(Math.random() * 14) + 1;
}
function getRareSlot() {
return Math.floor(Math.random() * 5) + 1;
}
let image = document.getElementById('front');
image.addEventListener('click', function() {
location.reload();
});
fetch(getRandomCard())
.then((response) => response.json())
.then((json) => {
setImage(json)
})
</script>
</html>