diff --git a/src/components/ScoreBoard.component.js b/src/components/ScoreBoard.component.js
index 4532847..b584179 100644
--- a/src/components/ScoreBoard.component.js
+++ b/src/components/ScoreBoard.component.js
@@ -15,14 +15,14 @@ const template = `
progress |
- player_1 |
+ Player 1 |
{{player_one_score}} |
- {{player_one_progress}} |
+ {{player_one_progress * 100}}% |
- player_2 |
- {{player_one_score}} |
- {{player_two_progress}} |
+ Player 2 |
+ {{player_two_score}} |
+ {{player_two_progress * 100}}% |
diff --git a/src/services/GameState.service.js b/src/services/GameState.service.js
index 9058142..60f4e11 100644
--- a/src/services/GameState.service.js
+++ b/src/services/GameState.service.js
@@ -210,21 +210,16 @@ export class GameStateService {
* @private
*/
get_player_score(player) {
- let i = 1;
- let j = 1;
- let score = 0;
- for(i; i<=8; i++)
- {
- for(j; j<=8; j++)
- {
- let cell = this.player_x_game_board[this.get_other_player(player)][i][j];
- if(cell.render === GridCellState.Damaged || cell.render === GridCellState.Sunk )
- {
- score++;
+ let score = 0
+ this.player_x_game_board[player].some(row => {
+ row.some(cell => {
+ if ( cell.render === GridCellState.Damaged || cell.render === GridCellState.Sunk ) {
+ score += 1
}
- }
- }
- return(score);
+ })
+ })
+
+ return score
}
/**
@@ -234,21 +229,16 @@ export class GameStateService {
* @private
*/
get_boat_count(player){
- let i = 1;
- let j = 1;
- let boat_count = 0;
- for(i; i<=8; i++)
- {
- for(j; j<=8; j++)
- {
- let cell = this.player_x_game_board[this.get_other_player(player)][i][j];
- if(cell.render === GridCellState.Damaged || cell.render === GridCellState.Sunk || cell.render === GridCellState.Ship )
- {
- boat_count++;
+ let boat_count = 0
+ this.player_x_game_board[player].some(row => {
+ row.some(cell => {
+ if ( isShipCell(cell.render) ) {
+ boat_count += 1
}
- }
- }
- return(boat_count);
+ })
+ })
+
+ return boat_count
}
/**
@@ -257,7 +247,12 @@ export class GameStateService {
* @private
*/
get_progress(player){
- return(this.get_player_score(player) / this.get_boat_count(player))
+ const boat_count = this.get_boat_count(player)
+ if ( boat_count !== 0 ) {
+ return (this.get_player_score(player) / boat_count).toFixed(2)
+ } else {
+ return 0
+ }
}
/**