improved html input with a resizable, dynamic game cards preview
128
cardSvgs.js
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
// backs & joker
|
||||||
|
import card1B from "./cards/1B.svg?raw";
|
||||||
|
import card2B from "./cards/2B.svg?raw";
|
||||||
|
import card1J from "./cards/1J.svg?raw";
|
||||||
|
|
||||||
|
// suit: clubs
|
||||||
|
import cardAC from "./cards/AC.svg?raw";
|
||||||
|
import card2C from "./cards/2C.svg?raw";
|
||||||
|
import card3C from "./cards/3C.svg?raw";
|
||||||
|
import card4C from "./cards/4C.svg?raw";
|
||||||
|
import card5C from "./cards/5C.svg?raw";
|
||||||
|
import card6C from "./cards/6C.svg?raw";
|
||||||
|
import card7C from "./cards/7C.svg?raw";
|
||||||
|
import card8C from "./cards/8C.svg?raw";
|
||||||
|
import card9C from "./cards/9C.svg?raw";
|
||||||
|
import cardTC from "./cards/TC.svg?raw";
|
||||||
|
import cardJC from "./cards/JC.svg?raw";
|
||||||
|
import cardQC from "./cards/QC.svg?raw";
|
||||||
|
import cardKC from "./cards/KC.svg?raw";
|
||||||
|
|
||||||
|
// suit: diamonds
|
||||||
|
import cardAD from "./cards/AD.svg?raw";
|
||||||
|
import card2D from "./cards/2D.svg?raw";
|
||||||
|
import card3D from "./cards/3D.svg?raw";
|
||||||
|
import card4D from "./cards/4D.svg?raw";
|
||||||
|
import card5D from "./cards/5D.svg?raw";
|
||||||
|
import card6D from "./cards/6D.svg?raw";
|
||||||
|
import card7D from "./cards/7D.svg?raw";
|
||||||
|
import card8D from "./cards/8D.svg?raw";
|
||||||
|
import card9D from "./cards/9D.svg?raw";
|
||||||
|
import cardTD from "./cards/TD.svg?raw";
|
||||||
|
import cardJD from "./cards/JD.svg?raw";
|
||||||
|
import cardQD from "./cards/QD.svg?raw";
|
||||||
|
import cardKD from "./cards/KD.svg?raw";
|
||||||
|
|
||||||
|
// suit: hearts
|
||||||
|
import cardAH from "./cards/AH.svg?raw";
|
||||||
|
import card2H from "./cards/2H.svg?raw";
|
||||||
|
import card3H from "./cards/3H.svg?raw";
|
||||||
|
import card4H from "./cards/4H.svg?raw";
|
||||||
|
import card5H from "./cards/5H.svg?raw";
|
||||||
|
import card6H from "./cards/6H.svg?raw";
|
||||||
|
import card7H from "./cards/7H.svg?raw";
|
||||||
|
import card8H from "./cards/8H.svg?raw";
|
||||||
|
import card9H from "./cards/9H.svg?raw";
|
||||||
|
import cardTH from "./cards/TH.svg?raw";
|
||||||
|
import cardJH from "./cards/JH.svg?raw";
|
||||||
|
import cardQH from "./cards/QH.svg?raw";
|
||||||
|
import cardKH from "./cards/KH.svg?raw";
|
||||||
|
|
||||||
|
// suit: spades
|
||||||
|
import cardAS from "./cards/AS.svg?raw";
|
||||||
|
import card2S from "./cards/2S.svg?raw";
|
||||||
|
import card3S from "./cards/3S.svg?raw";
|
||||||
|
import card4S from "./cards/4S.svg?raw";
|
||||||
|
import card5S from "./cards/5S.svg?raw";
|
||||||
|
import card6S from "./cards/6S.svg?raw";
|
||||||
|
import card7S from "./cards/7S.svg?raw";
|
||||||
|
import card8S from "./cards/8S.svg?raw";
|
||||||
|
import card9S from "./cards/9S.svg?raw";
|
||||||
|
import cardTS from "./cards/TS.svg?raw";
|
||||||
|
import cardJS from "./cards/JS.svg?raw";
|
||||||
|
import cardQS from "./cards/QS.svg?raw";
|
||||||
|
import cardKS from "./cards/KS.svg?raw";
|
||||||
|
|
||||||
|
let cardSvgs = {
|
||||||
|
"1B": card1B,
|
||||||
|
"2B": card2B,
|
||||||
|
"1J": card1J,
|
||||||
|
|
||||||
|
AC: cardAC,
|
||||||
|
"2C": card2C,
|
||||||
|
"3C": card3C,
|
||||||
|
"4C": card4C,
|
||||||
|
"5C": card5C,
|
||||||
|
"6C": card6C,
|
||||||
|
"7C": card7C,
|
||||||
|
"8C": card8C,
|
||||||
|
"9C": card9C,
|
||||||
|
TC: cardTC,
|
||||||
|
JC: cardJC,
|
||||||
|
QC: cardQC,
|
||||||
|
KC: cardKC,
|
||||||
|
|
||||||
|
AD: cardAD,
|
||||||
|
"2D": card2D,
|
||||||
|
"3D": card3D,
|
||||||
|
"4D": card4D,
|
||||||
|
"5D": card5D,
|
||||||
|
"6D": card6D,
|
||||||
|
"7D": card7D,
|
||||||
|
"8D": card8D,
|
||||||
|
"9D": card9D,
|
||||||
|
TD: cardTD,
|
||||||
|
JD: cardJD,
|
||||||
|
QD: cardQD,
|
||||||
|
KD: cardKD,
|
||||||
|
|
||||||
|
AH: cardAH,
|
||||||
|
"2H": card2H,
|
||||||
|
"3H": card3H,
|
||||||
|
"4H": card4H,
|
||||||
|
"5H": card5H,
|
||||||
|
"6H": card6H,
|
||||||
|
"7H": card7H,
|
||||||
|
"8H": card8H,
|
||||||
|
"9H": card9H,
|
||||||
|
TH: cardTH,
|
||||||
|
JH: cardJH,
|
||||||
|
QH: cardQH,
|
||||||
|
KH: cardKH,
|
||||||
|
|
||||||
|
AS: cardAS,
|
||||||
|
"2S": card2S,
|
||||||
|
"3S": card3S,
|
||||||
|
"4S": card4S,
|
||||||
|
"5S": card5S,
|
||||||
|
"6S": card6S,
|
||||||
|
"7S": card7S,
|
||||||
|
"8S": card8S,
|
||||||
|
"9S": card9S,
|
||||||
|
TS: cardTS,
|
||||||
|
JS: cardJS,
|
||||||
|
QS: cardQS,
|
||||||
|
KS: cardKS,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default cardSvgs;
|
2
cards/1B.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="card" face="1B" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><pattern id="B1" width="6" height="6" patternUnits="userSpaceOnUse"><path d="M3 0L6 3L3 6L0 3Z" fill="black"></path></pattern></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#e4dccd" stroke="black"></rect><rect fill="url(#B1)" width="216" height="312" x="-108" y="-156" rx="12" ry="12"></rect></svg>
|
After Width: | Height: | Size: 541 B |
2
cards/1J.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="1J" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="J14" preserveAspectRatio="none" viewBox="0 0 1300 2000"><path stroke="#44F" stroke-linecap="round" stroke-linejoin="round" stroke-width="6" fill="none" d="M317.05664,1294.416 100,1620l220,-60 40,240 140,-200 160,200 40,-200 180,180 60,-220 260,60 -236.67969,-304.3027M1241.1987,534.58948a75,75 0 0 1 -75,75 75,75 0 0 1 -75,-75 75,75 0 0 1 75,-75 75,75 0 0 1 75,75zM980.11493,234.09686a75,75 0 0 1 -75,75 75,75 0 0 1 -75,-75 75,75 0 0 1 75,-75 75,75 0 0 1 75,75zM190.29556,431.1412a75,75 0 0 1 -75,75 75,75 0 0 1 -74.999997,-75 75,75 0 0 1 74.999997,-75 75,75 0 0 1 75,75zM924.3457,650.27148c42.40088,-50.45397 91.5936,-93.35356 167.5059,-106.53906 -0.4037,-3.03138 -0.6215,-6.0846 -0.6524,-9.14258 0.03,-15.96068 5.1503,-31.4957 14.6172,-44.3457C1026.3517,437.47479 931.12146,446.83238 840,440 761.98041,388.07638 804.10248,338.17898 853.51758,288.4043 842.40414,277.84182 834.79487,264.12701 831.71484,249.10742 687.94378,262.65874 542.4812,256.33752 420,520 369.08062,331.38331 278.61481,370.61289 187.77148,412.01367c1.66108,6.24042 2.50924,12.66925 2.52344,19.12695 -0.0209,17.1896 -5.94587,33.85038 -16.7832,47.19336 66.82714,55.25532 117.5686,127.8306 155.76953,213.91016M384.88867,1140c51.89013,98.343 153.91815,159.9189 265.11133,160 111.19809,-0.076 213.23257,-61.6527 265.125,-160M1095,1000A445,445 0 0 1 650,1445 445,445 0 0 1 205,1000 445,445 0 0 1 650,555 445,445 0 0 1 1095,1000Z"></path></symbol><symbol id="J13" preserveAspectRatio="none" viewBox="0 0 1300 2000"><path fill="#44F" d="M879.65521,937.6026a40,40 0 0 1 -40,40 40,40 0 0 1 -40,-40 40,40 0 0 1 40,-40 40,40 0 0 1 40,40zm-379.31039,0a40,40 0 0 1 -40,40 40,40 0 0 1 -40,-40 40,40 0 0 1 40,-40 40,40 0 0 1 40,40z"></path></symbol><symbol id="J12" preserveAspectRatio="none" viewBox="0 0 1300 2000"><path fill="red" d="M317.05664,1294.416 100,1620l220,-60 40,240 140,-200 160,200 40,-200 180,180 60,-220 260,60 -236.67969,-304.3027A445,445 0 0 1 650,1445 445,445 0 0 1 317.05664,1294.416ZM831.71484,249.10742C687.94378,262.65874 542.4812,256.33752 420,520 369.08062,331.38331 278.61481,370.61289 187.77148,412.01367a75,75 0 0 1 2.52344,19.12695 75,75 0 0 1 -16.78515,47.19532c66.827,55.25537 117.57478,127.8247 155.77539,213.90429A445,445 0 0 1 650,555 445,445 0 0 1 924.33984,650.26562c42.39917,-50.4556 91.60026,-93.34711 167.51176,-106.5332a75,75 0 0 1 -0.6524,-9.14258 75,75 0 0 1 14.6172,-44.3457C1026.3517,437.47479 931.12146,446.83238 840,440 761.98041,388.07638 804.10248,338.17898 853.51758,288.4043a75,75 0 0 1 -21.80274,-39.29688z"></path></symbol><symbol id="J11" preserveAspectRatio="none" viewBox="0 0 1300 2000"><path fill="#FC4" d="M1095,1000A445,445 0 0 1 650,1445 445,445 0 0 1 205,1000 445,445 0 0 1 650,555 445,445 0 0 1 1095,1000Z"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use width="202.8" height="312" x="-101.4" y="-156" xlink:href="#J11"></use><use width="202.8" height="312" x="-101.4" y="-156" xlink:href="#J12"></use><use width="202.8" height="312" x="-101.4" y="-156" xlink:href="#J13"></use><use width="202.8" height="312" x="-101.4" y="-156" xlink:href="#J14"></use></svg>
|
After Width: | Height: | Size: 3.3 KiB |
2
cards/2B.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="card" face="2B" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><pattern id="B2" width="6" height="6" patternUnits="userSpaceOnUse"><path d="M3 0L6 3L3 6L0 3Z" fill="#d40000"></path></pattern></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#e4dccd" stroke="black"></rect><rect fill="url(#B2)" width="216" height="312" x="-108" y="-156" rx="12" ry="12"></rect></svg>
|
After Width: | Height: | Size: 543 B |
2
cards/2C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="2C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC2" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC2" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-225 -225C-245 -265 -200 -460 0 -460C 200 -460 225 -325 225 -225C225 -25 -225 160 -225 460L225 460L225 300" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC2" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC2" height="40" width="40" x="-20" y="-107.718"></use><use xlink:href="#SC2" height="40" width="40" x="-20" y="67.718"></use><g transform="rotate(180)"><use xlink:href="#VC2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC2" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
2
cards/2D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="2D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD2" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD2" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-225 -225C-245 -265 -200 -460 0 -460C 200 -460 225 -325 225 -225C225 -25 -225 160 -225 460L225 460L225 300" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD2" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD2" height="40" width="40" x="-20" y="-107.668"></use><use xlink:href="#SD2" height="40" width="40" x="-20" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VD2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD2" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
2
cards/2H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="2H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH2" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH2" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-225 -225C-245 -265 -200 -460 0 -460C 200 -460 225 -325 225 -225C225 -25 -225 160 -225 460L225 460L225 300" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH2" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH2" height="40" width="40" x="-20" y="-107.668"></use><use xlink:href="#SH2" height="40" width="40" x="-20" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VH2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH2" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
2
cards/2J.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="2J" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="J22" preserveAspectRatio="none" viewBox="0 0 1300 2000"><path stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="6" fill="none" d="M317.05664,1294.416 100,1620l220,-60 40,240 140,-200 160,200 40,-200 180,180 60,-220 260,60 -236.67969,-304.3027M1241.1987,534.58948a75,75 0 0 1 -75,75 75,75 0 0 1 -75,-75 75,75 0 0 1 75,-75 75,75 0 0 1 75,75zM980.11493,234.09686a75,75 0 0 1 -75,75 75,75 0 0 1 -75,-75 75,75 0 0 1 75,-75 75,75 0 0 1 75,75zM190.29556,431.1412a75,75 0 0 1 -75,75 75,75 0 0 1 -74.999997,-75 75,75 0 0 1 74.999997,-75 75,75 0 0 1 75,75zM924.3457,650.27148c42.40088,-50.45397 91.5936,-93.35356 167.5059,-106.53906 -0.4037,-3.03138 -0.6215,-6.0846 -0.6524,-9.14258 0.03,-15.96068 5.1503,-31.4957 14.6172,-44.3457C1026.3517,437.47479 931.12146,446.83238 840,440 761.98041,388.07638 804.10248,338.17898 853.51758,288.4043 842.40414,277.84182 834.79487,264.12701 831.71484,249.10742 687.94378,262.65874 542.4812,256.33752 420,520 369.08062,331.38331 278.61481,370.61289 187.77148,412.01367c1.66108,6.24042 2.50924,12.66925 2.52344,19.12695 -0.0209,17.1896 -5.94587,33.85038 -16.7832,47.19336 66.82714,55.25532 117.5686,127.8306 155.76953,213.91016M384.88867,1140c51.89013,98.343 153.91815,159.9189 265.11133,160 111.19809,-0.076 213.23257,-61.6527 265.125,-160M1095,1000A445,445 0 0 1 650,1445 445,445 0 0 1 205,1000 445,445 0 0 1 650,555 445,445 0 0 1 1095,1000Z"></path></symbol><symbol id="J21" preserveAspectRatio="none" viewBox="0 0 1300 2000"><path fill="black" d="M879.65521,937.6026a40,40 0 0 1 -40,40 40,40 0 0 1 -40,-40 40,40 0 0 1 40,-40 40,40 0 0 1 40,40zm-379.31039,0a40,40 0 0 1 -40,40 40,40 0 0 1 -40,-40 40,40 0 0 1 40,-40 40,40 0 0 1 40,40z"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use width="202.8" height="312" x="-101.4" y="-156" xlink:href="#J21"></use><use width="202.8" height="312" x="-101.4" y="-156" xlink:href="#J22"></use></svg>
|
After Width: | Height: | Size: 2.2 KiB |
2
cards/2S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="2S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS2" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS2" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-225 -225C-245 -265 -200 -460 0 -460C 200 -460 225 -325 225 -225C225 -25 -225 160 -225 460L225 460L225 300" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS2" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS2" height="40" width="40" x="-20" y="-107.668"></use><use xlink:href="#SS2" height="40" width="40" x="-20" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VS2" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS2" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
2
cards/3C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="3C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC3" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC3" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 -320L-250 -460L200 -460L-110 -80C-100 -90 -50 -120 0 -120C200 -120 250 0 250 150C250 350 170 460 -30 460C-230 460 -260 300 -260 300" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC3" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC3" height="40" width="40" x="-20" y="-107.718"></use><use xlink:href="#SC3" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SC3" height="40" width="40" x="-20" y="67.718"></use><g transform="rotate(180)"><use xlink:href="#VC3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC3" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
2
cards/3D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="3D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD3" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD3" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 -320L-250 -460L200 -460L-110 -80C-100 -90 -50 -120 0 -120C200 -120 250 0 250 150C250 350 170 460 -30 460C-230 460 -260 300 -260 300" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD3" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD3" height="40" width="40" x="-20" y="-107.668"></use><use xlink:href="#SD3" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SD3" height="40" width="40" x="-20" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VD3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD3" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
2
cards/3H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="3H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH3" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH3" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 -320L-250 -460L200 -460L-110 -80C-100 -90 -50 -120 0 -120C200 -120 250 0 250 150C250 350 170 460 -30 460C-230 460 -260 300 -260 300" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH3" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH3" height="40" width="40" x="-20" y="-107.668"></use><use xlink:href="#SH3" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SH3" height="40" width="40" x="-20" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VH3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH3" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
2
cards/3S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="3S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS3" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS3" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 -320L-250 -460L200 -460L-110 -80C-100 -90 -50 -120 0 -120C200 -120 250 0 250 150C250 350 170 460 -30 460C-230 460 -260 300 -260 300" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS3" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS3" height="40" width="40" x="-20" y="-107.668"></use><use xlink:href="#SS3" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SS3" height="40" width="40" x="-20" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VS3" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS3" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
2
cards/4C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="4C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC4" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC4" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M50 460L250 460M150 460L150 -460L-300 175L-300 200L270 200" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC4" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC4" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SC4" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SC4" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SC4" height="40" width="40" x="19.668" y="67.718"></use><g transform="rotate(180)"><use xlink:href="#VC4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC4" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
2
cards/4D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="4D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD4" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD4" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M50 460L250 460M150 460L150 -460L-300 175L-300 200L270 200" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD4" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD4" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SD4" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SD4" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SD4" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VD4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD4" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
2
cards/4H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="4H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH4" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH4" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M50 460L250 460M150 460L150 -460L-300 175L-300 200L270 200" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH4" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH4" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SH4" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SH4" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SH4" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VH4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH4" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
2
cards/4S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="4S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS4" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS4" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M50 460L250 460M150 460L150 -460L-300 175L-300 200L270 200" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS4" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS4" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SS4" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SS4" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SS4" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VS4" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS4" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
2
cards/5C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="5C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC5" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC5" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M170 -460L-175 -460L-210 -115C-210 -115 -200 -200 0 -200C100 -200 255 -80 255 120C255 320 180 460 -20 460C-220 460 -255 285 -255 285" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC5" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC5" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SC5" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SC5" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SC5" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SC5" height="40" width="40" x="19.668" y="67.718"></use><g transform="rotate(180)"><use xlink:href="#VC5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC5" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/5D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="5D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD5" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD5" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M170 -460L-175 -460L-210 -115C-210 -115 -200 -200 0 -200C100 -200 255 -80 255 120C255 320 180 460 -20 460C-220 460 -255 285 -255 285" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD5" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD5" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SD5" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SD5" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SD5" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SD5" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VD5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD5" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
2
cards/5H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="5H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH5" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH5" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M170 -460L-175 -460L-210 -115C-210 -115 -200 -200 0 -200C100 -200 255 -80 255 120C255 320 180 460 -20 460C-220 460 -255 285 -255 285" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH5" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH5" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SH5" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SH5" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SH5" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SH5" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VH5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH5" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
2
cards/5S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="5S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS5" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS5" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M170 -460L-175 -460L-210 -115C-210 -115 -200 -200 0 -200C100 -200 255 -80 255 120C255 320 180 460 -20 460C-220 460 -255 285 -255 285" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS5" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS5" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SS5" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SS5" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SS5" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SS5" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VS5" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS5" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/6C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="6C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC6" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC6" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 100A250 250 0 0 1 250 100L250 210A250 250 0 0 1 -250 210L-250 -210A250 250 0 0 1 0 -460C150 -460 180 -400 200 -375" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC6" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC6" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SC6" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SC6" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SC6" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SC6" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SC6" height="40" width="40" x="19.668" y="67.718"></use><g transform="rotate(180)"><use xlink:href="#VC6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC6" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
2
cards/6D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="6D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD6" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD6" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 100A250 250 0 0 1 250 100L250 210A250 250 0 0 1 -250 210L-250 -210A250 250 0 0 1 0 -460C150 -460 180 -400 200 -375" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD6" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD6" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SD6" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SD6" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SD6" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SD6" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SD6" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VD6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD6" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
2
cards/6H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="6H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH6" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH6" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 100A250 250 0 0 1 250 100L250 210A250 250 0 0 1 -250 210L-250 -210A250 250 0 0 1 0 -460C150 -460 180 -400 200 -375" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH6" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH6" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SH6" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SH6" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SH6" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SH6" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SH6" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VH6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH6" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/6S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="6S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS6" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS6" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-250 100A250 250 0 0 1 250 100L250 210A250 250 0 0 1 -250 210L-250 -210A250 250 0 0 1 0 -460C150 -460 180 -400 200 -375" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS6" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS6" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SS6" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SS6" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SS6" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SS6" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SS6" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VS6" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS6" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/7C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="7C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC7" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC7" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-265 -320L-265 -460L265 -460C135 -200 -90 100 -90 460" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC7" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC7" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SC7" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SC7" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SC7" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SC7" height="40" width="40" x="-20" y="-63.859"></use><use xlink:href="#SC7" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SC7" height="40" width="40" x="19.668" y="67.718"></use><g transform="rotate(180)"><use xlink:href="#VC7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC7" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
2
cards/7D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="7D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD7" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD7" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-265 -320L-265 -460L265 -460C135 -200 -90 100 -90 460" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD7" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD7" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SD7" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SD7" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SD7" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SD7" height="40" width="40" x="-20" y="-63.834"></use><use xlink:href="#SD7" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SD7" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VD7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD7" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
2
cards/7H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="7H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH7" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH7" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-265 -320L-265 -460L265 -460C135 -200 -90 100 -90 460" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH7" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH7" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SH7" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SH7" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SH7" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SH7" height="40" width="40" x="-20" y="-63.834"></use><use xlink:href="#SH7" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SH7" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VH7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH7" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/7S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="7S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS7" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS7" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-265 -320L-265 -460L265 -460C135 -200 -90 100 -90 460" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS7" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS7" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SS7" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SS7" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SS7" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SS7" height="40" width="40" x="-20" y="-63.834"></use><use xlink:href="#SS7" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SS7" height="40" width="40" x="19.668" y="67.668"></use><g transform="rotate(180)"><use xlink:href="#VS7" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS7" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/8C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="8C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC8" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC8" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-1 -50A205 205 0 1 1 1 -50L-1 -50A255 255 0 1 0 1 -50Z" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC8" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC8" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SC8" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SC8" height="40" width="40" x="-20" y="-63.859"></use><use xlink:href="#SC8" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SC8" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SC8" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SC8" height="40" width="40" x="19.668" y="67.718"></use><use xlink:href="#SC8" height="40" width="40" x="-20" y="23.859"></use><g transform="rotate(180)"><use xlink:href="#VC8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC8" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
2
cards/8D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="8D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD8" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD8" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-1 -50A205 205 0 1 1 1 -50L-1 -50A255 255 0 1 0 1 -50Z" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD8" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD8" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SD8" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SD8" height="40" width="40" x="-20" y="-63.834"></use><use xlink:href="#SD8" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SD8" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SD8" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SD8" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SD8" height="40" width="40" x="-20" y="23.834"></use><g transform="rotate(180)"><use xlink:href="#VD8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD8" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.7 KiB |
2
cards/8H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="8H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH8" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH8" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-1 -50A205 205 0 1 1 1 -50L-1 -50A255 255 0 1 0 1 -50Z" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH8" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH8" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SH8" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SH8" height="40" width="40" x="-20" y="-63.834"></use><use xlink:href="#SH8" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SH8" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SH8" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SH8" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SH8" height="40" width="40" x="-20" y="23.834"></use><g transform="rotate(180)"><use xlink:href="#VH8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH8" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
2
cards/8S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="8S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS8" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS8" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-1 -50A205 205 0 1 1 1 -50L-1 -50A255 255 0 1 0 1 -50Z" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS8" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS8" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SS8" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SS8" height="40" width="40" x="-20" y="-63.834"></use><use xlink:href="#SS8" height="40" width="40" x="-59.668" y="-20"></use><use xlink:href="#SS8" height="40" width="40" x="19.668" y="-20"></use><use xlink:href="#SS8" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SS8" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SS8" height="40" width="40" x="-20" y="23.834"></use><g transform="rotate(180)"><use xlink:href="#VS8" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS8" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
2
cards/9C.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="9C" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SC9" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VC9" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M250 -100A250 250 0 0 1 -250 -100L-250 -210A250 250 0 0 1 250 -210L250 210A250 250 0 0 1 0 460C-150 460 -180 400 -200 375" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VC9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC9" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SC9" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SC9" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SC9" height="40" width="40" x="-59.668" y="-49.239"></use><use xlink:href="#SC9" height="40" width="40" x="19.668" y="-49.239"></use><use xlink:href="#SC9" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SC9" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SC9" height="40" width="40" x="19.668" y="67.718"></use><use xlink:href="#SC9" height="40" width="40" x="-59.668" y="9.239"></use><use xlink:href="#SC9" height="40" width="40" x="19.668" y="9.239"></use><g transform="rotate(180)"><use xlink:href="#VC9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SC9" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 2 KiB |
2
cards/9D.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="9D" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SD9" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VD9" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M250 -100A250 250 0 0 1 -250 -100L-250 -210A250 250 0 0 1 250 -210L250 210A250 250 0 0 1 0 460C-150 460 -180 400 -200 375" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VD9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD9" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SD9" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SD9" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SD9" height="40" width="40" x="-59.668" y="-49.222"></use><use xlink:href="#SD9" height="40" width="40" x="19.668" y="-49.222"></use><use xlink:href="#SD9" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SD9" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SD9" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SD9" height="40" width="40" x="-59.668" y="9.222"></use><use xlink:href="#SD9" height="40" width="40" x="19.668" y="9.222"></use><g transform="rotate(180)"><use xlink:href="#VD9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SD9" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.9 KiB |
2
cards/9H.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="9H" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SH9" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VH9" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M250 -100A250 250 0 0 1 -250 -100L-250 -210A250 250 0 0 1 250 -210L250 210A250 250 0 0 1 0 460C-150 460 -180 400 -200 375" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VH9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH9" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SH9" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SH9" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SH9" height="40" width="40" x="-59.668" y="-49.222"></use><use xlink:href="#SH9" height="40" width="40" x="19.668" y="-49.222"></use><use xlink:href="#SH9" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SH9" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SH9" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SH9" height="40" width="40" x="-59.668" y="9.222"></use><use xlink:href="#SH9" height="40" width="40" x="19.668" y="9.222"></use><g transform="rotate(180)"><use xlink:href="#VH9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SH9" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.9 KiB |
2
cards/9S.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="9S" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SS9" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VS9" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M250 -100A250 250 0 0 1 -250 -100L-250 -210A250 250 0 0 1 250 -210L250 210A250 250 0 0 1 0 460C-150 460 -180 400 -200 375" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VS9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS9" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SS9" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SS9" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SS9" height="40" width="40" x="-59.668" y="-49.222"></use><use xlink:href="#SS9" height="40" width="40" x="19.668" y="-49.222"></use><use xlink:href="#SS9" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#SS9" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SS9" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SS9" height="40" width="40" x="-59.668" y="9.222"></use><use xlink:href="#SS9" height="40" width="40" x="19.668" y="9.222"></use><g transform="rotate(180)"><use xlink:href="#VS9" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SS9" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 2 KiB |
2
cards/AC.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="AC" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="VCA" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-270 460L-110 460M-200 450L0 -460L200 450M110 460L270 460M-120 130L120 130" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol><symbol id="SCA" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#SCA" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#VCA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SCA" height="58.558" width="58.558" x="-116.279" y="-81"></use><g transform="rotate(180)"><use xlink:href="#VCA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SCA" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
2
cards/AD.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="AD" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="VDA" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-270 460L-110 460M-200 450L0 -460L200 450M110 460L270 460M-120 130L120 130" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol><symbol id="SDA" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#SDA" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#VDA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SDA" height="58.558" width="58.558" x="-116.279" y="-81"></use><g transform="rotate(180)"><use xlink:href="#VDA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SDA" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.2 KiB |
2
cards/AH.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="AH" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="VHA" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-270 460L-110 460M-200 450L0 -460L200 450M110 460L270 460M-120 130L120 130" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol><symbol id="SHA" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#SHA" height="40" width="40" x="-20" y="-20"></use><use xlink:href="#VHA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SHA" height="58.558" width="58.558" x="-116.279" y="-81"></use><g transform="rotate(180)"><use xlink:href="#VHA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SHA" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
2
cards/AS.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="AS" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="VSA" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-270 460L-110 460M-200 450L0 -460L200 450M110 460L270 460M-120 130L120 130" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol><symbol id="SSA" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#SSA" height="104" width="104" x="-52" y="-52"></use><use xlink:href="#VSA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SSA" height="58.558" width="58.558" x="-116.279" y="-81"></use><g transform="rotate(180)"><use xlink:href="#VSA" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SSA" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
2
cards/JC.svg
Normal file
After Width: | Height: | Size: 36 KiB |
2
cards/JD.svg
Normal file
After Width: | Height: | Size: 32 KiB |
2
cards/JH.svg
Normal file
After Width: | Height: | Size: 38 KiB |
2
cards/JS.svg
Normal file
After Width: | Height: | Size: 42 KiB |
2
cards/KC.svg
Normal file
After Width: | Height: | Size: 37 KiB |
2
cards/KD.svg
Normal file
After Width: | Height: | Size: 33 KiB |
2
cards/KH.svg
Normal file
After Width: | Height: | Size: 50 KiB |
2
cards/KS.svg
Normal file
After Width: | Height: | Size: 62 KiB |
2
cards/QC.svg
Normal file
After Width: | Height: | Size: 41 KiB |
2
cards/QD.svg
Normal file
After Width: | Height: | Size: 42 KiB |
2
cards/QH.svg
Normal file
After Width: | Height: | Size: 47 KiB |
2
cards/QS.svg
Normal file
After Width: | Height: | Size: 38 KiB |
2
cards/TC.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="TC" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SCT" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M30 150C35 385 85 400 130 500L-130 500C-85 400 -35 385 -30 150A10 10 0 0 0 -50 150A210 210 0 1 1 -124 -51A10 10 0 0 0 -110 -65A230 230 0 1 1 110 -65A10 10 0 0 0 124 -51A210 210 0 1 1 50 150A10 10 0 0 0 30 150Z" fill="black"></path></symbol><symbol id="VCT" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-260 430L-260 -430M-50 0L-50 -310A150 150 0 0 1 250 -310L250 310A150 150 0 0 1 -50 310Z" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VCT" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SCT" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SCT" height="40" width="40" x="-59.668" y="-107.718"></use><use xlink:href="#SCT" height="40" width="40" x="19.668" y="-107.718"></use><use xlink:href="#SCT" height="40" width="40" x="-59.668" y="-49.239"></use><use xlink:href="#SCT" height="40" width="40" x="19.668" y="-49.239"></use><use xlink:href="#SCT" height="40" width="40" x="-20" y="-78.478"></use><use xlink:href="#SCT" height="40" width="40" x="-59.668" y="67.718"></use><use xlink:href="#SCT" height="40" width="40" x="19.668" y="67.718"></use><use xlink:href="#SCT" height="40" width="40" x="-59.668" y="9.239"></use><use xlink:href="#SCT" height="40" width="40" x="19.668" y="9.239"></use><use xlink:href="#SCT" height="40" width="40" x="-20" y="38.478"></use><g transform="rotate(180)"><use xlink:href="#VCT" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SCT" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 2 KiB |
2
cards/TD.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="TD" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SDT" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M-400 0C-350 0 0 -450 0 -500C0 -450 350 0 400 0C350 0 0 450 0 500C0 450 -350 0 -400 0Z" fill="#d40000"></path></symbol><symbol id="VDT" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-260 430L-260 -430M-50 0L-50 -310A150 150 0 0 1 250 -310L250 310A150 150 0 0 1 -50 310Z" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VDT" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SDT" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SDT" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SDT" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SDT" height="40" width="40" x="-59.668" y="-49.222"></use><use xlink:href="#SDT" height="40" width="40" x="19.668" y="-49.222"></use><use xlink:href="#SDT" height="40" width="40" x="-20" y="-78.445"></use><use xlink:href="#SDT" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SDT" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SDT" height="40" width="40" x="-59.668" y="9.222"></use><use xlink:href="#SDT" height="40" width="40" x="19.668" y="9.222"></use><use xlink:href="#SDT" height="40" width="40" x="-20" y="38.445"></use><g transform="rotate(180)"><use xlink:href="#VDT" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SDT" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 1.9 KiB |
2
cards/TH.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="TH" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SHT" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -300C0 -400 100 -500 200 -500C300 -500 400 -400 400 -250C400 0 0 400 0 500C0 400 -400 0 -400 -250C-400 -400 -300 -500 -200 -500C-100 -500 0 -400 -0 -300Z" fill="#d40000"></path></symbol><symbol id="VHT" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-260 430L-260 -430M-50 0L-50 -310A150 150 0 0 1 250 -310L250 310A150 150 0 0 1 -50 310Z" stroke="#d40000" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VHT" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SHT" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SHT" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SHT" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SHT" height="40" width="40" x="-59.668" y="-49.222"></use><use xlink:href="#SHT" height="40" width="40" x="19.668" y="-49.222"></use><use xlink:href="#SHT" height="40" width="40" x="-20" y="-78.445"></use><use xlink:href="#SHT" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SHT" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SHT" height="40" width="40" x="-59.668" y="9.222"></use><use xlink:href="#SHT" height="40" width="40" x="19.668" y="9.222"></use><use xlink:href="#SHT" height="40" width="40" x="-20" y="38.445"></use><g transform="rotate(180)"><use xlink:href="#VHT" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SHT" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 2 KiB |
2
cards/TS.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="card" face="TS" height="3.5in" preserveAspectRatio="none" viewBox="-120 -168 240 336" width="2.5in"><defs><symbol id="SST" viewBox="-600 -600 1200 1200" preserveAspectRatio="xMinYMid"><path d="M0 -500C100 -250 355 -100 355 185A150 150 0 0 1 55 185A10 10 0 0 0 35 185C35 385 85 400 130 500L-130 500C-85 400 -35 385 -35 185A10 10 0 0 0 -55 185A150 150 0 0 1 -355 185C-355 -100 -100 -250 0 -500Z" fill="black"></path></symbol><symbol id="VST" viewBox="-500 -500 1000 1000" preserveAspectRatio="xMinYMid"><path d="M-260 430L-260 -430M-50 0L-50 -310A150 150 0 0 1 250 -310L250 310A150 150 0 0 1 -50 310Z" stroke="black" stroke-width="80" stroke-linecap="square" stroke-miterlimit="1.5" fill="none"></path></symbol></defs><rect width="239" height="335" x="-119.5" y="-167.5" rx="12" ry="12" fill="#fffefc" stroke="black"></rect><use xlink:href="#VST" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SST" height="58.558" width="58.558" x="-116.279" y="-81"></use><use xlink:href="#SST" height="40" width="40" x="-59.668" y="-107.668"></use><use xlink:href="#SST" height="40" width="40" x="19.668" y="-107.668"></use><use xlink:href="#SST" height="40" width="40" x="-59.668" y="-49.222"></use><use xlink:href="#SST" height="40" width="40" x="19.668" y="-49.222"></use><use xlink:href="#SST" height="40" width="40" x="-20" y="-78.445"></use><use xlink:href="#SST" height="40" width="40" x="-59.668" y="67.668"></use><use xlink:href="#SST" height="40" width="40" x="19.668" y="67.668"></use><use xlink:href="#SST" height="40" width="40" x="-59.668" y="9.222"></use><use xlink:href="#SST" height="40" width="40" x="19.668" y="9.222"></use><use xlink:href="#SST" height="40" width="40" x="-20" y="38.445"></use><g transform="rotate(180)"><use xlink:href="#VST" height="70" width="70" x="-122" y="-156"></use><use xlink:href="#SST" height="58.558" width="58.558" x="-116.279" y="-81"></use></g></svg>
|
After Width: | Height: | Size: 2 KiB |
111
index.html
|
@ -7,30 +7,49 @@
|
||||||
|
|
||||||
<title>Tripeaks Solver</title>
|
<title>Tripeaks Solver</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="pb-5">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col pt-3 pt-lg-5">
|
<div class="col pt-3 pt-lg-5">
|
||||||
|
|
||||||
<h1>Tripeaks Solver</h1>
|
<h1>Tripeaks Solver</h1>
|
||||||
|
|
||||||
<p>Enter cards representing a Tripeaks game below. Enter each card as 2 characters each, representing the rank (A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K) and suit (C, D, H, S). For example, "TH" is the Ten of Hearts.</p>
|
<p>
|
||||||
|
Enter cards representing a Tripeaks game below. Enter each card as 2
|
||||||
|
characters representing the rank (A, 2, 3, 4, 5, 6, 7, 8, 9, T, J,
|
||||||
|
Q, K) and suit (C, D, H, S). For example, "TH" is the Ten of Hearts.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Use a 0 (zero) to represent unknown cards. However, all cards from the last row and the stock must be known (i.e., you must enter valid cards for the last 34 cards)</p>
|
<p>
|
||||||
|
Use a single zero ("0") for unknown cards. However, the last 34
|
||||||
|
cards (bottom row & stock) must be known, and you don't need to
|
||||||
|
enter unknown cards before the first card you know.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>Entry is case-insensitive, and you may use either any delimeter (space, comma, colon, etc.) or no delimeter. Valid examples:</p>
|
<p>
|
||||||
|
Entry is case-insensitive, and you can separate cards with any
|
||||||
|
character (space, comma, etc), or use no separator. Valid examples:
|
||||||
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>0 TS 0 7S 5D 7C 2D 0 0 3S 2H 3H 9H KC QC TD 8D 9C 7H 9D JS QS 4H 5C 5S 4C 2C QD 8C KD 3D KS JD 2S 7D KH AH 5H 9S 4S QH 6S 6D 3C JC TC 8H 6C TH AS AD 6H</li>
|
<li>
|
||||||
<li>jc,ts,6d,7h,qh,3s,5h,jh,6h,2d,ac,7s,7c,3d,kd,9s,3c,th,6c,ah,8h,tc,4s,8c,ad,3h,ks,6s,js,7d,jd,td,2c,kh</li>
|
7S 5D 7C 2D 0 0 3S 2H 3H 9H KC QC TD 8D 9C 7H 9D JS QS 4H 5C 5S 4C
|
||||||
<li>7c03s0qsjc00JSasTSadtcqd9s4s2h9h8sjh6c3dks5s5c6h9C2Cac8C6d5DTH8dkckd9d4c5h8hqh6s</li>
|
2C QD 8C KD 3D KS JD 2S 7D KH AH 5H 9S 4S QH 6S 6D 3C JC TC 8H 6C
|
||||||
|
TH AS AD 6H
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
jc, ts, 6d, 7h, qh, 3s, 5h, jh, 6h, 2d, ac, 7s, 7c, 3d, kd, 9s,
|
||||||
|
3c, th, 6c, ah, 8h, tc, 4s, 8c, ad, 3h, ks, 6s, js, 7d, jd, td,
|
||||||
|
2c, kh
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
7c03s0qsjc00JSasTSadtcqd9s4s2h9h8sjh6c3dks5s5c6h9C2Cac8C6d5DTH8dkckd9d4c5h8hqh6s
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<!-- User input of game cards -->
|
<!-- User input of game cards -->
|
||||||
<form
|
<form
|
||||||
id="cardsInputForm"
|
id="cardsInputForm"
|
||||||
x-data="cardsInputForm"
|
x-data="cardsInputForm"
|
||||||
x-init="onInit()"
|
|
||||||
@submit.prevent="submit"
|
@submit.prevent="submit"
|
||||||
class="needs-validation"
|
class="needs-validation"
|
||||||
:class="{'was-validated': isFormValid && inputValue.length > 2 }"
|
:class="{'was-validated': isFormValid && inputValue.length > 2 }"
|
||||||
|
@ -66,42 +85,60 @@
|
||||||
></div>
|
></div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<!-- Friendly display of game cards -->
|
<!-- Friendly display of game cards -->
|
||||||
|
<div id="playingCardsPreview" x-data="playingCardsPreview">
|
||||||
<div
|
<div
|
||||||
id="playingCardsPreview"
|
id="gamePyramid"
|
||||||
x-data="playingCardsPreview">
|
class="game-pyramid-container p-2 p-md-3 p-lg-4"
|
||||||
|
|
||||||
<div class="mb-3">
|
|
||||||
<label
|
|
||||||
id="cardsToSolveLabel"
|
|
||||||
for="cardsToSolve"
|
|
||||||
class="form-label"
|
|
||||||
>Cards Identified For Solving</label
|
|
||||||
>
|
>
|
||||||
<textarea
|
<!-- first/top row (index 0, row 1) -->
|
||||||
id="cardsToSolve"
|
<span class="visually-hidden">Game Row 1, Top of Peaks</span>
|
||||||
aria-describedby="cardsToSolveLabel"
|
<template x-for="(card, index) in cardsBySlice(0, 3)">
|
||||||
class="form-control"
|
<div
|
||||||
x-text="$store.global.cardsToSolve.join(' ')"
|
x-html="cardSvg(card)"
|
||||||
rows="4"
|
:class="`game-pyramid-card game-pyramid-card-0-${index}`"
|
||||||
disabled
|
></div>
|
||||||
readonly
|
|
||||||
></textarea>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="playingCardsStock" class="playingCards">
|
|
||||||
<ul class="hand">
|
|
||||||
<template x-for="(card, index) in $store.global.cardsToSolve.slice(52-24)">
|
|
||||||
<li x-html="cardHtml(card, index)"></li>
|
|
||||||
</template>
|
</template>
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
<!-- second row (index 1, row 2) -->
|
||||||
|
<span class="visually-hidden">Game Row 2, Second Row</span>
|
||||||
|
<template x-for="(card, index) in cardsBySlice(3, 9)">
|
||||||
|
<div
|
||||||
|
x-html="cardSvg(card)"
|
||||||
|
:class="`game-pyramid-card game-pyramid-card-1-${index}`"
|
||||||
|
></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- third row (index 2, row 3) -->
|
||||||
|
<span class="visually-hidden">Game Row 3, Third Row</span>
|
||||||
|
<template x-for="(card, index) in cardsBySlice(9, 18)">
|
||||||
|
<div
|
||||||
|
x-html="cardSvg(card)"
|
||||||
|
:class="`game-pyramid-card game-pyramid-card-2-${index}`"
|
||||||
|
></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- last/bottom row (index 3, row 4) -->
|
||||||
|
<span class="visually-hidden">Game Row 4, Base of Peaks</span>
|
||||||
|
<template x-for="(card, index) in cardsBySlice(18, 28)">
|
||||||
|
<div
|
||||||
|
x-html="cardSvg(card)"
|
||||||
|
:class="`game-pyramid-card game-pyramid-card-3-${index}`"
|
||||||
|
></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- stock cards -->
|
||||||
|
<span class="visually-hidden">Game Stock, the Draw Cards</span>
|
||||||
|
<template x-for="(card, index) in cardsBySlice(28, 52)">
|
||||||
|
<div
|
||||||
|
x-html="card === 0 || card === '0' ? cardSvgs['2B'] : cardSvgs[card]"
|
||||||
|
:class="`game-pyramid-card game-pyramid-card-4-${index}`"
|
||||||
|
></div>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
151
main.js
|
@ -1,75 +1,83 @@
|
||||||
import "./style.scss";
|
import "./style.scss";
|
||||||
import "./style-cards.css";
|
|
||||||
import Alpine from "alpinejs";
|
import Alpine from "alpinejs";
|
||||||
// import 'bootstrap/dist/js/bootstrap'
|
import cardSvgs from "./cardSvgs";
|
||||||
|
|
||||||
Alpine.store('global', {
|
// Some helpful constants
|
||||||
cardsToSolve: Array(52).fill(0)
|
const suits = {
|
||||||
})
|
C: "Clubs",
|
||||||
|
D: "Diamonds",
|
||||||
|
H: "Hearts",
|
||||||
|
S: "Spades",
|
||||||
|
};
|
||||||
|
const ranks = {
|
||||||
|
A: "Ace",
|
||||||
|
2: "Two",
|
||||||
|
3: "Three",
|
||||||
|
4: "Four",
|
||||||
|
5: "Five",
|
||||||
|
6: "Six",
|
||||||
|
7: "Seven",
|
||||||
|
8: "Eight",
|
||||||
|
9: "Nine",
|
||||||
|
T: "Ten",
|
||||||
|
J: "Jack",
|
||||||
|
Q: "Queen",
|
||||||
|
K: "King",
|
||||||
|
};
|
||||||
|
const deck = Object.keys(suits).flatMap((suit) => {
|
||||||
|
return Object.keys(ranks).map((cval) => {
|
||||||
|
return cval + suit;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Do some SVG processing
|
||||||
|
const cardSvgTitle = (ckey) => {
|
||||||
|
return deck.includes(ckey)
|
||||||
|
? `${ranks[ckey[0]]} of ${suits[ckey[1]]}`
|
||||||
|
: "Unknown Card";
|
||||||
|
};
|
||||||
|
Object.keys(cardSvgs).forEach((ckey) => {
|
||||||
|
var cardDoc = new DOMParser().parseFromString(
|
||||||
|
cardSvgs[ckey],
|
||||||
|
"image/svg+xml"
|
||||||
|
);
|
||||||
|
var svgRoot = cardDoc.documentElement;
|
||||||
|
svgRoot.removeAttribute("height");
|
||||||
|
svgRoot.removeAttribute("width");
|
||||||
|
svgRoot.removeAttribute("class");
|
||||||
|
var titleEl = cardDoc.createElementNS(
|
||||||
|
svgRoot.lookupNamespaceURI(null),
|
||||||
|
"title"
|
||||||
|
);
|
||||||
|
var titleText = document.createTextNode(cardSvgTitle(ckey));
|
||||||
|
titleEl.appendChild(titleText);
|
||||||
|
svgRoot.insertBefore(titleEl, svgRoot.firstElementChild);
|
||||||
|
cardSvgs[ckey] = new XMLSerializer().serializeToString(
|
||||||
|
cardDoc.documentElement
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Keep some constants in global store for components
|
||||||
|
Alpine.store("global", {
|
||||||
|
deck,
|
||||||
|
cardsToSolve: Array(deck.length).fill(0),
|
||||||
|
});
|
||||||
|
|
||||||
|
// card preview component data
|
||||||
Alpine.data("playingCardsPreview", () => ({
|
Alpine.data("playingCardsPreview", () => ({
|
||||||
rankText: {
|
cardSvgs,
|
||||||
'A': 'Ace',
|
cardsBySlice(start, length) {
|
||||||
'2': 'Two',
|
return this.$store.global.cardsToSolve.slice(start, length);
|
||||||
'3': 'Three',
|
|
||||||
'4': 'Four',
|
|
||||||
'5': 'Five',
|
|
||||||
'6': 'Six',
|
|
||||||
'7': 'Seven',
|
|
||||||
'8': 'Eight',
|
|
||||||
'9': 'Nine',
|
|
||||||
'T': 'Ten',
|
|
||||||
'J': 'Jack',
|
|
||||||
'Q': 'Queen',
|
|
||||||
'K': 'King'
|
|
||||||
},
|
},
|
||||||
suitText: {
|
cardSvg(card) {
|
||||||
'C': 'Clubs',
|
return card === 0 ? this.cardSvgs["2B"] : this.cardSvgs[card];
|
||||||
'D': 'Diamonds',
|
|
||||||
'H': 'Hearts',
|
|
||||||
'S': 'Spades'
|
|
||||||
},
|
},
|
||||||
rankSlug(rank) {
|
|
||||||
return `rank-${rank === 'T' ? '10' : rank}`
|
|
||||||
},
|
|
||||||
suitSlug: {
|
|
||||||
'C': 'clubs',
|
|
||||||
'D': 'diams',
|
|
||||||
'H': 'hearts',
|
|
||||||
'S': 'spades'
|
|
||||||
},
|
|
||||||
cardHtml(card, index) {
|
|
||||||
if (card === '0' || card === 0) {
|
|
||||||
return `<abbr title="Unknown" class="card" style="z-index:${this.stockCard(index)};"></abbr>`
|
|
||||||
} else {
|
|
||||||
return `<abbr title="${this.rankText[card[0]]} of ${this.suitText[card[1]]}" class="card ${this.rankSlug(card[0])} ${this.suitSlug[card[1]]}" style="z-index:${this.stockCard(index)};"><abbr class="rank" aria-hidden="true">${card[0]}</abbr><abbr class="suit" aria-hidden="true">&${this.suitSlug[card[1]]};</abbr><abbr class="suit-b" aria-hidden="true">&${this.suitSlug[card[1]]};</abbr><abbr class="rank-b" aria-hidden="true">${card[0]}</abbr></abbr>`
|
|
||||||
}
|
|
||||||
},
|
|
||||||
stockCard(index) {
|
|
||||||
return 500 - (10 * index)
|
|
||||||
}
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// input component data
|
||||||
Alpine.data("cardsInputForm", () => ({
|
Alpine.data("cardsInputForm", () => ({
|
||||||
// "constants" for validation etc
|
// "constants" for validation etc
|
||||||
nonAlphaNumRegEx: /[\W_]+/g,
|
nonAlphaNumRegEx: /[\W_]+/g,
|
||||||
suits: [],
|
|
||||||
ranks: [],
|
|
||||||
deck: [],
|
|
||||||
minCards: 34,
|
|
||||||
stockCount: 24,
|
|
||||||
peaksCount: 28,
|
|
||||||
onInit() {
|
|
||||||
this.suits = "CDHS".split("");
|
|
||||||
this.ranks = "A23456789TJQK".split("");
|
|
||||||
this.deck = this.suits.flatMap((suit) => {
|
|
||||||
return this.ranks.map((cval) => {
|
|
||||||
return cval + suit;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
console.log(this.deck.join(", "));
|
|
||||||
console.log(`deck size: ${this.deck.length}`);
|
|
||||||
},
|
|
||||||
|
|
||||||
// input validation
|
// input validation
|
||||||
inputValue: "",
|
inputValue: "",
|
||||||
|
@ -78,15 +86,14 @@ Alpine.data("cardsInputForm", () => ({
|
||||||
invalidCards: [],
|
invalidCards: [],
|
||||||
validMessages: [],
|
validMessages: [],
|
||||||
invalidMessages: [],
|
invalidMessages: [],
|
||||||
cardsToSolve: [],
|
|
||||||
get isFormValid() {
|
get isFormValid() {
|
||||||
return this.isValidCardsLengthInRange && this.invalidMessages.length === 0;
|
return this.isValidCardsLengthInRange && this.invalidMessages.length === 0;
|
||||||
},
|
},
|
||||||
get isValidCardsLengthTooSmall() {
|
get isValidCardsLengthTooSmall() {
|
||||||
return this.validCards.length < this.minCards;
|
return this.validCards.length < 34;
|
||||||
},
|
},
|
||||||
get isValidCardsLengthTooBig() {
|
get isValidCardsLengthTooBig() {
|
||||||
return this.validCards.length > this.deck.length;
|
return this.validCards.length > this.$store.global.deck.length;
|
||||||
},
|
},
|
||||||
get isValidCardsLengthInRange() {
|
get isValidCardsLengthInRange() {
|
||||||
return !this.isValidCardsLengthTooSmall && !this.isValidCardsLengthTooBig;
|
return !this.isValidCardsLengthTooSmall && !this.isValidCardsLengthTooBig;
|
||||||
|
@ -103,14 +110,14 @@ Alpine.data("cardsInputForm", () => ({
|
||||||
let userCards = this.nonAlphaNumRegEx.test(this.inputValue)
|
let userCards = this.nonAlphaNumRegEx.test(this.inputValue)
|
||||||
? this.inputValue
|
? this.inputValue
|
||||||
.toUpperCase()
|
.toUpperCase()
|
||||||
.replace(this.nonAlphaNumRegEx,' ')
|
.replace(this.nonAlphaNumRegEx, " ")
|
||||||
.split(' ')
|
.split(" ")
|
||||||
.filter((c) => c)
|
.filter((c) => c)
|
||||||
: this.inputValue
|
: this.inputValue
|
||||||
.toUpperCase()
|
.toUpperCase()
|
||||||
.split(/0|(..)/g)
|
.split(/0|(..)/g)
|
||||||
.filter(c => c !== '')
|
.filter((c) => c !== "")
|
||||||
.map(c => !c ? '0' : c);
|
.map((c) => (!c ? "0" : c));
|
||||||
|
|
||||||
// check the input
|
// check the input
|
||||||
userCards.forEach((card) => {
|
userCards.forEach((card) => {
|
||||||
|
@ -120,7 +127,7 @@ Alpine.data("cardsInputForm", () => ({
|
||||||
} else if (this.validCards.includes(card)) {
|
} else if (this.validCards.includes(card)) {
|
||||||
// this card was already seen in user's input, now it's a duplicate
|
// this card was already seen in user's input, now it's a duplicate
|
||||||
this.dupedCards.push(card);
|
this.dupedCards.push(card);
|
||||||
} else if (this.deck.includes(card)) {
|
} else if (this.$store.global.deck.includes(card)) {
|
||||||
// not a duplicate, and in the reference deck? Valid, add to valid cards
|
// not a duplicate, and in the reference deck? Valid, add to valid cards
|
||||||
this.validCards.push(card);
|
this.validCards.push(card);
|
||||||
} else {
|
} else {
|
||||||
|
@ -131,10 +138,10 @@ Alpine.data("cardsInputForm", () => ({
|
||||||
|
|
||||||
// set validation messages based on length
|
// set validation messages based on length
|
||||||
if (this.isValidCardsLengthTooSmall) {
|
if (this.isValidCardsLengthTooSmall) {
|
||||||
this.invalidMessages.push(`Must enter at least ${this.minCards} cards`);
|
this.invalidMessages.push(`Must enter at least 34 cards`);
|
||||||
} else if (this.isValidCardsLengthTooBig) {
|
} else if (this.isValidCardsLengthTooBig) {
|
||||||
this.invalidMessages.push(
|
this.invalidMessages.push(
|
||||||
`Must not enter more than ${this.deck.length} cards`
|
`Must not enter more than ${this.$store.global.deck.length} cards`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (this.validCards.slice(this.validCards.length - 34).includes("0")) {
|
if (this.validCards.slice(this.validCards.length - 34).includes("0")) {
|
||||||
|
@ -168,7 +175,9 @@ Alpine.data("cardsInputForm", () => ({
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the game cards to try solving, based on current input
|
// set the game cards to try solving, based on current input
|
||||||
this.$store.global.cardsToSolve = Array(this.deck.length - this.validCards.length)
|
this.$store.global.cardsToSolve = Array(
|
||||||
|
this.$store.global.deck.length - this.validCards.length
|
||||||
|
)
|
||||||
.fill(0)
|
.fill(0)
|
||||||
.concat(this.validCards)
|
.concat(this.validCards)
|
||||||
.map((c) => (c === "0" ? 0 : c));
|
.map((c) => (c === "0" ? 0 : c));
|
||||||
|
|
630
style-cards.css
|
@ -1,630 +0,0 @@
|
||||||
/**
|
|
||||||
* Styles for CSS Playing Cards
|
|
||||||
*
|
|
||||||
* @author Anika Henke <anika@selfthinker.org>
|
|
||||||
* @license CC BY-SA [http://creativecommons.org/licenses/by-sa/3.0]
|
|
||||||
* @version 2011-06-14
|
|
||||||
* @link http://selfthinker.github.com/CSS-Playing-Cards/
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* card itself
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
.playingCards .card {
|
|
||||||
display: inline-block;
|
|
||||||
width: 3.3em;
|
|
||||||
height: 4.6em;
|
|
||||||
border: 1px solid #666;
|
|
||||||
border-radius: .3em;
|
|
||||||
-moz-border-radius: .3em;
|
|
||||||
-webkit-border-radius: .3em;
|
|
||||||
-khtml-border-radius: .3em;
|
|
||||||
padding: .25em;
|
|
||||||
margin: 0 .5em .5em 0;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 1.2em; /* @change: adjust this value to make bigger or smaller cards */
|
|
||||||
font-weight: normal;
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
position: relative;
|
|
||||||
background-color: #fff;
|
|
||||||
-moz-box-shadow: .2em .2em .5em #333;
|
|
||||||
-webkit-box-shadow: .2em .2em .5em #333;
|
|
||||||
box-shadow: .2em .2em .5em #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.playingCards a.card {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
/* selected and hover state */
|
|
||||||
.playingCards a.card:hover, .playingCards a.card:active, .playingCards a.card:focus,
|
|
||||||
.playingCards label.card:hover,
|
|
||||||
.playingCards strong .card {
|
|
||||||
bottom: 1em;
|
|
||||||
}
|
|
||||||
.playingCards label.card {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.playingCards .card.back {
|
|
||||||
text-indent: -4000px;
|
|
||||||
background-color: #ccc;
|
|
||||||
background-repeat: repeat;
|
|
||||||
background-image: url(data:image/gif;base64,R0lGODlhJAAkAJEAAOjFsezdztOKbL5QKCH5BAAAAAAALAAAAAAkACQAAAL/HC4RAqm/mmLHyHmAbczB11Ea8ombJKSgKo6Z17pXFznmS1JptiX0z3vVhpEKDoUIkoa0olGIUeZUk1RI6Yn2mh/FDAt6frOrRRTqXPpsVLYugzxaVy+YcBdnoWPZOT0E4eckQtZFZBjWoHixQFWl6Nhol6R2p1Okt5TGaEWZA6fjiMdhZgPHeWrTWGVq+jTZg1HYyAEWKLYzmyiGKoUimilz+YYryyTlg5RcDJSAbNx0Q7lMcbIGEyzTK8zVdfVaImzs/QV+prYqWWW2ObkoOApM/Em/rUlIm7fijs8a2EEKEaZ3AsMUgneEU6RcpJbZ27aGHkAO2Ors8xQH1IR0Bn5YnOtVAAA7); /* image is "Pattern 069" from http://www.squidfingers.com/patterns/ */
|
|
||||||
background-image: -moz-repeating-linear-gradient(34% 6% 135deg,#0F1E59, #75A1BF, #3E3E63 50%);
|
|
||||||
background-image: -webkit-gradient(radial, center center, 20, center center, 80, from(#3c3), color-stop(0.4, #363), to(#030));
|
|
||||||
/* yes, it's intentional that Mozilla, Webkit, Opera and IE all will get different backgrounds ... why not? :) */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* suit colours
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
.playingCards .card.diams {
|
|
||||||
color: #f00 !important;
|
|
||||||
}
|
|
||||||
.playingCards.fourColours .card.diams {
|
|
||||||
color: #00f !important;
|
|
||||||
}
|
|
||||||
[lang=de] .playingCards.fourColours .card.diams {
|
|
||||||
color: #f60 !important;
|
|
||||||
}
|
|
||||||
.playingCards .card.hearts {
|
|
||||||
color: #f00 !important;
|
|
||||||
}
|
|
||||||
.playingCards .card.spades {
|
|
||||||
color: #000 !important;
|
|
||||||
}
|
|
||||||
[lang=de] .playingCards.fourColours .card.spades {
|
|
||||||
color: #090 !important;
|
|
||||||
}
|
|
||||||
.playingCards .card.clubs {
|
|
||||||
color: #000 !important;
|
|
||||||
}
|
|
||||||
.playingCards.fourColours .card.clubs {
|
|
||||||
color: #090 !important;
|
|
||||||
}
|
|
||||||
[lang=de] .playingCards.fourColours .card.clubs {
|
|
||||||
color: #000 !important;
|
|
||||||
}
|
|
||||||
.playingCards .card.joker {
|
|
||||||
color: #000 !important;
|
|
||||||
}
|
|
||||||
.playingCards .card.joker.big {
|
|
||||||
color: #f00 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* inner bits
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
/* top left main info (rank and suit) */
|
|
||||||
|
|
||||||
.playingCards .card .rank,
|
|
||||||
.playingCards .card .suit {
|
|
||||||
display: block;
|
|
||||||
line-height: 1;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
.playingCards .card .rank {
|
|
||||||
}
|
|
||||||
.playingCards .card .suit {
|
|
||||||
line-height: .7;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* checkbox */
|
|
||||||
.playingCards .card input {
|
|
||||||
margin-top: -.05em;
|
|
||||||
font: inherit;
|
|
||||||
}
|
|
||||||
.playingCards.simpleCards .card input,
|
|
||||||
.playingCards .card.rank-j input,
|
|
||||||
.playingCards .card.rank-q input,
|
|
||||||
.playingCards .card.rank-k input,
|
|
||||||
.playingCards .card.rank-a input {
|
|
||||||
margin-top: 2.4em;
|
|
||||||
}
|
|
||||||
.playingCards.inText .card input {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* different rank letters for different languages */
|
|
||||||
.playingCards .card .rank:after,
|
|
||||||
.playingCards .card.joker .rank:before {
|
|
||||||
position: absolute;
|
|
||||||
top: .25em;
|
|
||||||
left: .25em;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
[lang=de] .playingCards .card.rank-j .rank:after {
|
|
||||||
content: "B";
|
|
||||||
}
|
|
||||||
[lang=fr] .playingCards .card.rank-j .rank:after {
|
|
||||||
content: "V";
|
|
||||||
}
|
|
||||||
[lang=de] .playingCards .card.rank-q .rank:after,
|
|
||||||
[lang=fr] .playingCards .card.rank-q .rank:after {
|
|
||||||
content: "D";
|
|
||||||
}
|
|
||||||
[lang=fr] .playingCards .card.rank-k .rank:after {
|
|
||||||
content: "R";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* joker (top left symbol) */
|
|
||||||
.playingCards .card.joker .rank {
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
.playingCards .card.joker .rank:before {
|
|
||||||
content: "\2605";
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
.playingCards .card.joker .suit {
|
|
||||||
text-indent: -9999px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* inner multiple suits */
|
|
||||||
.playingCards .card .suit:after {
|
|
||||||
display: block;
|
|
||||||
margin-top: -.8em;
|
|
||||||
text-align: center;
|
|
||||||
white-space: pre;
|
|
||||||
line-height: .9;
|
|
||||||
font-size: 1.3em;
|
|
||||||
word-spacing: -.05em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* make the hearts and clubs symbols fit, because they are a bit bigger than the others */
|
|
||||||
.playingCards .card.hearts .suit:after {
|
|
||||||
word-spacing: -.15em;
|
|
||||||
}
|
|
||||||
.playingCards .card.hearts.rank-10 .suit:after {
|
|
||||||
word-spacing: -.05em;
|
|
||||||
letter-spacing: -.1em;
|
|
||||||
}
|
|
||||||
.playingCards .card.clubs.rank-10 .suit:after {
|
|
||||||
word-spacing: -.15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 8, 9, 10 are the most crowded */
|
|
||||||
.playingCards .card.rank-8 .suit:after,
|
|
||||||
.playingCards .card.rank-9 .suit:after {
|
|
||||||
letter-spacing: -.075em;
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-10 .suit:after {
|
|
||||||
letter-spacing: -.1em;
|
|
||||||
}
|
|
||||||
.playingCards .card.clubs .suit:after {
|
|
||||||
letter-spacing: -.125em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*____________ symbols in the middle (suits, full) ____________*/
|
|
||||||
|
|
||||||
/* diamonds */
|
|
||||||
.playingCards .card.rank-2.diams .suit:after {
|
|
||||||
content: "\2666 \A\A\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-3.diams .suit:after {
|
|
||||||
content: "\2666 \A\2666 \A\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-4.diams .suit:after {
|
|
||||||
content: "\2666\00A0\00A0\00A0\2666 \A\A\2666\00A0\00A0\00A0\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-5.diams .suit:after {
|
|
||||||
content: "\2666\00A0\00A0\00A0\2666 \A\2666 \A\2666\00A0\00A0\00A0\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-6.diams .suit:after {
|
|
||||||
content: "\2666\00A0\00A0\00A0\2666 \A\2666\00A0\00A0\00A0\2666 \A\2666\00A0\00A0\00A0\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-7.diams .suit:after {
|
|
||||||
content: "\2666\00A0\00A0\2666 \A\2666\00A0\2666\00A0\2666 \A\2666\00A0\00A0\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-8.diams .suit:after {
|
|
||||||
content: "\2666\00A0\2666\00A0\2666 \A\2666\00A0\00A0\2666 \A\2666\00A0\2666\00A0\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-9.diams .suit:after {
|
|
||||||
content: "\2666\00A0\2666\00A0\2666 \A\2666\00A0\2666\00A0\2666 \A\2666\00A0\2666\00A0\2666";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-10.diams .suit:after {
|
|
||||||
content: "\2666\00A0\2666\00A0\2666 \A\2666\00A0\2666\00A0\2666\00A0\2666 \A\2666\00A0\2666\00A0\2666";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* hearts */
|
|
||||||
.playingCards .card.rank-2.hearts .suit:after {
|
|
||||||
content: "\2665 \A\A\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-3.hearts .suit:after {
|
|
||||||
content: "\2665 \A\2665 \A\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-4.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\00A0\00A0\2665 \A\A\2665\00A0\00A0\00A0\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-5.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\00A0\00A0\2665 \A\2665 \A\2665\00A0\00A0\00A0\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-6.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\00A0\00A0\2665 \A\2665\00A0\00A0\00A0\2665 \A\2665\00A0\00A0\00A0\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-7.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\00A0\2665 \A\2665\00A0\2665\00A0\2665 \A\2665\00A0\00A0\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-8.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\2665\00A0\2665 \A\2665\00A0\00A0\2665 \A\2665\00A0\2665\00A0\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-9.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\2665\00A0\2665 \A\2665\00A0\2665\00A0\2665 \A\2665\00A0\2665\00A0\2665";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-10.hearts .suit:after {
|
|
||||||
content: "\2665\00A0\2665\00A0\2665 \A\2665\00A0\2665\00A0\2665\00A0\2665 \A\2665\00A0\2665\00A0\2665";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* spades */
|
|
||||||
.playingCards .card.rank-2.spades .suit:after {
|
|
||||||
content: "\2660 \A\A\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-3.spades .suit:after {
|
|
||||||
content: "\2660 \A\2660 \A\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-4.spades .suit:after {
|
|
||||||
content: "\2660\00A0\00A0\00A0\2660 \A\A\2660\00A0\00A0\00A0\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-5.spades .suit:after {
|
|
||||||
content: "\2660\00A0\00A0\00A0\2660 \A\2660 \A\2660\00A0\00A0\00A0\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-6.spades .suit:after {
|
|
||||||
content: "\2660\00A0\00A0\00A0\2660 \A\2660\00A0\00A0\00A0\2660 \A\2660\00A0\00A0\00A0\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-7.spades .suit:after {
|
|
||||||
content: "\2660\00A0\00A0\2660 \A\2660\00A0\2660\00A0\2660 \A\2660\00A0\00A0\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-8.spades .suit:after {
|
|
||||||
content: "\2660\00A0\2660\00A0\2660 \A\2660\00A0\00A0\2660 \A\2660\00A0\2660\00A0\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-9.spades .suit:after {
|
|
||||||
content: "\2660\00A0\2660\00A0\2660 \A\2660\00A0\2660\00A0\2660 \A\2660\00A0\2660\00A0\2660";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-10.spades .suit:after {
|
|
||||||
content: "\2660\00A0\2660\00A0\2660 \A\2660\00A0\2660\00A0\2660\00A0\2660 \A\2660\00A0\2660\00A0\2660";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* clubs */
|
|
||||||
.playingCards .card.rank-2.clubs .suit:after {
|
|
||||||
content: "\2663 \A\A\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-3.clubs .suit:after {
|
|
||||||
content: "\2663 \A\2663 \A\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-4.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\00A0\00A0\2663 \A\A\2663\00A0\00A0\00A0\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-5.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\00A0\00A0\2663 \A\2663 \A\2663\00A0\00A0\00A0\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-6.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\00A0\00A0\2663 \A\2663\00A0\00A0\00A0\2663 \A\2663\00A0\00A0\00A0\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-7.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\00A0\2663 \A\2663\00A0\2663\00A0\2663 \A\2663\00A0\00A0\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-8.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\2663\00A0\2663 \A\2663\00A0\00A0\2663 \A\2663\00A0\2663\00A0\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-9.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\2663\00A0\2663 \A\2663\00A0\2663\00A0\2663 \A\2663\00A0\2663\00A0\2663";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-10.clubs .suit:after {
|
|
||||||
content: "\2663\00A0\2663\00A0\2663 \A\2663\00A0\2663\00A0\2663\00A0\2663 \A\2663\00A0\2663\00A0\2663";
|
|
||||||
}
|
|
||||||
|
|
||||||
/*____________ symbols in the middle (faces as images) ____________*/
|
|
||||||
|
|
||||||
.playingCards.faceImages .card.rank-j .suit:after,
|
|
||||||
.playingCards.faceImages .card.rank-q .suit:after,
|
|
||||||
.playingCards.faceImages .card.rank-k .suit:after {
|
|
||||||
content: '';
|
|
||||||
}
|
|
||||||
.playingCards.faceImages .card.rank-j,
|
|
||||||
.playingCards.faceImages .card.rank-q,
|
|
||||||
.playingCards.faceImages .card.rank-k,
|
|
||||||
.playingCards.faceImages .card.joker {
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: -1em 0;
|
|
||||||
/* @change: smaller cards: more negative distance from the left
|
|
||||||
bigger cards: 0 or more positive distance from the left */
|
|
||||||
|
|
||||||
/* for a centered full background image:
|
|
||||||
background-position: .35em 0;
|
|
||||||
-moz-background-size: contain;
|
|
||||||
-o-background-size: contain;
|
|
||||||
-webkit-background-size: contain;
|
|
||||||
-khtml-background-size: contain;
|
|
||||||
background-size: contain;
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
.playingCards.faceImages .card.rank-j.diams { background-image: url(faces/JD.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-j.hearts { background-image: url(faces/JH.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-j.spades { background-image: url(faces/JS.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-j.clubs { background-image: url(faces/JC.gif); }
|
|
||||||
|
|
||||||
.playingCards.faceImages .card.rank-q.diams { background-image: url(faces/QD.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-q.hearts { background-image: url(faces/QH.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-q.spades { background-image: url(faces/QS.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-q.clubs { background-image: url(faces/QC.gif); }
|
|
||||||
|
|
||||||
.playingCards.faceImages .card.rank-k.diams { background-image: url(faces/KD.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-k.hearts { background-image: url(faces/KH.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-k.spades { background-image: url(faces/KS.gif); }
|
|
||||||
.playingCards.faceImages .card.rank-k.clubs { background-image: url(faces/KC.gif); }
|
|
||||||
|
|
||||||
.playingCards.faceImages .card.joker { background-image: url(faces/joker.gif); }
|
|
||||||
.playingCards.simpleCards .card.rank-j,
|
|
||||||
.playingCards.simpleCards .card.rank-q,
|
|
||||||
.playingCards.simpleCards .card.rank-k { background-image: none !important; }
|
|
||||||
|
|
||||||
/*____________ symbols in the middle (faces as dingbat symbols) ____________*/
|
|
||||||
|
|
||||||
.playingCards.simpleCards .card .suit:after,
|
|
||||||
.playingCards .card.rank-j .suit:after,
|
|
||||||
.playingCards .card.rank-q .suit:after,
|
|
||||||
.playingCards .card.rank-k .suit:after,
|
|
||||||
.playingCards .card.rank-a .suit:after,
|
|
||||||
.playingCards .card.joker .rank:after {
|
|
||||||
font-family: Georgia, serif;
|
|
||||||
position: absolute;
|
|
||||||
font-size: 3em;
|
|
||||||
right: .1em;
|
|
||||||
bottom: .25em;
|
|
||||||
word-spacing: normal;
|
|
||||||
letter-spacing: normal;
|
|
||||||
line-height: 1;
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-j .suit:after {
|
|
||||||
content: "\265F";
|
|
||||||
right: .15em;
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-q .suit:after {
|
|
||||||
content: "\265B";
|
|
||||||
}
|
|
||||||
.playingCards .card.rank-k .suit:after {
|
|
||||||
content: "\265A";
|
|
||||||
}
|
|
||||||
/* joker (inner symbol) */
|
|
||||||
.playingCards.faceImages .card.joker .rank:after {
|
|
||||||
content: "";
|
|
||||||
}
|
|
||||||
.playingCards .card.joker .rank:after {
|
|
||||||
position: absolute;
|
|
||||||
content: "\2766";
|
|
||||||
top: .4em;
|
|
||||||
left: .1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* big suits in middle */
|
|
||||||
.playingCards.simpleCards .card .suit:after,
|
|
||||||
.playingCards .card.rank-a .suit:after {
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
line-height: .9;
|
|
||||||
bottom: .35em;
|
|
||||||
}
|
|
||||||
.playingCards.simpleCards .card.diams .suit:after,
|
|
||||||
.playingCards .card.rank-a.diams .suit:after {
|
|
||||||
content: "\2666";
|
|
||||||
right: .4em;
|
|
||||||
}
|
|
||||||
.playingCards.simpleCards .card.hearts .suit:after,
|
|
||||||
.playingCards .card.rank-a.hearts .suit:after {
|
|
||||||
content: "\2665";
|
|
||||||
right: .35em;
|
|
||||||
}
|
|
||||||
.playingCards.simpleCards .card.spades .suit:after,
|
|
||||||
.playingCards .card.rank-a.spades .suit:after {
|
|
||||||
content: "\2660";
|
|
||||||
right: .35em;
|
|
||||||
}
|
|
||||||
.playingCards.simpleCards .card.clubs .suit:after,
|
|
||||||
.playingCards .card.rank-a.clubs .suit:after {
|
|
||||||
content: "\2663";
|
|
||||||
right: .3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*____________ smaller cards for use inside text ____________*/
|
|
||||||
|
|
||||||
.playingCards.inText .card {
|
|
||||||
font-size: .4em;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.playingCards.inText .card span.rank,
|
|
||||||
.playingCards.inText .card span.suit {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.playingCards.inText .card span.rank {
|
|
||||||
font-size: 2em;
|
|
||||||
margin-top: .2em;
|
|
||||||
}
|
|
||||||
.playingCards.inText .card span.suit {
|
|
||||||
font-size: 2.5em;
|
|
||||||
}
|
|
||||||
.playingCards.inText .card .suit:after,
|
|
||||||
.playingCards.inText .card.joker .rank:after {
|
|
||||||
content: "" !important;
|
|
||||||
}
|
|
||||||
.playingCards.inText .card .rank:after {
|
|
||||||
left: .5em;
|
|
||||||
padding: 0 .1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* hand (in your hand or on table or as a deck)
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
.playingCards ul.table,
|
|
||||||
.playingCards ul.hand,
|
|
||||||
.playingCards ul.deck {
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0 0 1.5em 0;
|
|
||||||
position: relative;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
.playingCards ul.hand {
|
|
||||||
margin-bottom: 3.5em;
|
|
||||||
}
|
|
||||||
.playingCards ul.table li,
|
|
||||||
.playingCards ul.hand li,
|
|
||||||
.playingCards ul.deck li {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
list-style-type: none;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.playingCards ul.hand,
|
|
||||||
.playingCards ul.deck {
|
|
||||||
height: 8em;
|
|
||||||
}
|
|
||||||
.playingCards ul.hand li,
|
|
||||||
.playingCards ul.deck li {
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
.playingCards ul.hand li {
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.playingCards ul.hand li:nth-child(1) { left: 0; }
|
|
||||||
.playingCards ul.hand li:nth-child(2) { left: 1.1em; }
|
|
||||||
.playingCards ul.hand li:nth-child(3) { left: 2.2em; }
|
|
||||||
.playingCards ul.hand li:nth-child(4) { left: 3.3em; }
|
|
||||||
.playingCards ul.hand li:nth-child(5) { left: 4.4em; }
|
|
||||||
.playingCards ul.hand li:nth-child(6) { left: 5.5em; }
|
|
||||||
.playingCards ul.hand li:nth-child(7) { left: 6.6em; }
|
|
||||||
.playingCards ul.hand li:nth-child(8) { left: 7.7em; }
|
|
||||||
.playingCards ul.hand li:nth-child(9) { left: 8.8em; }
|
|
||||||
.playingCards ul.hand li:nth-child(10) { left: 9.9em; }
|
|
||||||
.playingCards ul.hand li:nth-child(11) { left: 11em; }
|
|
||||||
.playingCards ul.hand li:nth-child(12) { left: 12.1em; }
|
|
||||||
.playingCards ul.hand li:nth-child(13) { left: 13.2em; }
|
|
||||||
|
|
||||||
.playingCards ul.hand li:nth-child(14) { left: 14.3em; }
|
|
||||||
.playingCards ul.hand li:nth-child(15) { left: 15.4em; }
|
|
||||||
.playingCards ul.hand li:nth-child(16) { left: 16.5em; }
|
|
||||||
.playingCards ul.hand li:nth-child(17) { left: 17.6em; }
|
|
||||||
.playingCards ul.hand li:nth-child(18) { left: 18.7em; }
|
|
||||||
.playingCards ul.hand li:nth-child(19) { left: 19.8em; }
|
|
||||||
.playingCards ul.hand li:nth-child(20) { left: 20.9em; }
|
|
||||||
.playingCards ul.hand li:nth-child(21) { left: 22em; }
|
|
||||||
.playingCards ul.hand li:nth-child(22) { left: 23.1em; }
|
|
||||||
.playingCards ul.hand li:nth-child(23) { left: 24.2em; }
|
|
||||||
.playingCards ul.hand li:nth-child(24) { left: 25.3em; }
|
|
||||||
.playingCards ul.hand li:nth-child(25) { left: 26.4em; }
|
|
||||||
.playingCards ul.hand li:nth-child(26) { left: 27.5em; }
|
|
||||||
|
|
||||||
/* rotate cards if rotateHand option is on */
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(1) {
|
|
||||||
-moz-transform: translate(1.9em, .9em) rotate(-42deg);
|
|
||||||
-webkit-transform: translate(1.9em, .9em) rotate(-42deg);
|
|
||||||
-o-transform: translate(1.9em, .9em) rotate(-42deg);
|
|
||||||
transform: translate(1.9em, .9em) rotate(-42deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(2) {
|
|
||||||
-moz-transform: translate(1.5em, .5em) rotate(-33deg);
|
|
||||||
-webkit-transform: translate(1.5em, .5em) rotate(-33deg);
|
|
||||||
-o-transform: translate(1.5em, .5em) rotate(-33deg);
|
|
||||||
transform: translate(1.5em, .5em) rotate(-33deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(3) {
|
|
||||||
-moz-transform: translate(1.1em, .3em) rotate(-24deg);
|
|
||||||
-webkit-transform: translate(1.1em, .3em) rotate(-24deg);
|
|
||||||
-o-transform: translate(1.1em, .3em) rotate(-24deg);
|
|
||||||
transform: translate(1.1em, .3em) rotate(-24deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(4) {
|
|
||||||
-moz-transform: translate(.7em, .2em) rotate(-15deg);
|
|
||||||
-webkit-transform: translate(.7em, .2em) rotate(-15deg);
|
|
||||||
-o-transform: translate(.7em, .2em) rotate(-15deg);
|
|
||||||
transform: translate(.7em, .2em) rotate(-15deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(5) {
|
|
||||||
-moz-transform: translate(.3em, .1em) rotate(-6deg);
|
|
||||||
-webkit-transform: translate(.3em, .1em) rotate(-6deg);
|
|
||||||
-o-transform: translate(.3em, .1em) rotate(-6deg);
|
|
||||||
transform: translate(.3em, .1em) rotate(-6deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(6) {
|
|
||||||
-moz-transform: translate(-.1em, .1em) rotate(3deg);
|
|
||||||
-webkit-transform: translate(-.1em, .1em) rotate(3deg);
|
|
||||||
-o-transform: translate(-.1em, .1em) rotate(3deg);
|
|
||||||
transform: translate(-.1em, .1em) rotate(3deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(7) {
|
|
||||||
-moz-transform: translate(-.5em, .2em) rotate(12deg);
|
|
||||||
-webkit-transform: translate(-.5em, .2em) rotate(12deg);
|
|
||||||
-o-transform: translate(-.5em, .2em) rotate(12deg);
|
|
||||||
transform: translate(-.5em, .2em) rotate(12deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(8) {
|
|
||||||
-moz-transform: translate(-.9em, .3em) rotate(21deg);
|
|
||||||
-webkit-transform: translate(-.9em, .3em) rotate(21deg);
|
|
||||||
-o-transform: translate(-.9em, .3em) rotate(21deg);
|
|
||||||
transform: translate(-.9em, .3em) rotate(21deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(9) {
|
|
||||||
-moz-transform: translate(-1.3em, .6em) rotate(30deg);
|
|
||||||
-webkit-transform: translate(-1.3em, .6em) rotate(30deg);
|
|
||||||
-o-transform: translate(-1.3em, .6em) rotate(30deg);
|
|
||||||
transform: translate(-1.3em, .6em) rotate(30deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(10) {
|
|
||||||
-moz-transform: translate(-1.7em, 1em) rotate(39deg);
|
|
||||||
-webkit-transform: translate(-1.7em, 1em) rotate(39deg);
|
|
||||||
-o-transform: translate(-1.7em, 1em) rotate(39deg);
|
|
||||||
transform: translate(-1.7em, 1em) rotate(39deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(11) {
|
|
||||||
-moz-transform: translate(-2.2em, 1.5em) rotate(48deg);
|
|
||||||
-webkit-transform: translate(-2.2em, 1.5em) rotate(48deg);
|
|
||||||
-o-transform: translate(-2.2em, 1.5em) rotate(48deg);
|
|
||||||
transform: translate(-2.2em, 1.5em) rotate(48deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(12) {
|
|
||||||
-moz-transform: translate(-2.8em, 2.1em) rotate(57deg);
|
|
||||||
-webkit-transform: translate(-2.8em, 2.1em) rotate(57deg);
|
|
||||||
-o-transform: translate(-2.8em, 2.1em) rotate(57deg);
|
|
||||||
transform: translate(-2.8em, 2.1em) rotate(57deg);
|
|
||||||
}
|
|
||||||
.playingCards.rotateHand ul.hand li:nth-child(13) {
|
|
||||||
-moz-transform: translate(-3.5em, 2.8em) rotate(66deg);
|
|
||||||
-webkit-transform: translate(-3.5em, 2.8em) rotate(66deg);
|
|
||||||
-o-transform: translate(-3.5em, 2.8em) rotate(66deg);
|
|
||||||
transform: translate(-3.5em, 2.8em) rotate(66deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* deck */
|
|
||||||
.playingCards ul.deck li:nth-child(1) { left: 0; bottom: 0; }
|
|
||||||
.playingCards ul.deck li:nth-child(2) { left: 2px; bottom: 1px; }
|
|
||||||
.playingCards ul.deck li:nth-child(3) { left: 4px; bottom: 2px; }
|
|
||||||
.playingCards ul.deck li:nth-child(4) { left: 6px; bottom: 3px; }
|
|
||||||
.playingCards ul.deck li:nth-child(5) { left: 8px; bottom: 4px; }
|
|
||||||
.playingCards ul.deck li:nth-child(6) { left: 10px; bottom: 5px; }
|
|
||||||
.playingCards ul.deck li:nth-child(7) { left: 12px; bottom: 6px; }
|
|
||||||
.playingCards ul.deck li:nth-child(8) { left: 14px; bottom: 7px; }
|
|
||||||
.playingCards ul.deck li:nth-child(9) { left: 16px; bottom: 8px; }
|
|
||||||
.playingCards ul.deck li:nth-child(10) { left: 18px; bottom: 9px; }
|
|
||||||
.playingCards ul.deck li:nth-child(11) { left: 20px; bottom: 10px; }
|
|
||||||
.playingCards ul.deck li:nth-child(12) { left: 22px; bottom: 11px; }
|
|
||||||
.playingCards ul.deck li:nth-child(13) { left: 24px; bottom: 12px; }
|
|
||||||
.playingCards ul.deck li:nth-child(14) { left: 26px; bottom: 13px; }
|
|
||||||
.playingCards ul.deck li:nth-child(15) { left: 28px; bottom: 14px; }
|
|
||||||
.playingCards ul.deck li:nth-child(16) { left: 30px; bottom: 15px; }
|
|
||||||
.playingCards ul.deck li:nth-child(17) { left: 32px; bottom: 16px; }
|
|
||||||
.playingCards ul.deck li:nth-child(18) { left: 34px; bottom: 17px; }
|
|
||||||
.playingCards ul.deck li:nth-child(19) { left: 36px; bottom: 18px; }
|
|
||||||
.playingCards ul.deck li:nth-child(20) { left: 38px; bottom: 19px; }
|
|
||||||
.playingCards ul.deck li:nth-child(21) { left: 40px; bottom: 20px; }
|
|
||||||
.playingCards ul.deck li:nth-child(22) { left: 42px; bottom: 21px; }
|
|
||||||
.playingCards ul.deck li:nth-child(23) { left: 44px; bottom: 22px; }
|
|
||||||
.playingCards ul.deck li:nth-child(24) { left: 46px; bottom: 23px; }
|
|
||||||
.playingCards ul.deck li:nth-child(25) { left: 48px; bottom: 24px; }
|
|
||||||
.playingCards ul.deck li:nth-child(26) { left: 50px; bottom: 25px; }
|
|
||||||
.playingCards ul.deck li:nth-child(27) { left: 52px; bottom: 26px; }
|
|
||||||
.playingCards ul.deck li:nth-child(28) { left: 54px; bottom: 27px; }
|
|
||||||
.playingCards ul.deck li:nth-child(29) { left: 56px; bottom: 28px; }
|
|
||||||
.playingCards ul.deck li:nth-child(30) { left: 58px; bottom: 29px; }
|
|
||||||
.playingCards ul.deck li:nth-child(31) { left: 60px; bottom: 30px; }
|
|
||||||
.playingCards ul.deck li:nth-child(32) { left: 62px; bottom: 31px; }
|
|
79
style.scss
|
@ -1,31 +1,66 @@
|
||||||
|
@use "sass:math";
|
||||||
@import "../node_modules/bootstrap/scss/bootstrap";
|
@import "../node_modules/bootstrap/scss/bootstrap";
|
||||||
|
|
||||||
abbr[title] {
|
#gamePyramid {
|
||||||
border-bottom: none !important;
|
display: grid;
|
||||||
cursor: inherit !important;
|
grid-template-columns: repeat(60, 1fr);
|
||||||
text-decoration: none !important;
|
place-items: start;
|
||||||
}
|
grid-gap: 4px;
|
||||||
|
background-color: #242;
|
||||||
|
background-image: linear-gradient(to bottom right, #242, #484);
|
||||||
|
border-radius: 5px;
|
||||||
|
|
||||||
.playingCards {
|
.game-pyramid-card {
|
||||||
.card {
|
width: 100%;
|
||||||
box-shadow: .05em .05em .1em #888 !important;
|
&::before {
|
||||||
border-color: #aaa !important;
|
// content: "";
|
||||||
border-radius: 0.2em !important;
|
display: inline-block;
|
||||||
.suit {
|
width: 1px;
|
||||||
&::after {
|
height: 0;
|
||||||
margin-top: -.9em !important;
|
}
|
||||||
font-size: 0.9em !important;
|
// first/top row (index 0, row 1)
|
||||||
|
@for $i from 0 to 3 {
|
||||||
|
&.game-pyramid-card-0-#{$i} {
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column: #{($i + 1) * 10 + $i * 8} / #{($i + 1) * 10 + $i * 8+6};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.suit-b {
|
// second row (index 1, row 2)
|
||||||
position: absolute;
|
@for $i from 0 to 6 {
|
||||||
right: 4px;
|
&.game-pyramid-card-1-#{$i} {
|
||||||
bottom: 18px;
|
grid-row: 2;
|
||||||
|
grid-column: #{(($i + 1) * 7)-
|
||||||
|
($i % 2)+
|
||||||
|
(math.floor(math.div($i, 2)) * 4)} /
|
||||||
|
#{(($i + 2) * 7)-
|
||||||
|
($i % 2)+
|
||||||
|
(math.floor(math.div($i, 2)) * 4)-1};
|
||||||
|
margin-top: -75%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// third row (index 2, row 3)
|
||||||
|
@for $i from 0 to 9 {
|
||||||
|
&.game-pyramid-card-2-#{$i} {
|
||||||
|
grid-row: 3;
|
||||||
|
grid-column: #{4+ (6 * $i)} / #{10+ (6 * $i)};
|
||||||
|
margin-top: -75%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// last/bottom row (index 3, row 4)
|
||||||
|
@for $i from 0 to 10 {
|
||||||
|
&.game-pyramid-card-3-#{$i} {
|
||||||
|
grid-row: 4;
|
||||||
|
grid-column: #{1+ (6 * $i)} / #{7+ (6 * $i)};
|
||||||
|
margin-top: -75%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// stock cards
|
||||||
|
@for $i from 0 to 24 {
|
||||||
|
&.game-pyramid-card-4-#{$i} {
|
||||||
|
grid-column: #{5+ (2 * $i)} / #{11+ (2 * $i)};
|
||||||
|
grid-row: 5;
|
||||||
|
margin-top: 25%;
|
||||||
}
|
}
|
||||||
.rank-b {
|
|
||||||
position: absolute;
|
|
||||||
right: 4px;
|
|
||||||
bottom: -1px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|