-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
120 lines (90 loc) · 3.08 KB
/
script.js
File metadata and controls
120 lines (90 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
let seeds = 0;
let hyperclickCount = 0;
let hyperclickTimeout;
let clickTimestamps = [];
let detectionThreshold = 50;
let intervalThreshold = 200;
function detectAutoclicker() {
if (clickTimestamps.length >= detectionThreshold) {
let intervals = [];
for (let i = 1; i < clickTimestamps.length; i++) {
intervals.push(clickTimestamps[i] - clickTimestamps[i - 1]);
}
let sumOfIntervals = intervals.reduce((acc, val) => acc + val, 0);
let averageInterval = sumOfIntervals / intervals.length;
clickTimestamps = [];
if (averageInterval < intervalThreshold) {
increment = function(){}
disableClicking();
}
}
}
function disableClicking() {
const subtextElement = document.getElementById('subtext');
const hyperclickElement = document.getElementById('hyperclick');
const jarElement = document.getElementById('jar');
subtextElement.classList.add('fade-in');
subtextElement.innerText = "it isnt fun when you cheat"
jarElement.style.transform = 'translateY(-999999px)';
clearTimeout(hyperclickTimeout);
hyperclickElement.innerText = "respect sggzhs"
seeds = 0
}
function increment() {
const currentTime = Date.now();
clickTimestamps.push(currentTime);
detectAutoclicker();
const counterElement = document.getElementById('counter');
if (seeds === 0) {
const subtextElement = document.getElementById('subtext');
const textElement = document.getElementById('text');
subtextElement.classList.add('fade-out');
textElement.classList.add('fade-out');
}
const likeElement = document.createElement('div');
if (hyperclickCount > 0) {
likeElement.textContent = "+" + (hyperclickCount + 1);
seeds = seeds + (hyperclickCount + 1);
} else {
likeElement.textContent = "+1";
seeds++;
}
counterElement.textContent = `seeds: ${seeds}`;
likeElement.className = 'like-pop';
likeElement.style.cursor = 'pointer';
document.body.appendChild(likeElement);
const jarElement = document.getElementById('jar');
const jarRect = jarElement.getBoundingClientRect();
const randomX = Math.random() * jarRect.width + jarRect.left;
const randomY = Math.random() * jarRect.height + jarRect.top;
likeElement.style.left = `${randomX}px`;
likeElement.style.top = `${randomY}px`;
likeElement.addEventListener('click', () => {
hyperclickCount++;
clearTimeout(hyperclickTimeout);
hyperclick();
});
setTimeout(() => document.body.removeChild(likeElement), 1000);
jarElement.classList.add('pop');
setTimeout(() => jarElement.classList.remove('pop'), 100);
}
function hyperclick() {
const hyperclickElement = document.getElementById("hyperclick");
if (hyperclickCount > 1) {
hyperclickElement.innerText = "hyperclicks: " + hyperclickCount;
}
hyperclickTimeout = setTimeout(() => {
hyperclickCount = 0;
hyperclickElement.innerText = "hyperclicks: 0";
}, 1000);
}
function main() {
const jarElement = document.getElementById('jar');
jarElement.addEventListener('click', increment);
jarElement.style.cursor = 'pointer';
const subtextElement = document.getElementById('subtext');
subtextElement.textContent = 'click the bucket!!';
}
window.addEventListener('load', function() {
main()
});