TicTacToeClassの実装

tic_tac_toe.rbの内容をクラスにし、リファクタリングした内容でゲームを動かしたいと思います。

TicTacToeClassの実装

TicTacToeクラスを実装します。

GameFactoryを使ってゲームの生成を隠蔽し、ゲーム全の進行のみを管理するようにします。

# frozen_string_literal: true

require_relative "game_manager_factory"

# 三目並べの実行クラス
class TicTacToe
  class << self
    # 概要: ゲームのmain部分
    #       このメソッドをコールするとゲームが始まる
    # 引数: なし
    # 戻り値: なし
    def start
      game = GameManagerFactoryClass.create

      loop do
        game.player_turn
        game.print_board
        break if game.over?

        game.change_to_opponent_turn
      end

      game.print_result
    end
  end
end

main.rbも修正します。

require "./tic_tac_toe/tic_tac_toe"

TicTacToe.start()

第四章はこれにて終了です。お疲れ様でした!

いらなくなったファイル(tic_tac_toe_test.rb)はけしちゃってOKです!

最後に、この章のソースコードを以下に記載しておきます。

最終更新