hlockey 0.1 → 1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-