shogi-server source
リビジョン | 685d75c10971f5c13e504fef3052c30b8d3fce04 (tree) |
---|---|
日時 | 2010-09-04 17:18:47 |
作者 | daigo <beatles@user...> |
コミッター | Daigo Moriwaki |
Refactored Player#set_sente_from_str().
@@ -543,13 +543,7 @@ module ShogiServer | ||
543 | 543 | if (@command_name == "GAME") |
544 | 544 | @player.status = "game_waiting" |
545 | 545 | @player.game_name = @game_name |
546 | - if (@my_sente_str == "+") | |
547 | - @player.sente = true | |
548 | - elsif (@my_sente_str == "-") | |
549 | - @player.sente = false | |
550 | - else | |
551 | - @player.sente = nil | |
552 | - end | |
546 | + @player.set_sente_from_str(@my_sente_str) | |
553 | 547 | else # challenge |
554 | 548 | @player.write_safe(sprintf("##[ERROR] can't find rival for %s\n", @game_name)) |
555 | 549 | @player.status = "connected" |
@@ -115,6 +115,16 @@ class BasicPlayer | ||
115 | 115 | @player_id = @password = nil |
116 | 116 | end |
117 | 117 | end |
118 | + | |
119 | + def set_sente_from_str(str) | |
120 | + case str | |
121 | + when "+": @sente = true | |
122 | + when "-": @sente = false | |
123 | + else | |
124 | + # str should be "*" | |
125 | + @sente = nil | |
126 | + end | |
127 | + end | |
118 | 128 | end |
119 | 129 | |
120 | 130 |
@@ -41,5 +41,11 @@ class TestPlayer < Test::Unit::TestCase | ||
41 | 41 | assert(@p.is_human?) |
42 | 42 | assert(!@p.is_computer?) |
43 | 43 | end |
44 | + | |
45 | + def test_set_sente_from_str | |
46 | + assert_equal true, @p.set_sente_from_str("+") | |
47 | + assert_equal false, @p.set_sente_from_str("-") | |
48 | + assert_nil @p.set_sente_from_str("*") | |
49 | + end | |
44 | 50 | end |
45 | 51 |