- black_result = "lose"
- white_result = "win"
- end
- log("'summary:%s:%s %s:%s %s\n" % [type,
- @black.name, black_result,
- @white.name, white_result])
-
- end
-end
-
-class GameResultAbnormalWin < GameResultWin
- def process
- @winner.write_safe("%TORYO\n#RESIGN\n#WIN\n")
- @loser.write_safe( "%TORYO\n#RESIGN\n#LOSE\n")
- log("%%TORYO\n")
- log_summary("abnormal")
- @result_type = "%%TORYO"
- notify
- end
-end
-
-class GameResultTimeoutWin < GameResultWin
- def process
- @winner.write_safe("#TIME_UP\n#WIN\n")
- @loser.write_safe( "#TIME_UP\n#LOSE\n")
- log_summary("time up")
- @result_type = "#TIME_UP"
- notify
- end
-end
-
-# A player declares (successful) Kachi
-class GameResultKachiWin < GameResultWin
- def process
- @winner.write_safe("%KACHI\n#JISHOGI\n#WIN\n")
- @loser.write_safe( "%KACHI\n#JISHOGI\n#LOSE\n")
- log("%%KACHI\n")
- log_summary("kachi")
- @result_type = "%%KACHI"
- notify
- end
-end
-
-# A player declares wrong Kachi
-class GameResultIllegalKachiWin < GameResultWin
- def process
- @winner.write_safe("%KACHI\n#ILLEGAL_MOVE\n#WIN\n")
- @loser.write_safe( "%KACHI\n#ILLEGAL_MOVE\n#LOSE\n")
- log("%%KACHI\n")
- log_summary("illegal kachi")
- @result_type = "%%KACHI"
- notify
- end
-end
-
-class GameResultIllegalWin < GameResultWin
- def initialize(game, winner, loser, cause)
- super(game, winner, loser)
- @cause = cause
- end
-
- def process
- @winner.write_safe("#ILLEGAL_MOVE\n#WIN\n")
- @loser.write_safe( "#ILLEGAL_MOVE\n#LOSE\n")
- log_summary(@cause)
- @result_type = "#ILLEGAL_MOVE"
- notify
- end
-end
-
-class GameResultIllegalMoveWin < GameResultIllegalWin
- def initialize(game, winner, loser)
- super(game, winner, loser, "illegal move")
- end
-end
-
-class GameResultUchifuzumeWin < GameResultIllegalWin
- def initialize(game, winner, loser)
- super(game, winner, loser, "uchifuzume")
- end
-end
-
-class GameResultOuteKaihiMoreWin < GameResultWin
- def initialize(game, winner, loser)
- super(game, winner, loser, "oute_kaihimore")
- end
-end
-
-class GameResultOutoriWin < GameResultWin
- def initialize(game, winner, loser)
- super(game, winner, loser, "outori")
- end
-end
-
-class GameReulstToryoWin < GameResultWin
- def process
- @winner.write_safe("%TORYO\n#RESIGN\n#WIN\n")
- @loser.write_safe( "%TORYO\n#RESIGN\n#LOSE\n")
- log("%%TORYO\n")
- log_summary("toryo")
- @result_type = "%%TORYO"
- notify
- end
-end
-
-class GameResultOuteSennichiteWin < GameResultWin
- def process
- @winner.write_safe("#OUTE_SENNICHITE\n#WIN\n")
- @loser.write_safe( "#OUTE_SENNICHITE\n#LOSE\n")
- log_summary("oute_sennichite")
- @result_type = "#OUTE_SENNICHITE"
- notify
- end
-end
-
-class GameResultDraw < GameResult
- def initialize(game, p1, p2)
- super
- p1.last_game_win = false
- p2.last_game_win = false
- end
-
- def log_summary(type)
- log_board
- log("'summary:%s:%s draw:%s draw\n" % [type, @black.name, @white.name])
- end
-end
-
-class GameResultSennichiteDraw < GameResultDraw
- def process
- @players.each do |player|
- player.write_safe("#SENNICHITE\n#DRAW\n")