Skip to content

Commit 83d9864

Browse files
committed
detect surpassed scores
1 parent b6656b5 commit 83d9864

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

source/javascripts/_js.coffee

+14-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
class Game
22
total_score: 0
33
players: new Array
4+
score_history: new Array
45

56
new_player: (container) ->
67
@players.push(new Player(container))
@@ -9,11 +10,16 @@ class Game
910
@total_score % 5 == 0 and @total_score > 0
1011

1112
is_surpassed: ->
12-
false
13+
most_recent_three = @score_history[-3..]
14+
15+
return @score_history.length >= 3 and
16+
Math.abs(@players[0].score - @players[1].score) == 1 and
17+
most_recent_three[0].container == most_recent_three[1].container and
18+
most_recent_three[1].container == most_recent_three[2].container
1319

1420
sorted_scores: ->
1521
scores = new Array
16-
scores.push player.score for player in @players
22+
scores.push(player.score for player in @players)
1723
scores.sort (a, b) ->
1824
a - b
1925
.reverse()
@@ -32,10 +38,7 @@ class Game
3238
$(@).removeClass('active')
3339

3440
surpassed_message: ->
35-
$surpassed = $('.surpassed')
36-
$surpassed.find('audio').get(0).play()
37-
$surpassed.addClass('active').on 'touchend', ->
38-
$(@).removeClass('active')
41+
$('.surpassed').find('audio').get(0).play()
3942

4043
win_message: ->
4144
$win_message = $('.win_message')
@@ -44,15 +47,18 @@ class Game
4447
window.location.reload()
4548

4649
increment: (player, amount = 1) ->
47-
@total_score = @total_score + amount
4850
player.increment(amount)
51+
@total_score = @total_score + amount
52+
@score_history.push
53+
'player': player.container
54+
'score': player.score
4955
this
5056

5157
render: (player) ->
58+
player.render()
5259
this.next_server_message() if this.is_next_server()
5360
this.surpassed_message() if this.is_surpassed()
5461
this.win_message() if this.is_game_won()
55-
player.render()
5662

5763
class Player extends Game
5864
score: 0

0 commit comments

Comments
 (0)