games_bfox 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +14 -14
  4. data/exe/games +5 -0
  5. data/exe/mastermind +2 -2
  6. data/exe/tictactoe +2 -2
  7. data/lib/games.rb +12 -3
  8. data/lib/games/mastermind.rb +9 -2
  9. data/lib/games/mastermind/board.rb +2 -2
  10. data/lib/games/mastermind/board_builder.rb +2 -2
  11. data/lib/games/mastermind/computer_player_expert.rb +6 -4
  12. data/lib/games/mastermind/computer_player_novice.rb +1 -1
  13. data/lib/games/mastermind/game.rb +6 -2
  14. data/lib/games/mastermind/guess_evaluator.rb +1 -1
  15. data/lib/games/mastermind/human_player.rb +1 -1
  16. data/lib/games/mastermind/io_helpers.rb +3 -3
  17. data/lib/games/mastermind/pegs.rb +2 -2
  18. data/lib/games/mastermind/pegs_factory.rb +2 -2
  19. data/lib/games/mastermind/players_factory.rb +4 -3
  20. data/lib/games/shared/game.rb +2 -6
  21. data/lib/games/shared/io_helpers.rb +13 -2
  22. data/lib/games/shared/io_terminal.rb +2 -2
  23. data/lib/games/tictactoe.rb +9 -2
  24. data/lib/games/tictactoe/board.rb +5 -5
  25. data/lib/games/tictactoe/board_builder.rb +2 -2
  26. data/lib/games/tictactoe/board_presenter_terminal.rb +1 -1
  27. data/lib/games/tictactoe/computer_player_expert.rb +2 -1
  28. data/lib/games/tictactoe/computer_player_novice.rb +1 -1
  29. data/lib/games/tictactoe/game.rb +2 -2
  30. data/lib/games/tictactoe/human_player.rb +1 -1
  31. data/lib/games/tictactoe/io_helpers.rb +1 -1
  32. data/lib/games/tictactoe/minimax.rb +3 -2
  33. data/lib/games/tictactoe/player.rb +1 -1
  34. data/lib/games/tictactoe/players_factory.rb +4 -3
  35. data/lib/games/tictactoe/square.rb +2 -2
  36. data/lib/games/tictactoe/squares.rb +3 -3
  37. data/lib/games/tictactoe/squares_factory.rb +2 -2
  38. data/lib/games/version.rb +1 -1
  39. metadata +5 -3
  40. data/lib/games/shared/version.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b869fc9dbf4366e974cab29e2e0fec776fcd6f30
4
- data.tar.gz: 47921477fd8d4c7d703cc5867a464bd26fac0050
3
+ metadata.gz: 702ed910d768c011c3ea9368619789ab36e9cb6c
4
+ data.tar.gz: 9c168b219534ae38b0f8c7c9257a4ec1da345672
5
5
  SHA512:
6
- metadata.gz: e69728ecffc7184b02c99a33d3d673defac42d8803bf113b2084ae45c6aee9598e11e3c40c536fa296877446541a53798a97baf799bfa507d9b8947c3961f788
7
- data.tar.gz: bc49069cd841039d46e369b4276774084bff81f2c10a886eebf033fabda23fa8c83ef026c8d74c0cfe0a75da8298b2a578e94af55d2aff3e19c56c60dfd0e2dd
6
+ metadata.gz: e54ceafc5ba6eca59d09e475428e359bbd8d5a3934fc4646728d8806d8fc01b445fbea2f094679827d08a65528f398a7ada54674dae27ab93249a5022e8cca2b
7
+ data.tar.gz: 25c0874c5fc1f1a36c5a6cc6e3a482ace6ac50c6bfe65fff0b1c7eed193bebc29bbd165115bfb3705b746fff07099446c07a3ab628ae3b4d38963c9d65ce1528
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ ..starting at Version 0.5.0
2
+ ##### Version 0.6.0 (01.15.2018)
3
+ * Update dependencies to latest versions
4
+
5
+ ##### Version 0.5.0 (01.15.2018)
6
+ * Allow user to choose between tictactoe and mastermind at run time
7
+ * Reclassify game specs as integration tests
8
+ * Add CHANGELOG.md
9
+ * Add version test
data/README.md CHANGED
@@ -2,25 +2,16 @@
2
2
 
