Calculator Tools Calculator Tools
Create

Whack-A-Mole Flags Game

Aug 12, 2026

About this app

Whack-A-Mole Flags Game

Whack-A-Mole Flags Game Whack-A-Mole Flags Game Score: 0 Time Left: 30

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Whack-A-Mole Flags Game</title>
<meta name="description" content="Whack-A-Mole Flags Game">
<meta name="keywords" content="whack-a-mole, game, flags">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

<!-- Built-In Functions for Apps -->
<script type="text/javascript">
var localStoragePrefix = "ct-168934224491205";
var lastSave = 0;
// save to localstorage
function saveLocal(data) {
if (Date.now() - lastSave < 1000) {
return;
}
// save to cookie
let cookie = localStoragePrefix + "=" + JSON.stringify(data) + "; path=" + window.location.pathname + "'; SameSite=Strict";
cookie += "; expires=" + new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 1000).toUTCString();
document.cookie = cookie;
lastSave = Date.now();
}

// load from localstorage
function loadLocal() {
var cookiePrefix = localStoragePrefix + "=";
var cookieStart = document.cookie.indexOf(cookiePrefix);
if (cookieStart > -1) {
let cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieEnd == -1) {
cookieEnd = document.cookie.length;
}
var cookieData = document.cookie.substring(cookieStart + cookiePrefix.length, cookieEnd);
return JSON.parse(cookieData);
}
}

// Game Variables
var flags = ["πŸ‡¦πŸ‡±", "πŸ‡·πŸ‡Ί", "πŸ‡ΊπŸ‡¦", "🏴󠁧󠁒󠁷󠁬󠁳󠁿"];
var score = 0;
var timeLeft = 30;
var timer;

// Whack-A-Mole Logic
function startGame() {
score = 0;
timeLeft = 30;
timer = setInterval(updateTime, 1000);
updateScore();
updateFlags();
}

function updateScore() {
$("#score").text("Score: " + score);
}

function updateFlags() {
var randomFlagIndex = Math.floor(Math.random() * flags.length);
var flag = flags[randomFlagIndex];
$(".hole").removeClass("active");
$(".hole").empty();
$(".hole").eq(randomFlagIndex).addClass("active").html(flag);
}

function updateTime() {
timeLeft--;
$("#time").text("Time Left: " + timeLeft);
if (timeLeft === 0) {
endGame();
}
}

function endGame() {
clearInterval(timer);
$(".hole").removeClass("active");
$(".hole").empty();
alert("Game Over!\n\nYour score: " + score);
}

$(document).on("click", ".hole.active", function() {
score++;
updateScore();
updateFlags();
});

$(document).ready(function() {
startGame();
});
</script>

<style>
body {
background-color: #f7f7f7;
}

.container {
padding: 20px;
}

.game-board {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 10px;
}

.hole {
display: flex;
justify-content: center;
align-items: center;
background-color: #e9ecef;
border-radius: 10px;
font-size: 40px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.hole.active {
background-color: #ffc107;
}

#info {
text-align: center;
margin-bottom: 20px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div id="info">
<h1>Whack-A-Mole Flags Game</h1>
<h3 id="score">Score: 0</h3>
<h3 id="time">Time Left: 30</h3>
</div>

<div class="game-board">
<div class="hole"></div>
<div class="hole"></div>
<div class="hole"></div>
<div class="hole"></div>
</div>
</div>
</body>
</html>