diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/wittle/puzzles_controller.rb | 11 | ||||
| -rw-r--r-- | app/views/wittle/puzzles/_handle_puzzle.html.erb | 2 |
2 files changed, 12 insertions, 1 deletions
| diff --git a/app/controllers/wittle/puzzles_controller.rb b/app/controllers/wittle/puzzles_controller.rb index b481460..8dc2ac8 100644 --- a/app/controllers/wittle/puzzles_controller.rb +++ b/app/controllers/wittle/puzzles_controller.rb | |||
| @@ -22,6 +22,14 @@ module Wittle | |||
| 22 | @puzzle = Puzzle.find(params[:id]) | 22 | @puzzle = Puzzle.find(params[:id]) |
| 23 | @playable = @puzzle.latest? && !((session[:played_puzzles] || []).include? @puzzle.id) | 23 | @playable = @puzzle.latest? && !((session[:played_puzzles] || []).include? @puzzle.id) |
| 24 | @already_started = ((session[:started_puzzles] || []).include? @puzzle.id) | 24 | @already_started = ((session[:started_puzzles] || []).include? @puzzle.id) |
| 25 | |||
| 26 | unless @playable | ||
| 27 | if (session[:puzzle_solutions] || {}).has_key? @puzzle.id.to_s | ||
| 28 | @solution = session[:puzzle_solutions][@puzzle.id.to_s] | ||
| 29 | else | ||
| 30 | @solution = @puzzle.solved_data | ||
| 31 | end | ||
| 32 | end | ||
| 25 | end | 33 | end |
| 26 | 34 | ||
| 27 | def start | 35 | def start |
| @@ -45,6 +53,9 @@ module Wittle | |||
| 45 | 53 | ||
| 46 | session[:played_puzzles] ||= [] | 54 | session[:played_puzzles] ||= [] |
| 47 | session[:played_puzzles] << @puzzle.id | 55 | session[:played_puzzles] << @puzzle.id |
| 56 | |||
| 57 | session[:puzzle_solutions] ||= {} | ||
| 58 | session[:puzzle_solutions][@puzzle.id] = params[:solved] | ||
| 48 | end | 59 | end |
| 49 | 60 | ||
| 50 | def submit | 61 | def submit |
| diff --git a/app/views/wittle/puzzles/_handle_puzzle.html.erb b/app/views/wittle/puzzles/_handle_puzzle.html.erb index 81bca29..e451745 100644 --- a/app/views/wittle/puzzles/_handle_puzzle.html.erb +++ b/app/views/wittle/puzzles/_handle_puzzle.html.erb | |||
| @@ -51,7 +51,7 @@ window.onload = function() { | |||
| 51 | <% else %> | 51 | <% else %> |
| 52 | var puzzle = window.deserializePuzzle("<%= @puzzle.data %>") | 52 | var puzzle = window.deserializePuzzle("<%= @puzzle.data %>") |
| 53 | draw(puzzle) | 53 | draw(puzzle) |
| 54 | drawPath(puzzle, JSON.parse("<%= escape_javascript(sanitize @puzzle.solved_data) %>")) | 54 | drawPath(puzzle, JSON.parse("<%= escape_javascript(sanitize @solution) %>")) |
| 55 | window.trace = function() {} | 55 | window.trace = function() {} |
| 56 | <% end %> | 56 | <% end %> |
| 57 | } | 57 | } |
