mirror of
https://github.com/coding-horror/basic-computer-games.git
synced 2026-01-16 15:03:50 -08:00
Improve computer shot tracking/selection
This commit is contained in:
@@ -14,5 +14,4 @@ internal sealed class Battleship : Ship
|
||||
|
||||
internal override int Shots => 3;
|
||||
internal override int Size => 5;
|
||||
internal override float Value => 3;
|
||||
}
|
||||
|
||||
@@ -14,5 +14,4 @@ internal sealed class Cruiser : Ship
|
||||
|
||||
internal override int Shots => 2;
|
||||
internal override int Size => 3;
|
||||
internal override float Value => 2;
|
||||
}
|
||||
|
||||
@@ -14,5 +14,4 @@ internal sealed class Destroyer : Ship
|
||||
|
||||
internal override int Shots => 1;
|
||||
internal override int Size => 2;
|
||||
internal override float Value => Name.EndsWith("<A>") ? 1 : 0.5F;
|
||||
}
|
||||
|
||||
@@ -24,8 +24,7 @@ internal abstract class Ship
|
||||
internal string Name { get; }
|
||||
internal abstract int Shots { get; }
|
||||
internal abstract int Size { get; }
|
||||
internal abstract float Value { get; }
|
||||
internal IEnumerable<Position> Positions => _positions;
|
||||
internal bool IsDamaged => _positions.Count > 0 && _positions.Count < Size;
|
||||
internal bool IsDestroyed => _positions.Count == 0;
|
||||
|
||||
internal bool IsHit(Position position) => _positions.Remove(position);
|
||||
|
||||
Reference in New Issue
Block a user