// . O 〇 o #=# <- space station
// → ← → ←
//
// mass 1 5 7 3
// direction 1 -1 1 +1
//
// answer: 1
// . o O 〇 #=#
// → → → ←
//
// mass 1 3 5 7
// direction 1 1 1 -1
//
// answer: 0
// O . o #=#
// → → ←
//
// mass 5 1 4
// direction 1 1 -1
//
// answer: 1
// . O o #=#
// → → ←
//
// mass 1 5 4
// direction 1 1 -1
//
// answer: 2
function Asteroid(mass, direction) {
this.mass = mass;
this.direction = direction;
}
function countHits(asteroids) {
return 0; // TODO
}
var case1 = [
new Asteroid(1, 1),
new Asteroid(5, -1),
new Asteroid(7, 1),
new Asteroid(3, -1),
];
var case2 = [
new Asteroid(1, 1),
new Asteroid(3, 1),
new Asteroid(5, 1),
new Asteroid(7, -1),
];
var case3 = [
new Asteroid(5, 1),
new Asteroid(1, 1),
new Asteroid(4, -1),
];
var case4 = [
new Asteroid(1, 1),
new Asteroid(5, 1),
new Asteroid(4, -1),
];
function testCase(caseNum, asteroids, expected) {
var actual = countHits(asteroids);
var output = 'Case ' + caseNum + ': ';
if (actual == expected) {
output += 'PASSED';
} else {
output += 'FAILED; got ' + actual + ' expected ' + expected;
}
console.log(output);
}
testCase(1, case1, 1);
testCase(2, case2, 0);
testCase(3, case3, 1);
testCase(4, case4, 2);