Bullet Madness
beta testing stage
by Tsskyx
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.6/p5.min.js"></script>
JavaScript
function drawTank(x,y,angle,radius,color,barrels,bodyType) {
ctx.save();
ctx.translate(x,y);
ctx.rotate(degToRad(angle));
ctx.scale(radius/48,radius/48);
ctx.lineJoin = "round";
ctx.strokeStyle = "#555555";
ctx.fillStyle = "#999999";
ctx.lineWidth = 4/(radius/48);
for (i = 0; i < barrels.length; i++) {
if (barrels[i].barrelType == 0) {
ctx.save();
ctx.rotate(degToRad(barrels[i].angle));
ctx.fillRect(0,(48-barrels[i].width)-48+barrels[i].offsetX,barrels[i].length*2,barrels[i].width*2);
ctx.strokeRect(0,(48-barrels[i].width)-48+barrels[i].offsetX,barrels[i].length*2,barrels[i].width*2);
ctx.restore();
};
if (barrels[i].barrelType == 1) {
ctx.save();
ctx.rotate(degToRad(barrels[i].angle));
ctx.beginPath();
ctx.moveTo(0,((-1*barrels[i].width)/2)+barrels[i].offsetX);
ctx.lineTo(barrels[i].length*2,((-1*barrels[i].width*2)/2)+barrels[i].offsetX);
ctx.lineTo(barrels[i].length*2,((barrels[i].width*2)/2)+barrels[i].offsetX);
ctx.lineTo(0,((barrels[i].width)/2)+barrels[i].offsetX);
ctx.lineTo(0,((-1*barrels[i].width)/2)+barrels[i].offsetX);
ctx.fill();
ctx.stroke();
ctx.closePath();
ctx.restore();
};
};
ctx.rotate(0);
ctx.lineWidth = 4/(radius/48);
if (bodyType == 0) {
ctx.beginPath();
ctx.arc(48-48,48-48,48,0,2*Math.PI);
ctx.fillStyle = color;
ctx.fill();
ctx.stroke();
ctx.closePath();
ctx.fillStyle = "#000000";
};
if (bodyType == 1) {
ctx.fillStyle = color;
ctx.fillRect(-1*radius*2,-1*radius*2,radius*4,radius*4);
ctx.strokeRect(-1*radius*2,-1*radius*2,radius*4,radius*4);
};
ctx.restore();
var barr = [{barrelType:0,width:19,length:48,angle:0,offsetX:0}];
drawTank(100,100,45,32,"#55ff55",barr,0);
}