Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
hexbog.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5f11863
)
merge game state arrays into good structures
author
Jason Woofenden
<jason@jasonwoof.com>
Tue, 29 Oct 2013 19:50:23 +0000
(15:50 -0400)
committer
Jason Woofenden
<jason@jasonwoof.com>
Tue, 29 Oct 2013 19:50:23 +0000
(15:50 -0400)
main.coffee
patch
|
blob
|
history
diff --git
a/main.coffee
b/main.coffee
index
015ce7c
..
1526690
100644
(file)
--- a/
main.coffee
+++ b/
main.coffee
@@
-78,7
+78,7
@@
board_cols = board_col_heights.length
board_tiles = board_col_heights.sum()
board_col_top_px = []
score = 0
board_tiles = board_col_heights.sum()
board_col_top_px = []
score = 0
-board = new Array(board_tiles) # letters ("Qu" or single letter)
+tiles = new Array(board_tiles)
board_neighbors = [] # array of tile numbers "next to" this one
tile_top_px = [] # array of pixel coordinates for top of column
board_left_px = [] # array of pixel coordinates for left of column
board_neighbors = [] # array of tile numbers "next to" this one
tile_top_px = [] # array of pixel coordinates for top of column
board_left_px = [] # array of pixel coordinates for left of column
@@
-272,8
+272,8
@@
update_selection_display = ->
else
c = 1
for num in selected
else
c = 1
for num in selected
- html_tiles[num].addClass classes[c]
- html_tiles[num].removeClass classes[1 - c]
+ tiles[num].dom.addClass classes[c]
+ tiles[num].dom.removeClass classes[1 - c]
# unselects the last tile of the selecetion
unselect_tile = ->
# unselects the last tile of the selecetion
unselect_tile = ->
@@
-282,7
+282,7
@@
unselect_tile = ->
_unselect_tile = ->
num = selected.pop()
_unselect_tile = ->
num = selected.pop()
- html_tile = html_tiles[num]
+ html_tile = tiles[num].dom
html_tile.removeClass 'selected_word'
html_tile.removeClass 'selected'
html_tile.removeClass 'selected_word'
html_tile.removeClass 'selected'
@@
-298,13
+298,13
@@
shrink_selection = (leave_count) ->
selected_word = ->
word = ''
selected_word = ->
word = ''
- word += board[i] for i in selected
+ word += tiles[i].text for i in selected
return word.toLowerCase()
save_game = ->
encoded = ''
return word.toLowerCase()
save_game = ->
encoded = ''
- for t in board
- encoded += t.substr 0, 1
+ for t in tiles
+ encoded += t.letter.substr 0, 1
encoded += score
set_cookie 'hexbog', encoded, 365
window.location.hash = encoded
encoded += score
set_cookie 'hexbog', encoded, 365
window.location.hash = encoded
@@
-315,10
+315,10
@@
blip_selection = ->
selected = []
update_selection_display()
for i in faders
selected = []
update_selection_display()
for i in faders
- html_tiles[i].unbind('click').fadeOut fade_ms
+ tiles[i].dom.unbind('click').fadeOut fade_ms
timeout fade_ms + 1, ->
# which tiles need to be slid down
timeout fade_ms + 1, ->
# which tiles need to be slid down
- sliders = (false for i in board)
+ sliders = (false for i in tiles)
prev_col_top = null
next_new_y = null
prev_col_top = null
next_new_y = null
@@
-334,7
+334,7
@@
blip_selection = ->
next_new_y = -10 - tile_width
prev_col_top = col_top
next_new_y = -10 - tile_width
prev_col_top = col_top
- html_tiles[deleted].remove()
+ tiles[deleted].dom.remove()
# For each each tile above the one we've deleted:
# 1. move it down one slot in the data scructures
# For each each tile above the one we've deleted:
# 1. move it down one slot in the data scructures
@@
-342,9
+342,9
@@
blip_selection = ->
dest = deleted
aboves = board_aboves[deleted].clone().reverse()
for above in aboves
dest = deleted
aboves = board_aboves[deleted].clone().reverse()
for above in aboves
- html_tiles[dest] = html_tiles[above]
- html_tiles[dest].data 'tile_number', dest
- board[dest] = board[above]
+ tiles[dest] = tiles[above]
+ tiles[dest].id = dest
+ tiles[dest].dom.data 'tile_number', dest
sliders[dest] = true
--dest
sliders[col_top] = true # the new tile needs to be slid down too
sliders[dest] = true
--dest
sliders[col_top] = true # the new tile needs to be slid down too
@@
-354,7
+354,7
@@
blip_selection = ->
for slide, i in sliders
if slide
for slide, i in sliders
if slide
- html_tiles[i].animate {top: "#{tile_top_px[i]}px"}, slide_ms
+ tiles[i].dom.animate {top: "#{tile_top_px[i]}px"}, slide_ms
sliders[i] = false
save_game()
sliders[i] = false
save_game()
@@
-392,7
+392,7
@@
show_definition = (word, type, definition, language) ->
select_tile = (num) ->
select_tile = (num) ->
- html_tile = html_tiles[num]
+ html_tile = tiles[num].dom
# html_tile.css backgroundColor: tile_selected_color
selected.push num
update_selection_display()
# html_tile.css backgroundColor: tile_selected_color
selected.push num
update_selection_display()
@@
-405,8
+405,7
@@
new_tile = (num, x, y) ->
$board.append(html_tile)
html_tile.data 'tile_number', num
$board.append(html_tile)
html_tile.data 'tile_number', num
- board[num] = letter
- html_tiles[num] = html_tile
+ tiles[num] = text: letter, dom: html_tile, id: num
html_tile.click ->
me = $(this)
html_tile.click ->
me = $(this)
@@
-435,7
+434,6
@@
new_tile = (num, x, y) ->
$board = null
$board = null
-html_tiles = []
init_html_board = ->
$('#loading').remove()
$big_tip = $('#big_tip')
init_html_board = ->
$('#loading').remove()
$big_tip = $('#big_tip')
@@
-573,9
+571,9
@@
board_as_txt = ->
index = 0
for i in [0 .. board_min_height * 2]
unless i % 2
index = 0
for i in [0 .. board_min_height * 2]
unless i % 2
- ret += ' ' + board[j] for j in [board_min_height + index .. board_tiles - 1] by 2 * board_min_height + 1
+ ret += ' ' + tiles[j].text for j in [board_min_height + index .. board_tiles - 1] by 2 * board_min_height + 1
else
else
- ret += ' ' + board[j] + ' ' for j in [index .. board_tiles - 1] by 2 * board_min_height + 1
+ ret += ' ' + tiles[j].text + ' ' for j in [index .. board_tiles - 1] by 2 * board_min_height + 1
index += 1
ret += '\n'
index += 1
ret += '\n'