From: Jason Woofenden Date: Mon, 4 Nov 2013 01:37:55 +0000 (-0500) Subject: Merge remote-tracking branch 'sbd/master' X-Git-Url: https://jasonwoof.com/gitweb/?p=hexbog.git;a=commitdiff_plain;h=6efb82ed2f52b2567a7e7c5d42ff0ea4c3b3a615;hp=923aac95deef59e3d70be18c06de82c63bbbf54b Merge remote-tracking branch 'sbd/master' --- diff --git a/main.coffee b/main.coffee index 00b7ae2..ce67983 100644 --- a/main.coffee +++ b/main.coffee @@ -293,11 +293,6 @@ unselect_all = -> _unselect_tile() update_selection_display() -shrink_selection = (leave_count) -> - while selected.length > leave_count - _unselect_tile() - update_selection_display() - selected_word = -> word = '' word += tiles[i].text for i in selected @@ -460,26 +455,18 @@ new_tile = (num, x, y) -> num = me.data 'tile_number' return if tiles[num].hp < 1 if num in selected - nth_of_word = selected.indexOf(num) - first = nth_of_word is 0 - last = nth_of_word is selected.length - 1 - - if first and last - unselect_all() # Clicking only selected letter unselects it - else if first and !last - shrink_selection 1 # Clicking start of word goes back to just that letter - # should this unselect all? - else if last + if selected.length > 2 and num is selected.last() activate_selection() else - shrink_selection nth_of_word + 1 - else # (not clicking on selected tile) - if selected.length is 0 - select_tile num - else - unless num in board_neighbors[selected.last()] + if selected.length > 1 unselect_all() - select_tile num + select_tile num + else + unselect_all() + else # (not clicking on selected tile) + if selected.length > 0 and not (num in board_neighbors[selected.last()]) + unselect_all() + select_tile num $board = null