Park International School and College
February 06, 2019
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="SilentClown Est 2k18 ">
<meta name="theme-color" content="black">
<meta charset="utf-8">
<title>PWNEEED!</title>
<style media="screen">
@import url(http://fonts.googleapis.com/css?family=Electrolize);
html {
background-color: black;
text-align: center;
}
gans {
position: absolute;
top: 33%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-family: Electrolize;
font-size: 28px;
text-shadow: 0px 0px 2px purple, 0px 0px 5px purple, 0px 0px 10px purple, 0px 0px 15px purple;
}
up {
color: white;
font-family: Courier new;
font-size: 20px;
text-shadow: 1px 1px 5px cyan, 0px 0px 8px cyan;
}
</style>
</head>
<body>
<gans><br><br><br><i>Touched by "Developer_KamiKaze feat LOCALHOST@syntaa" </font><br><font color="aqua">A-B-C-D-<font color ="gold">E-F = FUCKYOU<br>
<up><marquee>SilentClown : LOCALHOST@Synta_ - UnM@SK - Mr Onion - ./F4UZ4N - IdiotPeople - irvn</marquee>
<br>wr00tz</br>
<marquee direction="right">and you | N45T4R_ID | Mr.R007 | Mr.Donut's | Deskopt77N3T | C0RT3X | LoliSecID | XalVador | xRyukz | ALM0SHTEV!L | L7NET | 6hosthere502 | MR.IX | K4HH | Mr.Dencrafty | ./F4K3-5YST3M | TehSosro404 | GHz7 </marquee></up>
</gans>
<canvas id="usa"></canvas>
<script>
'use strict'
const PI2 = Math.PI * 2
let random = (min, max) => Math.random() * (max - min + 1) + min | 0
class Merica {
constructor() {
this.resize()
this.fireworks = []
this.counter = 0
}
resize() {
this.width = canvas.width = window.innerWidth
let center = this.width / 2 | 0
this.spawnA = center - center / 4 | 0
this.spawnB = center + center / 4 | 0
this.height = canvas.height = window.innerHeight
this.spawnC = this.height * .1
this.spawnD = this.height * .5
}
onClick(evt) {
let x = evt.clientX || evt.touches && evt.touches[0].pageX
let y = evt.clientY || evt.touches && evt.touches[0].pageY
let count = random(3, 5)
for (let i = 0; i < count; i++) this.fireworks.push(new Firework(
random(this.spawnA, this.spawnB),
this.height,
x,
y,
random(300, 400),
random(30, 100)))
this.counter = -30
}
update() {
ctx.globalCompositeOperation = 'hard-light'
ctx.fillStyle = 'rgba(20,20,20,0.15)'
ctx.fillRect(0, 0, this.width, this.height)
ctx.globalCompositeOperation = 'lighter'
for (let firework of this.fireworks) firework.update()
if (++this.counter === 15) {
this.fireworks.push(new Firework(
random(this.spawnA, this.spawnB),
this.height,
random(0, this.width),
random(this.spawnC, this.spawnD),
random(300, 450),
random(30, 110)))
this.counter = 0
}
if (this.fireworks.length > 1000) this.fireworks = this.fireworks.filter((firework) => !firework.dead)
}
}
class Firework {
constructor(x, y, targetX, targetY, shade, offsprings) {
this.dead = false
this.offsprings = offsprings
this.x = x
this.y = y
this.targetX = targetX
this.targetY = targetY
this.shade = shade
this.history = []
}
update() {
if (this.dead) return;
let xDiff = this.targetX - this.x
let yDiff = this.targetY - this.y
if (Math.abs(xDiff) > 3 || Math.abs(yDiff) > 3) {
this.x += xDiff / 20
this.y += yDiff / 20
this.history.push({
x: this.x,
y: this.y
})
if (this.history.length > 20) this.history.shift()
} else {
if (this.offsprings && !this.madeChilds) {
let start = this.offsprings / 2;
for (let i = 0; i < start; i++) {
let targetX = this.x + this.offsprings * Math.cos(PI2 * i / start) | 0
let targetY = this.y + this.offsprings * Math.sin(PI2 * i / start) | 0
usa.fireworks.push(new Firework(this.x, this.y, targetX, targetY, this.shade, 0))
}
}
this.madeChilds = true
this.history.shift()
}
if (this.history.length === 0) this.dead = true
else if (this.offsprings)
for (let i = 0; this.history.length > i; i++) {
let point = this.history[i]
ctx.beginPath()
ctx.fillStyle = 'hsl(' + this.shade + ',100%,' + i + '%)'
ctx.arc(point.x, point.y, 1, 0, PI2, false)
ctx.fill()
}
else {
ctx.beginPath()
ctx.fillStyle = 'hsl(' + this.shade + ',100%,50%)'
ctx.arc(this.x, this.y, 1, 0, PI2, false)
ctx.fill()
}
}
}
let canvas = document.getElementById('usa')
let ctx = canvas.getContext('2d')
let usa = new Merica
window.onresize = () => usa.resize()
document.onclick = (evt) => usa.onClick(evt)
document.ontouchstart = (evt) => usa.onClick(evt)
;
(function update() {
requestAnimationFrame(update)
usa.update()
}())
</script>
</body>
</html>