hlockey 0.1 → 1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/player.rb DELETED
@@ -1,41 +0,0 @@
1
- require_relative "./data/names_markov_chain"
2
-
3
- class Player
4
- attr_reader :stats, :to_s
5
-
6
- @@prng = Random.new 8010897121101114 # This never changes
7
-
8
- def initialize
9
- @to_s = random_name + " " + random_name
10
- @stats = [:offense, :defense, :agility].each_with_object Hash.new do |stat, hash|
11
- hash[stat] = @@prng.rand * 5
12
- end
13
- end
14
-
15
- private
16
- def random_name
17
- combination = "__"
18
- next_letter = ""
19
- result = ""
20
-
21
- 10.times do
22
- next_letters = NamesMarkovChain[combination]
23
- break if next_letters.nil?
24
-
25
- cumulative_weights = []
26
- next_letters.values.each do |v|
27
- cumulative_weights << v + (cumulative_weights.last or 0)
28
- end
29
- rand_num = @@prng.rand cumulative_weights.last
30
-
31
- next_letter = next_letters.keys[cumulative_weights.index do |n| rand_num < n end]
32
- break if next_letter == "_"
33
-
34
- result += next_letter
35
- combination = combination[1] + next_letter
36
- end
37
-
38
- result
39
- end
40
- end
41
-
data/lib/team.rb DELETED
@@ -1,46 +0,0 @@
1
- require_relative "./player"
2
-
3
- class Team
4
- attr_accessor :wins, :losses
5
- attr_reader :name, :emoji, :roster
6
-
7
- def initialize name, emoji, roster_idxs = {:lwing => 0,
8
- :center => 1,
9
- :rwing => 2,
10
- :ldef => 3,
11
- :goalie => 4,
12
- :rdef => 5}
13
- @wins = 0
14
- @losses = 0
15
- @name, @emoji = [name, emoji]
16
- @roster = {}
17
- players = []
18
- 6.times do players << Player.new end
19
- roster_idxs.each do |pos, i|
20
- @roster[pos] = players[i]
21
- end
22
- end
23
-
24
- def to_s
25
- "#{@emoji} #{@name}"
26
- end
27
-
28
- def print_win_loss
29
- puts " #{to_s.ljust 26} #{@wins}-#{@losses}"
30
- end
31
-
32
- def print_roster
33
- puts to_s
34
- @roster.each do |pos, player|
35
- puts " #{pos.to_s.ljust 6}: #{player}"
36
- player.stats.each do |stat, value|
37
- puts " #{stat}: #{value.round 1}"
38
- end
39
- end
40
- end
41
-
42
- def self.sort_teams teams
43
- teams.sort do |a, b| b.wins - b.losses <=> a.wins - a.losses end
44
- end
45
- end
46
-