Calculator Tools Calculator Tools
Create

Hide-and-Seek Game - Maastricht Attractions

Sep 27, 2023

About this app

Play the hide-and-seek game with the most popular attractions in Maastricht, Netherlands. Can you find them all?

Hide-and-Seek Game - Maastricht Attractions

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>Hide-and-Seek Game - Maastricht Attractions</title>
<meta name="description" content="Play the hide-and-seek game with the most popular attractions in Maastricht, Netherlands. Can you find them all?">
<meta name="keywords" content="hide and seek, game, Maastricht, Netherlands, attractions">

<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">

<link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.

// Array of attractions
var attractions = [
{
name: "Vrijthof",
location: "Markt, Maastricht",
image: "https://www.example.com/vrijthof.jpg"
},
{
name: "Basilica of Saint Servatius",
location: "Keizer Karelplein 8, Maastricht",
image: "https://www.example.com/basilica.jpg"
},
{
name: "Onze Lieve Vrouweplein",
location: "Onze Lieve Vrouweplein, Maastricht",
image: "https://www.example.com/onze-lieve-vrouweplein.jpg"
},
{
name: "Helpoort",
location: "Minderbroedersberg 4-6, Maastricht",
image: "https://www.example.com/helpoort.jpg"
},
{
name: "Bonnefanten Museum",
location: "Avenue Céramique 250, Maastricht",
image: "https://www.example.com/bonnefanten-museum.jpg"
}
];

// Shuffle attractions array
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}

// Generate HTML for attractions
function generateAttractionsHTML() {
var attractionsHTML = "";
for (var i = 0; i < attractions.length; i++) {
var attraction = attractions[i];
attractionsHTML += `
<div class="card mb-3">
<img src="${attraction.image}" class="card-img-top" alt="${attraction.name}">
<div class="card-body">
<h5 class="card-title">${attraction.name}</h5>
<p class="card-text">${attraction.location}</p>
</div>
</div>
`;
}
return attractionsHTML;
}

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
// Shuffle attractions array
shuffleArray(attractions);

// Generate HTML for attractions
var attractionsHTML = generateAttractionsHTML();

// Add attractions HTML to main container
document.getElementById("main-container").innerHTML = attractionsHTML;

// Add click event listener to cards
var cards = document.getElementsByClassName("card");
for (var i = 0; i < cards.length; i++) {
cards[i].addEventListener("click", function() {
this.classList.add("found");
});
}
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
body {
font-family: 'Quicksand', sans-serif;
background-color: #f5f5f5;
color: #333;
}

.card {
cursor: pointer;
transition: transform 0.3s;
}

.card:hover {
transform: scale(1.05);
}

.card.found {
background-color: #f0f0f0;
}

.card-title {
font-size: 1.2rem;
font-weight: bold;
}

.card-text {
font-size: 0.9rem;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<!-- App HTML Goes Here -->
</div>
</body>
</html>