PlayerClassの修正

playersフォルダの作成

com_playerやuser_playerなどのファイルを格納するplayersフォルダを作成してください。

BasePlayerClassの作成

先ほど作成したplayersフォルダにbase_player.rbを作成します。

ComPlayerにて既存のPlayerクラスのパーツを再利用させるためにBasePlayerClassを実装したいと思います。

# frozen_string_literal: true

# Playerの打ち手を管理をする
class BasePlayer
  attr_reader :piece

  def initialize(piece:)
    @piece = piece
  end

  def gets_piece_location(_board_state)
    raise "gets_piece_locationを実装してください"
  end
end

UserPlayerClassの作成

user_player.rbを作成しUserPlayerClassを実装しましょう。

課題コーナー

BasePlayerClassを継承したUserPlayerClassを作成してみましょう

BasePlayerClassを継承させたUserPlayerClassを実装しました。

board_state引数を持っているのは、comの追加時に使用するからです。

テストの修正

最後にテストを修正して完了となります。

課題コーナー

testフォルダにplayersフォルダを作成し既存のplayer_test.rbの内容を移行してみてください

testフォルダにplayersフォルダを作成し既存のplayer_test.rbの内容を移行してみてください。

完了次第、player.rbやplayer_test.rbは消しちゃってOKです。

参考コードは以下のURLから参照してください。

最終更新