enum movetype  {pass,play,exchange,drop};
class scr_Move{
public:
 movetype type; //types: 1--move 2--throwback, else pass
 int x,y,dx; //coordinates and direction, if applicable
 char* input; //word actually played

 scr_Move(int xin, int yin, int dxin, char* wordin){// REAL MOVE!
 char a;
  type=play; x=xin; y=yin; dx=dxin;
  for(a=0;wordin[a];a++);
  input =new char[a];
  for(a=0;wordin[a];a++) input[a]=wordin[a];
  input[a]=0;
 };

 scr_Move(char* throwout){ //Throwback tiles
 char a;
  type=exchange;
  for(a=0;throwout[a];a++);
  input =new char[a];
  for(a=0;throwout[a];a++) input[a]=throwout[a];
  input[a]='\0';
 }

 scr_Move(){ //Pass
  type=pass;
  input=0;
 }

 scr_Move(int quit){
  type=drop;
  input=0;
 }

 //copy constructor
 scr_Move(const scr_Move* move){
 char a;
  x=move->x;
  y=move->y;
  dx=move->dx;
  type=move->type;
  for(a=0;move->input[a];a++);
  input = new char[a];
  for(a=0;move->input[a];a++) input[a]=move->input[a];
  input[a]='\0';
 }
 
 ~scr_Move(){
  if(input) delete [] input;
 };
};