Calculator Tools Calculator Tools
Create

Draw and Match Game

Nov 12, 2023

About this app

A fun and interactive drawing game with multiple levels

Draw and Match Game I'm done!

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>Draw and Match Game</title>
<meta name="description" content="A fun and interactive drawing game with multiple levels">
<meta name="keywords" content="drawing game, matching game, word matching, interactive game">

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

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

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
const levels = [
{
word: "ROCKER",
font: "Old English",
image: "rocker.png"
},
{
word: "CRUCIAL",
font: "Old English",
image: "crucial.png"
},
{
word: "9",
font: "Times New Roman"
},
{
icon: "manta-ray.png"
},
{
word: "Patchy",
font: "Old English"
},
{
word: "1996",
font: "Old English",
outline: true
},
{
word: "624",
font: "Old English"
},
{
word: "1995",
font: "Old English"
},
{
word: "CALIFORNIA"
},
{
word: "SHAOLIN"
},
{
bonus: true,
image: "owl-compass.png"
}
];

let currentLevel = 0;
let drawingPercentage = 0;

function loadLevel() {
const level = levels[currentLevel];
const mainContainer = document.getElementById("main-container");
mainContainer.innerHTML = "";

if (level.word) {
const wordContainer = document.createElement("div");
wordContainer.classList.add("word-container");
const word = document.createElement("span");
word.innerText = level.word;
word.style.fontFamily = level.font || "Arial";
wordContainer.appendChild(word);
mainContainer.appendChild(wordContainer);
}

if (level.image) {
const imageContainer = document.createElement("div");
imageContainer.classList.add("image-container");
const image = document.createElement("img");
image.src = level.image;
imageContainer.appendChild(image);
mainContainer.appendChild(imageContainer);
}

if (level.icon) {
const iconContainer = document.createElement("div");
iconContainer.classList.add("icon-container");
const icon = document.createElement("i");
icon.classList.add("fa", `fa-${level.icon}`);
iconContainer.appendChild(icon);
mainContainer.appendChild(iconContainer);
}

if (level.outline) {
mainContainer.classList.add("outlined");
} else {
mainContainer.classList.remove("outlined");
}

if (level.bonus) {
const bonusContainer = document.createElement("div");
bonusContainer.classList.add("bonus-container");
const bonusText = document.createElement("span");
bonusText.innerText = "Bonus Stage!";
bonusContainer.appendChild(bonusText);
mainContainer.appendChild(bonusContainer);
}

const progressBar = document.getElementById("progress-bar");
progressBar.style.width = `${currentLevel / levels.length * 100}%`;

const percentageText = document.getElementById("percentage-text");
percentageText.innerText = `${drawingPercentage}%`;

const doneButton = document.getElementById("done-button");
doneButton.style.display = "none";
}

function calculateMatchingPercentage() {
// Simulating the calculation of matching percentage
drawingPercentage = Math.floor(Math.random() * 100) + 1;
}

function finishDrawing() {
calculateMatchingPercentage();

const doneButton = document.getElementById("done-button");
doneButton.style.display = "block";
}

function nextLevel() {
currentLevel++;
if (currentLevel >= levels.length) {
// Game finished
alert(`Congratulations! You have completed all levels. Final percentage: ${drawingPercentage}%`);
return;
}

loadLevel();
}

loadLevel();
});

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

<style>
/* App CSS Goes Here */
#main-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
font-size: 24px;
font-family: Arial;
background-color: #f5f5f5;
}

.word-container {
margin-bottom: 20px;
font-size: 48px;
font-family: "Old English";
}

.image-container img {
max-width: 100%;
height: auto;
}

.icon-container {
font-size: 72px;
}

.outlined {
outline: 2px solid black;
}

.bonus-container {
margin-top: 20px;
font-size: 32px;
font-weight: bold;
}

#progress-bar-container {
width: 100%;
height: 20px;
background-color: #e9e9e9;
margin-bottom: 10px;
}

#progress-bar {
height: 100%;
background-color: #4CAF50;
width: 0;
}

#percentage-text {
font-size: 18px;
margin-bottom: 20px;
}

#done-button {
display: none;
padding: 10px 20px;
font-size: 18px;
background-color: #4CAF50;
color: white;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div id="progress-bar-container">
<div id="progress-bar"></div>
</div>
<div id="percentage-text"></div>
<button id="done-button" onclick="nextLevel()">I'm done!</button>
</div>
</body>
</html>