Patchy's Super Jump Game
About this app
A fun 3D game where Patchy from @officialpatchy on YouTube super jumps and goes on an adventure
Patchy's Super Jump Game Patchy's Super Jump Game Bonus Game Score: 0 Time Left: 15s
Related apps
Put this on your site
Source
<!DOCTYPE html>
<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>Patchy's Super Jump Game</title>
<meta name="description" content="A fun 3D game where Patchy from @officialpatchy on YouTube super jumps and goes on an adventure">
<meta name="keywords" content="game, 3D game, Patchy, super jump, adventure">
<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() {
var superJumpCharge = 0;
var maxSuperJumpCharge = 1000000000000000000000;
var isCharging = false;
var isJumping = false;
// Function to start charging the super jump
function startCharging() {
isCharging = true;
isJumping = false;
superJumpCharge = 0;
$(".super-jump-charge-bar").css("width", "0%");
$(".super-jump-charge-bar").removeClass("max-charge");
$(".super-jump-charge-bar").addClass("charging");
chargeSuperJump();
}
// Function to charge the super jump
function chargeSuperJump() {
var chargeInterval = setInterval(function() {
superJumpCharge += 1;
var chargePercentage = (superJumpCharge / maxSuperJumpCharge) * 100;
$(".super-jump-charge-bar").css("width", chargePercentage + "%");
if (superJumpCharge >= maxSuperJumpCharge) {
clearInterval(chargeInterval);
$(".super-jump-charge-bar").removeClass("charging");
$(".super-jump-charge-bar").addClass("max-charge");
}
}, 10);
}
// Function to stop charging the super jump
function stopCharging() {
isCharging = false;
if (!isJumping && superJumpCharge > 0) {
jump();
}
}
// Function to perform the super jump
function jump() {
isJumping = true;
var jumpStrength = superJumpCharge / 100;
var jumpHeight = jumpStrength * 300;
var jumpDuration = jumpHeight / 10;
$(".patchy").css("animation", "jump " + jumpDuration + "s");
$(".patchy").one("animationend", function() {
$(".patchy").css("animation", "");
skydive();
});
}
// Function to perform the skydive pose
function skydive() {
$(".patchy").css("animation", "skydive 2s");
$(".patchy").one("animationend", function() {
$(".patchy").css("animation", "");
createCrack();
});
}
// Function to create the crack and go to bonus game
function createCrack() {
var crackSize = superJumpCharge * 5;
$(".patchy").hide();
$(".crack").css("width", crackSize + "px");
$(".crack").css("height", crackSize + "px");
$(".crack").addClass("show");
$(".bonus-game").show();
}
// Function to attack in the bonus game
function attack() {
$(".worm").removeClass("worm-alive");
$(".worm").addClass("worm-dead");
$(".score").text("Score: 100");
}
// Function to reset the game
function resetGame() {
$(".patchy").show();
$(".crack").removeClass("show");
$(".worm").removeClass("worm-dead");
$(".worm").addClass("worm-alive");
$(".score").text("Score: 0");
$(".bonus-game").hide();
}
// Event listener for spacebar keydown event
$(document).on("keydown", function(event) {
if (event.keyCode === 32) {
if (!isCharging) {
startCharging();
}
}
});
// Event listener for spacebar keyup event
$(document).on("keyup", function(event) {
if (event.keyCode === 32) {
if (isCharging) {
stopCharging();
}
}
});
// Event listener for enter keypress event
$(document).on("keypress", function(event) {
if (event.keyCode === 13) {
if ($(".crack").hasClass("show")) {
resetGame();
}
}
});
// Event listener for X keypress event
$(document).on("keypress", function(event) {
if (event.keyCode === 120) {
attack();
}
});
// Timer for bonus game
var timer;
function startTimer() {
var timeLeft = 15;
timer = setInterval(function() {
timeLeft -= 1;
if (timeLeft < 0) {
clearInterval(timer);
resetGame();
} else {
$(".timer").text("Time Left: " + timeLeft + "s");
}
}, 1000);
}
startTimer();
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
<style>
/* App CSS Goes Here */
body {
background-color: #f5f5f5;
font-family: 'Roboto', sans-serif;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
.game-container {
position: relative;
height: 500px;
background-color: #ffffff;
border-radius: 10px;
overflow: hidden;
}
.patchy {
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 100px;
background-color: #ffcc00;
border-radius: 50%;
animation-duration: 0.5s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
.crack {
position: absolute;
bottom: 0;
left: 0;
transform: translateX(-50%);
width: 0;
height: 0;
background-color: transparent;
border: 2px solid #000000;
border-radius: 50%;
transition: width 0.5s, height 0.5s;
}
.crack.show {
width: 200px;
height: 200px;
}
.bonus-game {
display: none;
margin-top: 20px;
padding: 20px;
background-color: #ffffff;
border-radius: 10px;
}
.worm {
display: inline-block;
margin: 10px;
width: 50px;
height: 50px;
background-color: #00ff00;
border-radius: 50%;
transition: transform 0.2s;
}
.worm.worm-dead {
transform: scale(0);
}
.score {
margin-top: 10px;
font-size: 18px;
font-weight: bold;
}
.timer {
margin-top: 10px;
font-size: 18px;
font-weight: bold;
}
.super-jump-charge-bar-container {
margin-top: 20px;
height: 20px;
background-color: #e0e0e0;
border-radius: 10px;
overflow: hidden;
}
.super-jump-charge-bar {
height: 100%;
width: 0%;
background-color: #00bfff;
transition: width 0.1s;
}
.super-jump-charge-bar.charging {
transition: none;
}
.super-jump-charge-bar.max-charge {
background-color: #ff0000;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Patchy's Super Jump Game</h1>
<div class="game-container">
<div class="patchy"></div>
<div class="crack"></div>
</div>
<div class="bonus-game">
<h2>Bonus Game</h2>
<div class="worm worm-alive"></div>
<div class="worm worm-alive"></div>
<div class="worm worm-alive"></div>
<div class="worm worm-alive"></div>
<div class="worm worm-alive"></div>
<div class="score">Score: 0</div>
<div class="timer">Time Left: 15s</div>
</div>
<div class="super-jump-charge-bar-container">
<div class="super-jump-charge-bar"></div>
</div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!