/*
  Copyright (C) 2005 Dan Alcantara (dfalcantara@ucdavis.edu, http://wwwcsif.cs.ucdavis.edu/~alcantar)
  Based on the board game "Blokus" by Educational Insights, Inc.
  
  This program is free software; you can redistribute 
  it and/or modify it under the terms of the GNU General 
  Public License as published by the Free Software Foundation; 
  either version 2 of the License, or (at your option) any later version.
  
  This program is distributed in the hope that it will be useful, but 
  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 
  more details.
  
  You should have received a copy of the GNU General Public License along 
  with this program; if not, write to the Free Software Foundation, Inc., 
  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  Full license visible at http://www.opensource.org/licenses/gpl-license.php
*/

#ifndef BASE_H
#define BASE_H

#include <vector>
#include <fstream>
#include <iostream>

enum BlokishID
{
  first = 0, second, third, fourth, MAX_PLAYER_ID, none, usable, invalid
};

// Pieces are composed of squares.
struct Square
{
  int mX;
  int mY;

  Square(int x, int y)
  {
    mX = x;
    mY = y;
  }

  bool operator!=(const Square &sq)
  {
    return (mX != sq.mX) || (mY != sq.mY);
  }
};

#endif
