const Clubs = { width : 48, height : 48, bpp : 1, buffer : require("heatshrink").decompress(atob("ACcP+AFDn/8Aod//wFD///AgUBAoOAApsDAoPAAr4vLI4pTEgP8L4M/wEH/5rB//gh//x/x//wj//9/3//4n4iBAAIZBAol/Aof+Apv5z4FP+OPAo41BAoX8I4Pj45HBAoPD4YFBLIOD4JZBRAMD4CKC/AFBj59Cg/gQYYFXAB4=")) }; const Spades = { width : 48, height : 48, bpp : 1, buffer : require("heatshrink").decompress(atob("ABsBwAFDgfAAocH8AFDh/wAocf/AFDn/8Aod//wFD///FwYFBGAUDAoIwCg4FBGAUPAoIwCj4FBGAU/AoIwCv4FBGAQEBGAQuCGAQuCGAQFLHQQ8CAupHLL4prB+fPTgU/8fHVwbLLApbXFbpYFLdIoADA==")) }; const Hearts = { width : 48, height : 48, bpp : 4, buffer : require("heatshrink").decompress(atob("ADlVqtQBQ8FBYIKIrnMAAINGqoKC4okGCwYAB4AKDhgKE4oWKAAILDBQwYEBYwwDFwojFgoLHEgQ6H5hhCBZAkCBRAjLEgI6IC4YLIC5Y7BBZXBjgjVABYX/C8CnKABbXLABTvMC8sMC6fAC4KQURwIABRypgULwRgULwRIUCwhIRIwiRSRoZITCwx5POoowRCxAwNFxIwNCxQwLFxYwLCxgwJFxowJCxwwHFx4wHCyAwFFyIwFCyQwDFycAgoXBqAXTgFc4oWUJAJGUJARGVAEo")) }; const Diamonds = { width : 48, height : 48, bpp : 4, buffer : require("heatshrink").decompress(atob("AHUFC60M4AXV5nFIyvM5hGVC4JIUCwJIUIwRIUIwRIUCwZISIwgABqBGUJCQWFPKBGGJCFcC455OCw4wOOox5QIxB5NOpBIOFxZ5LCxYwKOpQwMIxh5KOxipLL6xgNR5QwMX5TvXPJZ1JJBpGLPJR1LJBZGNPJIWOJA5GOPJB1NJBIWQPIpGRJApGRPIoWSJAa8PJA5GTJAYWUJAJGVAAJGVAHo=")) }; var deck = []; var player = {Hand:[]}; var computer = {Hand:[]}; var ctx = {ready:true}; function createDeck() { var suits = ["Spades", "Hearts", "Diamonds", "Clubs"]; var values = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"]; var dck = []; for (var i = 0 ; i < values.length; i++) { for(var x = 0; x < suits.length; x++) { dck.push({ Value: values[i], Suit: suits[x] }); } } return dck; } function shuffle(a) { var j, x, i; for (i = a.length - 1; i > 0; i--) { j = Math.floor(Math.random() * (i + 1)); x = a[i]; a[i] = a[j]; a[j] = x; } return a; } function EndGameMessdage(msg){ ctx.ready = false; g.drawString(msg, 155, 200); setTimeout(function(){ startGame(); }, 2500); } function hitMe() { if (!ctx.ready) return; player.Hand.push(deck.pop()); renderOnScreen(1); var playerWeight = calcWeight(player.Hand, 0); if(playerWeight == 21) EndGameMessdage('WINNER'); else if(playerWeight > 21) EndGameMessdage('LOSER'); } function calcWeight(hand, hideCard) { if(hideCard === 1) { if (hand[0].Value == "J" || hand[0].Value == "Q" || hand[0].Value == "K") return "10 +"; else if (hand[0].Value == "A") return "11 +"; else return parseInt(hand[0].Value) +" +"; } else { var weight = 0; for(i=0; i 21 || bangleWeight < playerWeight) EndGameMessdage('WINNER'); else if(bangleWeight > playerWeight) EndGameMessdage('LOOSER'); } function renderOnScreen(HideCard) { const fontName = "6x8"; g.clear(); // clear screen g.reset(); // default draw styles g.setFont(fontName, 1); g.drawString('RST', 220, 35); g.drawString('Hit', 60, 230); g.drawString('Stand', 165, 230); g.setFont(fontName, 3); for(i=0; i