3
3
  Welcome to the games_bfox gem!
4
4
 
5
+ ## Versions
6
+ Ruby 2.4.0, rbenv 1.1.1
5
7
 
6
- ## Installation
8
+ ## How to Run
7
9
 
8
- Add this line to your application's Gemfile:
9
-
10
- ```ruby
11
- gem 'games_bfox'
12
- ```
13
-
14
- And then execute:
15
-
16
- $ bundle
17
-
18
- Or install it yourself as:
10
+ ###...from the command line
11
+ To run from command line, you must install the gem on your machine:
19
12
 
20
13
  $ gem install games_bfox
21
14
 
22
- ## Usage
23
-
24
15
  To play Mastermind, type the following into your command line to run the game executable :
25
16
 
26
17
  $ mastermind
@@ -29,4 +20,13 @@ To play Tic Tac Toe, type the following into your command line to run the game e
29
20
 
30
21
  $ tictactoe
31
22
 
23
+ ###...from inside the project
24
+
25
+ Clone the project, cd into the project directory, and then run the following command:
26
+
27
+ $ bundle exec ruby lib/games.rb
28
+
29
+ ## How to Test
30
+ From inside the project directory, run the following command:
32
31
 
32
+ $ bundle exec rspec
data/exe/games ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.join('bundler', 'setup')
4
+ #below line requires mastermind which runs program
5
+ require "games"
data/exe/mastermind CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
3
+ require File.join('bundler', 'setup')
4
4
  #below line requires mastermind which runs program
5
- require "games/mastermind"
5
+ require File.join('games', 'mastermind')
6
6
 
7
7
  Mastermind.run
8
8
 
data/exe/tictactoe CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
3
+ require File.join('bundler', 'setup')
4
4
  #below line requires tictactoe which runs program
5
- require "games/tictactoe"
5
+ require File.join('games', 'tictactoe')
6
6
 
7
7
  TicTacToe.run
8
8
 
data/lib/games.rb CHANGED
@@ -1,5 +1,14 @@
1
- require "games/version"
1
+ require File.join('games', 'version')
2
+ require File.join('games', 'mastermind')
3
+ require File.join('games', 'tictactoe')
4
+ require File.join('games', 'shared', 'io_helpers')
5
+ require File.join('games', 'shared', 'io_terminal')
2
6
 
3
- module Games
4
- # Your code goes here...
7
+ io_helpers = Shared::IOHelpers.new(Shared::IOTerminal.new)
8
+ choice = io_helpers.choose_game
9
+
10
+ if choice == :tictactoe
11
+ TicTacToe.run
12
+ elsif choice == :mastermind
13
+ Mastermind.run
5
14
  end
@@ -1,5 +1,12 @@
1
- Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'shared', '*.rb')].each {|file| require file }
2
- Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'mastermind', '*.rb')].each {|file| require file }
1
+ # Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'shared', '*.rb')].each {|file| require file }
2
+ # Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'mastermind', '*.rb')].each {|file| require file }
3
+
4
+ require File.join('games', 'shared', 'io_terminal')
5
+ require File.join('games', 'mastermind', 'io_helpers')
6
+ require File.join('games', 'mastermind', 'board_presenter_terminal')
7
+ require File.join('games', 'mastermind', 'board_builder')
8
+ require File.join('games', 'mastermind', 'players_factory')
9
+ require File.join('games', 'mastermind', 'game')
3
10
 
4
11
  class Mastermind
5
12
  def self.run
@@ -32,12 +32,12 @@ module MM
32
32
 
33
33
  private
34
34
  def retrieve_peg(row, col)
35
- return pegs.retrieve_peg(row, col)
35
+ pegs.retrieve_peg(row, col)
36
36
  end
37
37
 
38
38
  #result_pegs is an instance of pegs
39
39
  def retrieve_result_peg(row, col)
