Skip to content

Commit a518342

Browse files
committed
Add autoclicker to generate points per second
1 parent 2dbfc3e commit a518342

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

src/App.js

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,35 @@ import { useState } from 'react';
33
function App() {
44
//app compoment
55
const [points, setPoints] = useState(0); //set initial points to 0
6+
const [pointsPerSecond, setPointsPerSecond] = useState(0);
67
const [clicks, setClicks] = useState(0); //set initial clicks pressed to 0
78
const [clickMultiplier, setClickMultiplier] = useState(1);
9+
useEffect(() => {
10+
const interval = setInterval(() => {
11+
//increase points every second
12+
setPoints(points + pointsPerSecond);
13+
}, 1000);
14+
return () => clearInterval(interval); //clear interval when component unmounts
15+
});
816
function addPointsFromClick() {
917
//add points from clicking a button
1018
setPoints(points + clickMultiplier); //increase points by 1 when button clicked
1119
setClicks(clicks + clickMultiplier); //increase clicks made by 1
1220
}
1321
function upgradeClicker() {
14-
//upgrade clicker
15-
if (points >= Math.pow(2, clickMultiplier)) {
22+
//upgrade clicker (points per click)
23+
if (points >= 10 * Math.pow(2, clickMultiplier - 1)) {
1624
setPoints(points - 10 * Math.pow(2, clickMultiplier - 1)); //spend points
1725
setClickMultiplier(clickMultiplier + 1); //increase click multiplier by 1
1826
}
1927
}
28+
function upgradePointsPerSecond() {
29+
//upgrade points per second
30+
if (points >= Math.pow(2, pointsPerSecond)) {
31+
setPoints(points - Math.pow(2, pointsPerSecond));
32+
setPointsPerSecond(pointsPerSecond + 1); //increase points per second
33+
}
34+
}
2035
return (
2136
//dynamic app HTML output
2237
<div className="App">
@@ -32,12 +47,18 @@ function App() {
3247
</p>
3348
{/*increase points from clicking a button*/}
3449
<button onClick={() => addPointsFromClick()}>Click to Add Points</button>
35-
{/*upgrade clicker button*/}
50+
{/*upgrade clicker (points per click)*/}
3651
<button onClick={() => upgradeClicker()}>
37-
Upgrade Clicker
52+
Upgrade Clicker (Points Per Click)
3853
<br />
3954
Cost: {10 * Math.pow(2, clickMultiplier - 1)}
4055
</button>
56+
{/*upgrade points per second*/}
57+
<button onClick={() => upgradePointsPerSecond()}>
58+
Upgrade Points Per Second
59+
<br />
60+
Cost: {10 * Math.pow(2, pointsPerSecond)}
61+
</button>
4162
</div>
4263
);
4364
}

0 commit comments

Comments
 (0)