fix boat distance wrapping bug

This commit is contained in:
evanpelle
2024-09-02 16:53:49 -07:00
parent 523552bc44
commit 37b91df2b8
3 changed files with 11 additions and 6 deletions
-3
View File
@@ -180,9 +180,6 @@ export class ClientGame {
}
private inputEvent(event: MouseDownEvent) {
// if (this.turns.length < this.config.turnsUntilGameStart()) {
// return
// }
if (!this.isActive) {
return
}
+3 -3
View File
@@ -138,14 +138,14 @@ export class BoatAttackExecution implements Execution {
}
private closestShoreTileToTarget(player: Player, target: Cell): Tile | null {
const shoreTiles = Array.from(player.borderTiles()).filter(t => t.onShore() && t.neighbors().filter(n => n.isOcean()).length > 0)
const shoreTiles = Array.from(player.borderTiles()).filter(t => t.isOceanShore())
if (shoreTiles.length == 0) {
return null
}
return shoreTiles.reduce((closest, current) => {
const closestDistance = manhattanDist(target, closest.cell());
const currentDistance = manhattanDist(target, current.cell());
const closestDistance = manhattanDistWrapped(target, closest.cell(), this.mg.width());
const currentDistance = manhattanDistWrapped(target, current.cell(), this.mg.width());
return currentDistance < closestDistance ? current : closest;
});
}