40
- return result_pegs.retrieve_peg(row,col)
40
+ result_pegs.retrieve_peg(row,col)
41
41
  end
42
42
  end
43
43
  end
@@ -1,5 +1,5 @@
1
- require_relative 'pegs_factory'
2
- require_relative 'board'
1
+ require File.join('games','mastermind', 'board')
2
+ require File.join('games', 'mastermind', 'pegs_factory')
3
3
 
4
4
  module MM
5
5
  class BoardBuilder
@@ -1,7 +1,9 @@
1
- require_relative '../shared/player'
1
+ require File.join('games', 'shared', 'player')
2
2
 
3
3
  module MM
4
4
  class ComputerPlayerExpert < Shared::Player
5
+ attr_reader :game
6
+
5
7
  def make_move(game)
6
8
  @game = game
7
9
  computer_choosing_graphic
@@ -17,15 +19,15 @@ module MM
17
19
  end
18
20
 
19
21
  def computer_choosing_graphic
20
- @game.computer_choosing_graphic
22
+ game.computer_choosing_graphic
21
23
  end
22
24
 
23
25
  def current_result_partial_match_values
24
- @game.current_result_partial_match_values
26
+ game.current_result_partial_match_values
25
27
  end
26
28
 
27
29
  def current_result_exact_match_values
28
- @game.current_result_exact_match_values
30
+ game.current_result_exact_match_values
29
31
  end
30
32
  end
31
33
  end
@@ -1,4 +1,4 @@
1
- require_relative '../shared/player'
1
+ require File.join('games', 'shared', 'player')
2
2
 
3
3
  module MM
4
4
  class ComputerPlayerNovice < Shared::Player
@@ -1,4 +1,8 @@
1
- require_relative '../shared/game'
1
+ require File.join('games', 'shared', 'game')
2
+ require File.join('games', 'mastermind', 'guess_evaluator')
3
+ require File.join('games', 'mastermind', 'guess_evaluator_result')
4
+ require File.join('games', 'mastermind', 'human_player')
5
+ require File.join('games', 'mastermind', 'secret_code')
2
6
  require 'logger'
3
7
 
4
8
  module MM
@@ -63,7 +67,7 @@ module MM
63
67
  def won?
64
68
  #depends on evaluate_guess returning an array of all "X"s for perfect guess
65
69
  if won_flag
66
- return true
70
+ true
67
71
  end
68
72
 
69
73
  if self.current_result.is_won
@@ -1,4 +1,4 @@
1
- require_relative "../../../lib/games/mastermind/guess_evaluator_result"
1
+ require File.join('games', 'mastermind', 'guess_evaluator_result')
2
2
 
3
3
  module MM
4
4
  class GuessEvaluator
@@ -1,4 +1,4 @@
1
- require_relative '../shared/player'
1
+ require File.join('games', 'shared', 'player')
2
2
 
3
3
  module MM
4
4
  class HumanPlayer < Shared::Player
@@ -1,4 +1,4 @@
1
- require_relative '../shared/io_helpers'
1
+ require File.join('games', 'shared', 'io_helpers')
2
2
  require 'paint'
3
3
 
4
4
  module MM
@@ -30,9 +30,9 @@ module MM
30
30
  input == 1 || input == 2
31
31
  end
32
32
  if user_choice == 1
33
- return :human
33
+ :human
34
34
  elsif user_choice == 2
35
- return :computer
35
+ :computer
36
36
  end
37
37
  end
38
38
 
@@ -10,9 +10,9 @@ module MM
10
10
 
11
11
  def retrieve_peg(row, col)
12
12
  if row >= number_of_rows || col >= number_of_cols
13
- return nil
13
+ nil
14
14
  else
15
- return collection_of_pegs[row][col]
15
+ collection_of_pegs[row][col]
16
16
  end
17
17
  end
18
18
 
@@ -1,5 +1,5 @@
1
- require_relative 'pegs'
2
- require_relative 'peg'
1
+ require File.join('games', 'mastermind', 'pegs')
2
+ require File.join('games', 'mastermind', 'peg')
3
3
 
