Neale Pickett
·
2024-11-05
designer.js
1var canvas;
2var ctx;
3var tank;
4
5function min(a, b) {
6 if (a < b) {
7 return a;
8 } else {
9 return b;
10 }
11}
12
13function deg2rad(angle) {
14 return angle*Math.PI/180;
15}
16
17function update() {
18 var color = document.getElementsByName('color')[0].value;
19 var sensors = new Array();
20
21 for (i = 0; i < 10; i += 1) {
22 var range = document.getElementsByName('s'+i+'r')[0].value;
23 var angle = document.getElementsByName('s'+i+'a')[0].value;
24 var width = document.getElementsByName('s'+i+'w')[0].value;
25 var turret = document.getElementsByName('s'+i+'t')[0].checked;
26
27 sensors[i] = [min(range, 100),
28 deg2rad(angle % 360),
29 deg2rad(width % 360),
30 turret];
31 }
32
33 tank = new Tank(ctx, 200, 200, color, sensors);
34}
35
36function design() {
37 var frame = 0;
38 var loop_id;
39
40 canvas = document.getElementById('design');
41 ctx = canvas.getContext('2d');
42
43 canvas.width = 200;
44 canvas.height = 200;
45
46 tank = new Tank(ctx, 200, 200, "#c0c0c0", []);
47
48 function update() {
49 var turret = frame * Math.PI / 90;
50
51 frame += 1;
52 canvas.width = canvas.width;
53 tank.set_state(100, 100, Math.PI * 1.5, turret, 0, 0);
54 tank.draw_sensors();
55 tank.draw_tank();
56 }
57
58 loop_id = setInterval(update, 66);
59}