#ifndef NIM_MOVE_HPP
#define NIM_MOVE_HPP #include <cassert> class NimMove { public: NimMove() : resigned(true) { } NimMove(unsigned int heap, unsigned int count) : heap(heap), count(count), resigned(false) { } bool has_resigned() const { return resigned; } unsigned int get_heap() const { assert(!resigned); return heap; } unsigned int get_count() const { assert(!resigned); return count; } private: unsigned int heap; unsigned int count; bool resigned; }; #endif |