4
4
  module MM
5
5
  module PegsFactory
@@ -1,6 +1,7 @@
1
- require_relative 'human_player'
2
- require_relative 'computer_player_expert'
3
- require_relative 'computer_player_novice'
1
+ require File.join('games', 'shared', 'players_factory')
2
+ require File.join('games', 'mastermind', 'human_player')
3
+ require File.join('games', 'mastermind', 'computer_player_expert')
4
+ require File.join('games', 'mastermind', 'computer_player_novice')
4
5
 
5
6
  module MM
6
7
  class PlayersFactory < Shared::PlayersFactory
@@ -1,7 +1,4 @@
1
- Dir[File.join(File.dirname(__FILE__), '*.rb')].each {|file| require file }
2
- # note the below exclude the game subclasses, because these classes inherit from this class, so if we require these before the parent class is read, an error will be generated.
3
- Dir[File.join(File.expand_path("..", File.dirname(__FILE__)), 'tictactoe', '*.rb')].each {|file| require file unless file == File.join(File.expand_path("..", File.dirname(__FILE__)), 'tictactoe', 'game.rb')}
4
- Dir[File.join(File.expand_path("..", File.dirname(__FILE__)), 'mastermind', '*.rb')].each {|file| require file unless file == File.join(File.expand_path("..", File.dirname(__FILE__)), 'mastermind', 'game.rb')}
1
+ require File.join('games', 'tictactoe', 'computer_player_expert')
5
2
 
6
3
  module Shared
7
4
  class Game
@@ -10,7 +7,6 @@ module Shared
10
7
  attr_accessor :number_of_turns_taken, :won_flag
11
8
  attr_reader :io_helpers
12
9
 
13
-
14
10
  def initialize(args = {})
15
11
  @board_presenter = args.fetch(:board_presenter)
16
12
 
@@ -62,7 +58,7 @@ module Shared
62
58
  def winner
63
59
  #each move is immediately proceeded by an increment to number_of_selections_made; therefore, need to rewind won to find winner
64
60
  if !won?
65
- return nil
61
+ nil
66
62
  end
67
63
  current_player
68
64
  end
@@ -12,6 +12,17 @@ module Shared
12
12
  raise 'Called abstract method: initial_instructions'
13
13
  end
14
14
 
15
+ def choose_game
16
+ user_choice = get_user_input("Please enter " + Paint["\"1\" ", :blue, :bold] + "if you would like to play " + Paint["tictactoe. ", :blue, :bold] + "Enter " + Paint["\"2\" ", :red, :bold] + "if you would like to play " + Paint["mastermind.", :red, :bold], "Invalid entry. Please enter either 1(tictactoe) or 2 (mastermind)") do |input|
17
+ input == 1 || input == 2
18
+ end
19
+ if user_choice == 1
20
+ :tictactoe
21
+ elsif user_choice == 2
22
+ :mastermind
23
+ end
24
+ end
25
+
15
26
  def get_player_1_name
16
27
  user_choice = get_user_input("Player 1, please enter your name:", "Please re-enter your name, using only letters") do |input|
17
28
  input =~ /^[a-zA-Z]+$/
@@ -56,8 +67,6 @@ module Shared
56
67
  #hook
57
68
  end
58
69
 
59
- private
60
-
61
70
  def get_user_input(prompt, reprompt, &block_validation)
62
71
  io.present_with_new_line(prompt)
63
72
  user_choice = nil
@@ -74,6 +83,8 @@ module Shared
74
83
  user_choice
75
84
  end
76
85
 
86
+ private
87
+
77
88
  def marching_dots
78
89
  sleep(0.2)
79
90
  io.present(".")
@@ -11,9 +11,9 @@ module Shared
11
11
  def receive
12
12
  result = gets.chomp
13
13
  if is_int?(result)
14
- return result.to_i
14
+ result.to_i
15
15
  else
16
- return result.chomp
16
+ result.chomp
17
17
  end
18
18
  end
19
19
 
