1
0
Fork 0
spacetac/src/scripts/game/Battle.ts

44 lines
1.4 KiB
TypeScript
Raw Normal View History

2014-12-29 00:00:00 +00:00
module SpaceTac.Game {
// A turn-based battle between fleets
export class Battle {
// List of fleets engaged in battle
fleets: Fleet[];
// List of ships, sorted by their initiative throw
play_order: Ship[];
// Create a battle between two fleets
constructor(fleet1: Fleet, fleet2: Fleet) {
this.fleets = [fleet1, fleet2];
this.play_order = [];
}
// Create play order, performing an initiative throw
throwInitiative(gen: RandomGenerator) {
var play_order: Ship[] = [];
// Throw each ship's initiative
this.fleets.forEach(function(fleet){
fleet.ships.forEach(function(ship){
ship.throwInitiative(gen);
play_order.push(ship);
});
});
// Sort by throw result
play_order.sort(function(ship1: Ship, ship2: Ship) {
return (ship2.initative_throw - ship1.initative_throw);
});
this.play_order = play_order;
2014-12-29 00:00:00 +00:00
}
// Create a quick random battle, for testing purposes
static newQuickRandom(): Battle {
var player1 = Player.newQuickRandom();
var player2 = Player.newQuickRandom();
var result = new Battle(player1.fleet, player2.fleet);
return result;
}
}
}