Calculator Tools Calculator Tools
Create

Transgender Hero

Jan 7, 2024

About this app

A fun game where a transgender hero catches a smuggler

Transgender Hero Transgender Hero A fun game where a transgender hero catches a smuggler Start Game Game Over! Score: 0 Time: 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>Transgender Hero</title>
<meta name="description" content="A fun game where a transgender hero catches a smuggler">
<meta name="keywords" content="game, transgender, hero, smuggler">

<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/css?family=Baloo+2&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.

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
// Game variables
let score = 0;
let time = 30;
let timerInterval;

// Start game function
function startGame() {
// Reset score and time
score = 0;
time = 30;

// Update score and time displays
updateScore();
updateTime();

// Clear any existing timer intervals
clearInterval(timerInterval);

// Set interval to update time every second
timerInterval = setInterval(updateTime, 1000);

// Show the smuggler and make it draggable
$("#smuggler").show().draggable();

// Add event listener to the hero for catching the smuggler
$("#hero").on("click", function() {
// Increase score
score++;

// Update score display
updateScore();

// Hide the smuggler
$("#smuggler").hide();

// Move the smuggler to a random position
moveSmuggler();
});

// Move the smuggler to a random position
moveSmuggler();
}

// Update score display
function updateScore() {
$("#score").text(score);
}

// Update time display
function updateTime() {
$("#time").text(time);

// Decrease time by 1
time--;

// Check if time is up
if (time < 0) {
// Clear timer interval
clearInterval(timerInterval);

// End game
endGame();
}
}

// Move the smuggler to a random position
function moveSmuggler() {
// Get container dimensions
let containerWidth = $("#container").width();
let containerHeight = $("#container").height();

// Get smuggler dimensions
let smugglerWidth = $("#smuggler").width();
let smugglerHeight = $("#smuggler").height();

// Calculate maximum position for the smuggler
let maxX = containerWidth - smugglerWidth;
let maxY = containerHeight - smugglerHeight;

// Generate random position for the smuggler
let randomX = Math.floor(Math.random() * maxX);
let randomY = Math.floor(Math.random() * maxY);

// Set the smuggler position
$("#smuggler").css({ top: randomY, left: randomX });

// Show the smuggler
$("#smuggler").show();
}

// End game function
function endGame() {
// Show game over message
$("#game-over").show();

// Remove event listener from the hero
$("#hero").off("click");
}

// Start the game when the start button is clicked
$("#start-button").on("click", function() {
$("#start-screen").hide();
startGame();
});
});

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

<style>
/* App CSS Goes Here */
body {
background-color: #f8f9fa;
font-family: 'Baloo 2', cursive;
}

.container {
text-align: center;
padding: 40px;
}

h1 {
color: #343a40;
font-size: 32px;
margin-bottom: 20px;
}

p {
color: #6c757d;
font-size: 18px;
margin-bottom: 20px;
}

#start-screen {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
}

#start-button {
padding: 12px 24px;
font-size: 18px;
font-weight: bold;
color: #ffffff;
background-color: #007bff;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}

#start-button:hover {
background-color: #0056b3;
}

#game-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
position: relative;
}

#hero {
font-size: 80px;
margin-bottom: 20px;
cursor: pointer;
}

#smuggler {
font-size: 40px;
position: absolute;
top: 0;
left: 0;
cursor: move;
}

#game-over {
display: none;
font-size: 24px;
font-weight: bold;
color: #dc3545;
margin-top: 20px;
}

#score-container {
margin-top: 20px;
}

#score-label {
color: #343a40;
font-size: 18px;
font-weight: bold;
}

#score {
color: #6c757d;
font-size: 18px;
}

#time-container {
margin-top: 10px;
}

#time-label {
color: #343a40;
font-size: 18px;
font-weight: bold;
}

#time {
color: #6c757d;
font-size: 18px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div id="start-screen">
<h1>Transgender Hero</h1>
<p>A fun game where a transgender hero catches a smuggler</p>
<button id="start-button">Start Game</button>
</div>

<div id="game-container" style="display: none;">
<i id="hero" class="fa fa-transgender-alt"></i>
<i id="smuggler" class="fa fa-user-secret"></i>
<p id="game-over">Game Over!</p>
<div id="score-container">
<span id="score-label">Score:</span>
<span id="score">0</span>
</div>
<div id="time-container">
<span id="time-label">Time:</span>
<span id="time">30</span>
</div>
</div>
</div>
</body>
</html>