sennichite.cc
Go to the documentation of this file.
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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines