Class: Mjai::Furo
Overview
副露
Constant Summary collapse
- FURO_TYPE_TO_MENTSU_TYPE =
{ :chi => :shuntsu, :pon => :kotsu, :daiminkan => :kantsu, :kakan => :kantsu, :ankan => :kantsu, }
Instance Attribute Summary
Attributes included from WithFields
Instance Method Summary collapse
-
#initialize(fields) ⇒ Furo
constructor
A new instance of Furo.
- #inspect ⇒ Object
- #kan? ⇒ Boolean
- #pais ⇒ Object
- #to_mentsu ⇒ Object
- #to_s ⇒ Object
Methods included from WithFields
Constructor Details
#initialize(fields) ⇒ Furo
Returns a new instance of Furo.
23 24 25 |
# File 'lib/mjai/furo.rb', line 23 def initialize(fields) @fields = fields end |
Instance Method Details
#inspect ⇒ Object
55 56 57 |
# File 'lib/mjai/furo.rb', line 55 def inspect return "\#<%p %s>" % [self.class, to_s()] end |
#kan? ⇒ Boolean
27 28 29 |
# File 'lib/mjai/furo.rb', line 27 def kan? return FURO_TYPE_TO_MENTSU_TYPE[self.type] == :kantsu end |
#pais ⇒ Object
31 32 33 |
# File 'lib/mjai/furo.rb', line 31 def pais return (self.taken ? [self.taken] : []) + self.consumed end |
#to_mentsu ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/mjai/furo.rb', line 35 def to_mentsu() return Mentsu.new({ :type => FURO_TYPE_TO_MENTSU_TYPE[self.type], :pais => self.pais, :visibility => self.type == :ankan ? :an : :min, }) end |
#to_s ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/mjai/furo.rb', line 43 def to_s() if self.type == :ankan return '[# %s %s #]' % self.consumed[0, 2] else return "[%s(%p)/%s]" % [ self.taken, self.target && self.target.id, self.consumed.join(" "), ] end end |