forked from vikingeducation/assignment_sinatra_blackjack
/
app.rb
78 lines (61 loc) · 2.04 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
require 'sinatra'
require 'sinatra/reloader' if development?
require './lib/deck'
require './lib/hand'
require './lib/bank'
require './helpers/blackjack_helper'
require './helpers/sessions_helper'
require 'pry'
require 'json'
helpers BlackjackHelper, SessionsHelper
enable :sessions
get '/' do
bank = session["bank"] ? load_bank : Bank.new.bank
session.clear
bank = save_bank(bank)
erb :home, locals: { bank: bank }
end
get '/reset' do
session.clear
redirect to('/')
end
get '/blackjack' do
if new_round?
initialize_round
game_over = true if Hand.new(load_player_hand).blackjack?
else
game_over = false
load_round
end
erb :blackjack, locals: { deck: load_deck,
player_hand: load_player_hand,
dealer_hand: load_dealer_hand,
player_score: load_player_score,
dealer_score: load_dealer_score,
game_over: game_over,
bank: load_bank }
end
post '/blackjack/hit/:bet' do |bet|
hit_player
game_over = false
game_over = true if Hand.new(load_player_hand).bust?
erb :blackjack, locals: { deck: load_deck,
player_hand: load_player_hand,
dealer_hand: load_dealer_hand,
player_score: load_player_score,
dealer_score: load_dealer_score,
game_over: game_over,
bank: load_bank,
bet: bet.to_i }
end
get '/blackjack/dealer/:bet' do |bet|
get_dealer_moves
erb :blackjack, locals: { deck: load_deck,
player_hand: load_player_hand,
dealer_hand: load_dealer_hand,
player_score: load_player_score,
dealer_score: load_dealer_score,
game_over: true,
bank: load_bank,
bet: bet.to_i }
end