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 + } } /**