From: beatles Date: Sat, 26 Dec 2009 01:40:15 +0000 (+0000) Subject: - shogi_server/player.rb: Added new methods: is_human? and is_computer?. X-Git-Tag: 20170902~143 X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=commitdiff_plain;h=1bfba9c03b6b07f85691b5c5d8fc83cc2ae0ee5b;ds=sidebyside - shogi_server/player.rb: Added new methods: is_human? and is_computer?. A human player is recommened to use a name ending with '_human'. ex. 'hoge_human', 'hoge_human@p1' --- diff --git a/changelog b/changelog index 9de6c6e..b0b0dab 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,13 @@ +2009-12-20 Daigo Moriwaki + + * [shogi-server] + - shogi_server/player.rb: Added new methods: is_human? and + is_computer?. + A human player is recommened to use a name ending with '_human'. + ex. 'hoge_human', 'hoge_human@p1' + 2009-12-04 Daigo Moriwaki + * [shogi-server] - The HUP signal is not supported by Ruby on Windows. diff --git a/shogi_server/player.rb b/shogi_server/player.rb index f893c6f..7d5f91f 100644 --- a/shogi_server/player.rb +++ b/shogi_server/player.rb @@ -60,6 +60,16 @@ class BasicPlayer # true for Sente; false for Gote attr_accessor :sente + def is_human? + return [%r!_human$!, %r!_human@!].any? do |re| + re.match(@name) + end + end + + def is_computer? + return !is_human? + end + def modified_at @modified_at || Time.now end diff --git a/test/TC_player.rb b/test/TC_player.rb index d41a829..6858bad 100644 --- a/test/TC_player.rb +++ b/test/TC_player.rb @@ -29,5 +29,17 @@ class TestPlayer < Test::Unit::TestCase def test_rating_group assert_nothing_raised {@p.rating_group = 1} end + + def test_human1 + @p.name = "hoge_human" + assert(@p.is_human?) + assert(!@p.is_computer?) + end + + def test_human2 + @p.name = "hoge_human@p1" + assert(@p.is_human?) + assert(!@p.is_computer?) + end end