PlayerClassの実装

PlayerClassを実装します。

プレイヤーに関する動作を一まとめにする

先ほど実装したvalidate_positionを使い、以下のplayer.rbを作成していきましょう。

# frozen_string_literal: true

require_relative "tic_tac_toe_validator"

# Playerの打ち手を管理をする
class Player

  attr_reader :piece

  def initialize(piece:)
    @piece = piece
  end

  # 概要: コマを配置する行と列の値をコンソールから受け取り返却する
  # 引数: なし
  # 戻り値: 入力された行と列の情報を配列に格納して返却する => ["1", "1"]
  def gets_piece_location
    print "行を入力してください:"
    user_input_row = gets

    print "列を入力してください:"
    user_input_col = gets

    TicTacToeValidator.validate_input_value!(user_input_row, user_input_col)

    [user_input_row.to_i, user_input_col.to_i]
  end
end

入力値も検証できていい感じです。

課題コーナー

player_test.rbを作成しテストを実装する

テスト実装

元あったテストファイルからPlayerクラスのテストを抽出して新たにplayer_test.rbを作成します。

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

最終更新