@@ -1,5 +1,12 @@
1
- Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'shared', '*.rb')].each {|file| require file }
2
- Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'tictactoe', '*.rb')].each {|file| require file }
1
+ # Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'shared', '*.rb')].each {|file| require file }
2
+ # Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'tictactoe', '*.rb')].each {|file| require file }
3
+
4
+ require File.join('games', 'shared', 'io_terminal')
5
+ require File.join('games', 'tictactoe', 'io_helpers')
6
+ require File.join('games', 'tictactoe', 'board_presenter_terminal')
7
+ require File.join('games', 'tictactoe', 'board_builder')
8
+ require File.join('games', 'tictactoe', 'players_factory')
9
+ require File.join('games', 'tictactoe', 'game')
3
10
 
4
11
  class TicTacToe
5
12
  def self.run
@@ -12,19 +12,19 @@ module TTT
12
12
  end
13
13
 
14
14
  def full?
15
- return squares.full?
15
+ squares.full?
16
16
  end
17
17
 
18
18
  def won?
19
- return squares.any_combination_won?
19
+ squares.any_combination_won?
20
20
  end
21
21
 
22
22
  def display_values
23
- return squares.display_values
23
+ squares.display_values
24
24
  end
25
25
 
26
26
  def available_choices
27
- return squares.available_choices
27
+ squares.available_choices
28
28
  end
29
29
 
30
30
  def number_of_rows_cols
@@ -33,7 +33,7 @@ module TTT
33
33
 
34
34
  private
35
35
  def retrieve_square(display_value)
36
- return squares.retrieve_square(display_value)
36
+ squares.retrieve_square(display_value)
37
37
  end
38
38
  end
39
39
  end
@@ -1,5 +1,5 @@
1
- require_relative 'board'
2
- require_relative 'squares_factory'
1
+ require File.join('games', 'tictactoe', 'board')
2
+ require File.join('games', 'tictactoe', 'squares_factory')
3
3
 
4
4
  module TTT
5
5
  class BoardBuilder
@@ -1,6 +1,6 @@
1
1
  module TTT
2
2
  class BoardPresenterTerminal
3
- attr_accessor :board
3
+ attr_reader :board
4
4
 
5
5
  def present_board(board)
6
6
  @board = board
@@ -1,4 +1,5 @@
1
- require_relative '../tictactoe/player'
1
+ require File.join('games', 'tictactoe', 'player')
2
+ require File.join('games', 'tictactoe', 'minimax')
2
3
 
3
4
  module TTT
4
5
  class ComputerPlayerExpert < TTT::Player
@@ -1,4 +1,4 @@
1
- require_relative '../tictactoe/player'
1
+ require File.join('games', 'tictactoe', 'player')
2
2
 
3
3
  module TTT
4
4
  class ComputerPlayerNovice < TTT::Player
@@ -1,4 +1,4 @@
1
- require_relative '../shared/game'
1
+ require File.join('games', 'shared', 'game')
2
2
 
3
3
  module TTT
4
4
  class Game < Shared::Game
@@ -38,7 +38,7 @@ module TTT
38
38
 
39
39
  def won?
40
40
  if won_flag
41
- return true
41
+ true
42
42
  end
43
43
 
44
44
  if board.won?
@@ -1,4 +1,4 @@
1
- require_relative '../tictactoe/player'
1
+ require File.join('games', 'tictactoe', 'player')
2
2
 
3
3
  module TTT
4
4
  class HumanPlayer < TTT::Player
@@ -1,4 +1,4 @@
1
- require_relative '../shared/io_helpers'
1
+ require File.join('games', 'shared', 'io_helpers')
2
2
  require 'paint'
3
3
 
4
4
  module TTT
@@ -21,6 +21,7 @@ module TTT
21
21
  if board_won || board_full
22
22
  #rewind one player to see which player took last turn and therefore won the game
23
23
  self.number_of_turns_taken -= 1
24
+ # note: need return statement here so that method stops here if board is won or full
24
25
  return score(board_won)
25
26
  end
26
27
 
