00001 /* sennichite.cc 00002 */ 00003 #include "osl/sennichite.h" 00004 #include <stdexcept> 00005 #include <iostream> 00006 00007 osl::Player osl::Sennichite::winner() const 00008 { 00009 if (value == Result::BLACK_LOSE) 00010 return WHITE; 00011 else if (value == Result::WHITE_LOSE) 00012 return BLACK; 00013 throw std::runtime_error("no winner"); 00014 } 00015 00016 std::ostream& osl::operator<<(std::ostream& os, const Sennichite& s) 00017 { 00018 if (s.isNormal()) 00019 os << "sennichite normal"; 00020 else if (s.isDraw()) 00021 os << "sennichite draw"; 00022 else 00023 os << "sennichite " << s.winner() << " win"; 00024 return os; 00025 } 00026 00027 /* ------------------------------------------------------------------------- */ 00028 // ;;; Local Variables: 00029 // ;;; mode:c++ 00030 // ;;; c-basic-offset:2 00031 // ;;; End: