53 lines
2.2 KiB
JavaScript
53 lines
2.2 KiB
JavaScript
import { MapaVisor,MapaEditor, MapaAtaque } from './mapa.js';
|
|
class TableroBase {
|
|
constructor(canvasMapa, canvasMiniMapa,sprites){
|
|
this.canvasMapa = canvasMapa;
|
|
this.canvasMiniMapa = canvasMiniMapa;
|
|
this.sprites = sprites;
|
|
}
|
|
}
|
|
class TableroEditor extends TableroBase{
|
|
constructor(canvasMapa, canvasMiniMapa,sprites, [mapaFlota, mapaAtaques] ){
|
|
super(canvasMapa, canvasMiniMapa,sprites)
|
|
const { barcos: barcosMapaFlota, celdas: celdasMapaFlota } = mapaFlota;
|
|
const { barcos: barcosMapaAtaques, celdas: celdasMapaAtaques } = mapaAtaques;
|
|
this.mapaFlota = new MapaEditor(canvasMapa, 640, 1,sprites,barcosMapaFlota,celdasMapaFlota);
|
|
this.mapaDeAtaques = new MapaVisor(canvasMiniMapa, 320, 0.5, sprites,barcosMapaAtaques,celdasMapaAtaques);
|
|
}
|
|
draw() {
|
|
this.mapaFlota.draw();
|
|
this.mapaDeAtaques.draw();
|
|
}
|
|
}
|
|
|
|
class TableroVisor extends TableroBase{
|
|
constructor(canvasMapa, canvasMiniMapa,sprites, [mapaFlota, mapaAtaques] ){
|
|
super(canvasMapa, canvasMiniMapa,sprites)
|
|
const { barcos: barcosMapaFlota, celdas: celdasMapaFlota } = mapaFlota;
|
|
const { barcos: barcosMapaAtaques, celdas: celdasMapaAtaques } = mapaAtaques;
|
|
this.mapaFlota = new MapaVisor(canvasMiniMapa, 320, 0.5,sprites,barcosMapaFlota,celdasMapaFlota);
|
|
this.mapaDeAtaques = new MapaVisor(canvasMapa, 640, 1, sprites,barcosMapaAtaques,celdasMapaAtaques);
|
|
}
|
|
draw() {
|
|
this.mapaFlota.draw();
|
|
this.mapaDeAtaques.draw();
|
|
}
|
|
}
|
|
|
|
class TableroAtaque extends TableroBase{
|
|
constructor(canvasMapa, canvasMiniMapa,sprites, [mapaFlota, mapaAtaques] ){
|
|
super(canvasMapa, canvasMiniMapa,sprites)
|
|
const { barcos: barcosMapaFlota, celdas: celdasMapaFlota } = mapaFlota;
|
|
const { barcos: barcosMapaAtaques, celdas: celdasMapaAtaques } = mapaAtaques;
|
|
this.mapaFlota = new MapaVisor(canvasMiniMapa, 320, 0.5,sprites,barcosMapaFlota,celdasMapaFlota);
|
|
this.mapaDeAtaques = new MapaAtaque(canvasMapa, 640, 1, sprites,barcosMapaAtaques,celdasMapaAtaques);
|
|
}
|
|
draw() {
|
|
this.mapaFlota.draw();
|
|
this.mapaDeAtaques.draw();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export {TableroBase,TableroEditor,TableroVisor} |