Skip to content

Commit 07fe2be

Browse files
final?
1 parent 2741303 commit 07fe2be

File tree

3 files changed

+51
-57
lines changed

3 files changed

+51
-57
lines changed

JS/MainLoop.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,14 @@ function mainLoop(particlesLeft, particlesRight, translation) {
5050
});
5151

5252
$('#tempRight').html(average(rightTemps));
53+
54+
if(!allowCrossOver){
55+
c.beginPath()
56+
c.fillStyle = barrierColor;
57+
c.rect(c.canvas.width/2.1, 0, (0.1*c.canvas.width)/2.1, c.canvas.height)
58+
c.fill()
59+
c.closePath()
60+
}
5361
}
5462

5563
function average(array) {

JS/Start.js

Lines changed: 36 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,54 @@
1-
//constants
1+
//user settings
22
const fps = 30;
33

4-
//settings
5-
var backgroundColor = '#000000';
6-
var particleColor = '#00ff00';
7-
var particleRadius = 0.5;
8-
var canvasRatio = 2.1;
9-
var isFriction = false;
10-
var allowCrossOver = false
11-
124
//left side
13-
var initTempLeft = 40;
14-
var particleMassLeft = 2;
5+
var initTempLeft = 20;
6+
var particleMassLeft = 1;
157
var numberOfParticlesLeft = 100;
168

179
//right side
18-
var initTempRight = 80;
19-
var particleMassRight = 8;
10+
var initTempRight = 10;
11+
var particleMassRight = 1;
2012
var numberOfParticlesRight = 200;
2113

14+
/*
15+
16+
DO NOT GO PASS THIS POINT IF YOU DONT KNOW WHAT YOU ARE DOING
17+
18+
*/
19+
20+
//settings
21+
var backgroundColor = '#BFBFBF';
22+
var particleColor = '#453FC0';
23+
var barrierColor = '#ff0000';
24+
var particleRadius = 0.5;
25+
var canvasRatio = 2.1;
26+
var isFriction = false;
27+
var allowCrossOver = false
28+
2229
//global vars
2330
var ctx;
31+
var gameLoop;
2432
var mouse;
2533

26-
$(function () {
27-
var particlesLeft = [];
28-
var particlesRight = [];
34+
$(function(){
2935
var canvas = document.getElementById('mainCanvas');
3036
var c = canvas.getContext('2d');
3137
ctx = c;
32-
3338
printInputs();
39+
init(c);
3440
refreshSize();
35-
initClickHandler();
41+
});
42+
43+
function resetLoop(){
44+
clearInterval(gameLoop)
45+
init(ctx);
46+
}
3647

48+
function init(c) {
49+
var particlesLeft = [];
50+
var particlesRight = [];
51+
3752
//premake particle obj
3853
for (let i = 0; i < numberOfParticlesLeft; i++) {
3954
let initForce = new Point(0, 0);
@@ -60,8 +75,8 @@ $(function () {
6075
//initArrowKeys();
6176

6277
//start loop
63-
setInterval(makeMainLoop(particlesLeft, particlesRight, 110), 1000 / fps);
64-
});
78+
gameLoop = setInterval(makeMainLoop(particlesLeft, particlesRight, 110), 1000 / fps);
79+
}
6580
window.onresize = refreshSize;
6681

6782
function makeParticle(initPoint, radius, mass, initForce, list) {
@@ -131,43 +146,7 @@ function printInputs() {
131146

132147
});
133148
}
134-
/*function initArrowKeys(){
135-
var arrowUp = new Key('ArrowUp');
136-
arrowUp.onPress = function(){
137-
var force = new Point(0, -arrowKeyForce);
138-
projectiles[0].applyForce(force);
139-
makeProjectedParticle(force)
140-
}
141-
142-
var arrowDown = new Key('ArrowDown');
143-
arrowDown.onPress = function(){
144-
var force = new Point(0, arrowKeyForce);
145-
projectiles[0].applyForce(force);
146-
makeProjectedParticle(force)
147-
}
148-
149-
var arrowLeft = new Key('ArrowLeft');
150-
arrowLeft.onPress = function(){
151-
var force = new Point(-arrowKeyForce, 0);
152-
projectiles[0].applyForce(force);
153-
makeProjectedParticle(force)
154-
}
155-
156-
var arrowRight = new Key('ArrowRight');
157-
arrowRight.onPress = function(){
158-
var force = new Point(arrowKeyForce, 0);
159-
projectiles[0].applyForce(force);
160-
makeProjectedParticle(force)
161-
}
162-
163-
function makeProjectedParticle(force){
164-
var initPoint = new Point(projectiles[0].x, projectiles[0].y);
165-
var initForce = new Point(-force.x, -force.y);
166-
var radius = Math.abs(initForce.r);
167-
var mass = radius;
168-
makeParticle(initPoint, radius, mass, initForce);
169-
}
170-
}*/
149+
171150
function refreshSize() {
172151
if (window.innerWidth < window.innerHeight) {
173152
ctx.canvas.width = window.innerWidth;

index.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,14 @@
2929
TempRight:<span class='temp' id='tempRight'></span><br/>
3030
<span class='setting' type='color' var='particleColor'></span><br/>
3131
<span class='setting' type='color' var='backgroundColor'></span><br/>
32+
<span class='setting' type='color' var='barrierColor'></span><br/>
3233
<span class='setting' type='checkbox' var='allowCrossOver'></span><br/>
34+
<hr/>
35+
<span class='setting' type='range' var='initTempLeft' max='30' min='5'></span><br/>
36+
<span class='setting' type='range' var='initTempRight' max='30' min='5'></span><br/>
37+
<span class='setting' type='range' var='numberOfParticlesLeft' max='200' min='50'></span><br/>
38+
<span class='setting' type='range' var='numberOfParticlesRight' max='200' min='50'></span><br/>
39+
<button onclick="resetLoop()">Reset</button>
3340
</div>
3441
</body>
3542
</html>

0 commit comments

Comments
 (0)