JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Boobs !</title>
</head>
<body>
</body>
</html>
JavaScript
(function() {
var canvas = document.createElement('canvas');document.body.appendChild(canvas);var width = canvas.width = window.innerWidth, height = canvas.height = window.innerHeight, c = canvas.getContext('2d');var numBoobs = 2000;var gravity = 3;var boobs = [];var maxX = width;var minX = 0;var maxY = height;var minY = 0;var img = new Image();img.src = 'http://thyuchev.free.fr/boob.png';var boob;for (var i = 0;i < numBoobs;i++){boob = new Boob();boob.speedX = Math.random() * 10;boob.speedY = (Math.random() * 10) - 5;boobs.push(boob);}function render(){var boob;c.fillStyle='rgba(255, 255, 255, 1)'; c.fillRect(0,0, maxX, maxY); for (i=0;i<numBoobs;i++){boob = boobs[i];boob.x += boob.speedX;boob.y += boob.speedY;boob.speedY += gravity;if (boob.x > maxX){boob.speedX *= -1;boob.x = maxX;}else if (boob.x < minX){boob.speedX *= -1;boob.x = minX;}if (boob.y > maxY){boob.speedY *= -0.8;boob.y = maxY;if (Math.random() > 0.5){boob.speedY -= Math.random() * 12;}} else if (boob.y < minY){boob.speedY = 0;boob.y = minY;}c.drawImage(img, boob.x, boob.y); }}var loop = setInterval(function(){render();}, 1000/30);function Boob(){this.speedX = 0;this.speedY = 0;this.x = 0;this.y = 0;}
} ());