// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   ClientRackState.java

package Scrabble;

import KennethTam.Debug;
import java.util.StringTokenizer;

// Referenced classes of package Scrabble:
//            BoardSquare, Tile

public class ClientRackState
{

    public ClientRackState()
    {
        _squares = new BoardSquare[7];
        for(int i = 0; i < 7; i++)
            _squares[i] = new BoardSquare();

    }

    public int letterAt(int i)
    {
        Debug.assert(i >= 0 && i < 7, "Invalid index into client rack");
        Tile tile = _squares[i]._tile;
        if(tile != null)
            return tile.letter();
        else
            return 100;
    }

    public String toString()
    {
        String s = new String("");
        for(int i = 0; i < 7; i++)
        {
            Tile tile = _squares[i]._tile;
            if(tile != null)
                s = s + tile.letter() + " ";
        }

        return s;
    }

    public void setContents(String s)
    {
        StringTokenizer stringtokenizer = new StringTokenizer(s);
        int k = stringtokenizer.countTokens();
        for(int i = 0; i < 7; i++)
            _squares[i]._tile = null;

        for(int j = 0; j < k; j++)
            _squares[j]._tile = new Tile(stringtokenizer.nextToken());

    }

    public boolean putTileAt(int i, Tile tile)
    {
        Debug.assert(tile != null, "Putting down a null tile");
        Debug.assert(i < 7, "Bad col");
        if(_squares[i]._tile != null)
        {
            return false;
        } else
        {
            _squares[i]._tile = tile;
            return true;
        }
    }

    public Tile pickupTileAt(int i)
    {
        Debug.assert(i < 7, "Bad col");
        Tile tile = _squares[i]._tile;
        _squares[i]._tile = null;
        return tile;
    }

    public static final int RACKSIZE = 7;
    private BoardSquare _squares[];
}

