GameManagerFactoryClassの実装
GameManagerを生成するGameManagerFactoryClassを実装していきます。
Factoryクラスって何?
複雑なオブジェクトを生成する時にはデザインパターンの1つであるFactoryパターンが使えます。
Factoryパターンを使うことにより、可読性と保守性を向上させていきましょう。
GameManagerFactoryClassの実装
GameManagerFactoryClassを実装して複雑なGameオブジェクトの生成責務を持ってもらいます。
game_factory.rbを作成してください。
# frozen_string_literal: true
require_relative "const"
require_relative "game_manager"
require_relative "player"
require_relative "board"
# GameManagerクラスを作成する
class GameManagerFactory
class << self
# 概要: GameManagerクラスを作成し返却する
# 引数: なし
# 戻り値: GameManegerクラスのインスタンス
def create
board = Board.new([
[OPEN_SLOT, OPEN_SLOT, OPEN_SLOT],
[OPEN_SLOT, OPEN_SLOT, OPEN_SLOT],
[OPEN_SLOT, OPEN_SLOT, OPEN_SLOT]
])
GameManager.new(player1: Player.new(piece: PLAYER1_PIECE), player2: Player.new(piece: PLAYER2_PIECE), board: board)
end
end
end
以下のように呼び出すことによってGameオブジェクトを作成できるようになりました。
game = GameManagerFactory.create
このクラスを用いて、次のセクションでTicTacToeクラスを実装したいと思います。
最終更新