-
Notifications
You must be signed in to change notification settings - Fork 0
/
sketch.js
56 lines (52 loc) · 1.42 KB
/
sketch.js
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
var pop_size = 30;
var paddles_sketch = [];
var prevPaddles = [];
var ball;
var flag = 0;
var count = 1;
function setup(){
createCanvas(600,400);
for (var i =pop_size-1;i>=0;i--) {
paddles_sketch[i] = new Paddle();
}
ball = new Ball(paddles_sketch,pop_size);
}
function draw(){
// console.log(paddles_sketch)
background(150);
if(paddles_sketch.length == 0 ){
var values;
values = newGeneration(prevPaddles, pop_size);
paddles_sketch = values[0];
ball = new Ball(paddles_sketch, pop_size);
prevPaddles=[];
}
else{
for (var i =paddles_sketch.length-1 ;i>=0; i--) {
if(ball.belowPaddle(paddles_sketch[i])){
prevPaddles.push(paddles_sketch.splice(i,1)[0]);
}
else{
tf.tidy(() => {
paddles_sketch[i].think(ball);
});
paddles_sketch[i].update();
}
}
for (var i in paddles_sketch) {
if(ball.hit_flag == 1 && paddles_sketch.fitness+paddles_sketch.score < 1)
{
console.log('occured');
prevPaddles.push(paddles_sketch.splice(i,1)[0]);
}
}
ball.update();
ball.show();
if(paddles_sketch.length > 0)
{
for (var i in paddles_sketch) {
paddles_sketch[i].show();
}
}
}
}