//Name: David Yang, Sean McMillan, Dominic Golab
//File: Bag.h
//For: CSE 30331: Scrabble Gmae
//12/6/09
/*Description: This file contains the functionality of the bag class.
The bag class holds the tiles that have yet to be used. It shuffles a vector of letters adn then puts them into a queue*/

#ifndef BAG_H
#define BAG_H
#include "Tile.h"
#include <vector>
#include <queue>

using namespace std;

class Bag{

 public:
  Bag();
  Tile draw();//draws one tile from the queue
  void exchange(Tile);//puts a tile back into the queue
  void shuffle();//shuffles the letters that are to be put in letterBag
  void setLettersAndValues();//sets the values and letters for the tiles
  bool isEmpty();//returns if the queue is empty
  int letterValue(char);//returns the value of a character


 private:
  
  vector <Tile> letters;//for shuffling
  queue <Tile> letterBag;//for drawing from



};

#endif
