forked from makersacademy/rps-challenge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.rb
53 lines (43 loc) · 1.08 KB
/
app.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
require 'sinatra'
require './lib/game'
require './lib/player'
require './lib/computer'
class RPS < Sinatra::Application
enable :sessions
set :session_secret, 'XPTO'
get '/' do
erb :name_form
end
post '/game-setup' do
session[:player1] = Player.new(params[:player_name])
session[:player2] = Computer.new
session[:game] = Game.new(session[:player1], session[:player2])
redirect '/play'
end
get '/play' do
erb :play
end
post '/weapons' do
@player1 = session[:player1]
@player2 = session[:player2]
@player1.weapon_choice(params[:weapon])
@player2.random_weapon
@game = session[:game]
session[:result] = @game.result
redirect '/results'
end
get '/results' do
@game = session[:game]
@player1 = session[:player1]
@player2 = session[:player2]
@result = session[:result]
erb :result
end
post '/reset_game' do
@game = session[:game]
@game.reset_game
redirect params[:action] == "Reset Game" ? '/play' : '/'
end
# start the server if ruby file executed directly
run! if app_file == $0
end