mirror of https://github.com/dirtbags/moth.git
Tanks wrap sensors
This commit is contained in:
parent
988c39d403
commit
2d023d167f
|
@ -185,10 +185,10 @@ class Pflanzarr:
|
||||||
|
|
||||||
links='''<h3>Tanks</h3>
|
links='''<h3>Tanks</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="docs.html">Docs</a></li>
|
<li><a href="../docs.html">Docs</a></li>
|
||||||
<li><a href="results.cgi">Results</a></li>
|
<li><a href="../results.cgi">Results</a></li>
|
||||||
<li><a href="submit.html">Submit</a></li>
|
<li><a href="../submit.html">Submit</a></li>
|
||||||
<li><a href="errors.cgi">My Errors</a></li>
|
<li><a href="../errors.cgi">My Errors</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ function torgba(color, alpha) {
|
||||||
return "rgba(" + r + "," + g + "," + b + "," + alpha + ")";
|
return "rgba(" + r + "," + g + "," + b + "," + alpha + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
function Tank(ctx, color, sensors) {
|
function Tank(ctx, width, height, color, sensors) {
|
||||||
var craterStroke = torgba(color, 0.5);
|
var craterStroke = torgba(color, 0.5);
|
||||||
var craterFill = torgba(color, 0.2);
|
var craterFill = torgba(color, 0.2);
|
||||||
var sensorStroke = torgba(color, 0.4);
|
var sensorStroke = torgba(color, 0.4);
|
||||||
|
@ -121,6 +121,23 @@ function Tank(ctx, color, sensors) {
|
||||||
|
|
||||||
ctx.restore();
|
ctx.restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.draw_wrap_sensors = function() {
|
||||||
|
var orig_x = this.x;
|
||||||
|
var orig_y = this.y;
|
||||||
|
for (x = this.x - width; x < width + maxlen; x += width) {
|
||||||
|
for (y = this.y - height; y < height + maxlen; y += height) {
|
||||||
|
if ((-maxlen < x) && (x < width + maxlen) &&
|
||||||
|
(-maxlen < y) && (y < height + maxlen)) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.draw_sensors();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.x = orig_x;
|
||||||
|
this.y = orig_y;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function start(game) {
|
function start(game) {
|
||||||
|
@ -137,7 +154,7 @@ function start(game) {
|
||||||
var tanks = new Array();
|
var tanks = new Array();
|
||||||
for (i in game[2]) {
|
for (i in game[2]) {
|
||||||
var desc = game[2][i];
|
var desc = game[2][i];
|
||||||
tanks[i] = new Tank(ctx, desc[0], desc[1]);
|
tanks[i] = new Tank(ctx, game[0], game[1], desc[0], desc[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
var frame = 0;
|
var frame = 0;
|
||||||
|
@ -174,7 +191,7 @@ function start(game) {
|
||||||
if (t) {
|
if (t) {
|
||||||
// Surely there's a better way to do this.
|
// Surely there's a better way to do this.
|
||||||
tanks[i].set_state(t[0], t[1], t[2], t[3], t[4], t[5]);
|
tanks[i].set_state(t[0], t[1], t[2], t[3], t[4], t[5]);
|
||||||
tanks[i].draw_sensors();
|
tanks[i].draw_wrap_sensors();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Then tanks
|
// Then tanks
|
||||||
|
|
Loading…
Reference in New Issue