#include "scr_CoordList.h"
#include "scr_Bag.h"
#include "scr_Dictionary.h"

class scr_Board{
private:
 scr_Bag *Bag;
 scr_Dictionary *Dict;
 struct Square{
  unsigned long int flags[2];
  char wmult,smult,letter,hasblank;
  unsigned int adjacent,value[2];
 };
 Square **Board;
 int BSIZE;

public:
 scr_Board(char* filename, scr_Bag* BagIn, scr_Dictionary* DictIn);
 ~scr_Board(){
 char a;
  for(a=0;a<BSIZE;a++) delete [] Board[a];
  delete [] Board;
 }

 char Letter(char x, char y){
  return(Board[x][y].letter);
 }

 char WordMult(char x, char y){
  return(Board[x][y].wmult);
 }

 char LetterMult(char x, char y){
  return(Board[x][y].smult);
 }

 char Value(char x, char y, char dx){
  return(Board[x][y].value[dx]);
 }

 char HasBlank(char x, char y){
  return(Board[x][y].hasblank);
 }

 //list<scr_CoordList>* Generate(unsigned long int tiles);
 void Integrate(char x, char y, char dx, char* stringer);

 int Valid(char x, char y, char dx, char* stringer);
 int Score(char x, char y, char dx, char* stringer);
};