@@ -38,12 +39,12 @@ module TTT
38
39
  #https://stackoverflow.com/questions/2149802/in-ruby-what-is-the-cleanest-way-of-obtaining-the-index-of-the-largest-value-in
39
40
  max_score_index = scores.each_with_index.max[1]
40
41
  self.choice = choices[max_score_index]
41
- return scores[max_score_index]
42
+ scores[max_score_index]
42
43
  else
43
44
  # This is the min calculation
44
45
  min_score_index = scores.each_with_index.min[1]
45
46
  self.choice = choices[min_score_index]
46
- return scores[min_score_index]
47
+ scores[min_score_index]
47
48
  end
48
49
  end
49
50
 
@@ -1,4 +1,4 @@
1
- require_relative '../shared/player'
1
+ require File.join('games', 'shared', 'player')
2
2
 
3
3
  module TTT
4
4
  class Player < Shared::Player
@@ -1,6 +1,7 @@
1
- require_relative 'human_player'
2
- require_relative 'computer_player_expert'
3
- require_relative 'computer_player_novice'
1
+ require File.join('games', 'shared', 'players_factory')
2
+ require File.join('games', 'tictactoe', 'human_player')
3
+ require File.join('games', 'tictactoe', 'computer_player_expert')
4
+ require File.join('games', 'tictactoe', 'computer_player_novice')
4
5
 
5
6
  module TTT
6
7
  class PlayersFactory < Shared::PlayersFactory
@@ -18,9 +18,9 @@ module TTT
18
18
 
19
19
  def full?
20
20
  if value != nil
21
- return true
21
+ true
22
22
  else
23
- return false
23
+ false
24
24
  end
25
25
  end
26
26
  end
@@ -12,9 +12,9 @@ module TTT
12
12
  row = (display_value - 1) / number_of_rows_cols
13
13
  col = (display_value - 1) % number_of_rows_cols
14
14
  if row >= number_of_rows_cols || col >= number_of_rows_cols
15
- return nil
15
+ nil
16
16
  else
17
- return collection_of_squares[row][col]
17
+ collection_of_squares[row][col]
18
18
  end
19
19
  end
20
20
 
@@ -42,7 +42,7 @@ module TTT
42
42
  collection_of_squares.each do |row|
43
43
  return false if !(row.all? { |square| square.full? })
44
44
  end
45
- return true
45
+ true
46
46
  end
47
47
 
48
48
  def any_combination_won?
@@ -1,5 +1,5 @@
1
- require_relative 'squares'
2
- require_relative 'square'
1
+ require File.join('games', 'tictactoe', 'squares')
2
+ require File.join('games', 'tictactoe', 'square')
3
3
 
4
4
  module TTT
5
5
  class SquaresFactory
data/lib/games/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Games
2
- VERSION = "0.4.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: games_bfox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Fox
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-02 00:00:00.000000000 Z
11
+ date: 2018-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -105,6 +105,7 @@ description: In order to play, download the gem, and type "tictactoe" or "master
105
105
  email:
106
106
  - brettfox11@gmail.com
107
107
  executables:
108
+ - games
108
109
  - mastermind
109
110
  - setup
110
111
  - tictactoe
@@ -114,10 +115,12 @@ files:
114
115
  - ".gitignore"
115
116
  - ".rspec"
116
117
  - ".travis.yml"
118
+ - CHANGELOG.md
117
119
  - Gemfile
118
120
  - README.md
119
121
  - Rakefile
120
122
  - config/application.yml
123
+ - exe/games
121
124
  - exe/mastermind
122
125
  - exe/setup
123
126
  - exe/tictactoe
@@ -145,7 +148,6 @@ files:
145
148
  - lib/games/shared/player.rb
146
149
  - lib/games/shared/player_factory.rb
147
150
  - lib/games/shared/players_factory.rb
148
- - lib/games/shared/version.rb
149
151
  - lib/games/tictactoe.rb
150
152
  - lib/games/tictactoe/board.rb
151
153
  - lib/games/tictactoe/board_builder.rb
@@ -1,3 +0,0 @@
1
- module Shared
2
- VERSION = "0.3.0"
3
- end