プログラミング言語/Ruby/コードリーディング/しりとりゲーム
class Player def initialize(id, dictionary=[], gm=nil) @id = id @dictionary = dictionary @gm = gm end def game_master=(gm) @gm = gm end attr_reader :id attr_accessor :dictionary end
Playerクラスは、ManualPlayerクラスとAutoPlayerクラスの 基底クラスであり、実際には使わない。
コンストラクタは識別名id、単語を収めた配列dictionary、そして 自分が参加するしりとりのGameMasterオブジェクトを受け取る。
shiritori.rb本文ではManualPlayer.new("あなた")のように生成されている。 @dictionaryと@gmはアクセサで後から設定するからである。