// 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:   bogglePanel.java

package boggle.client.games;

import boggle.client.gamePanel;
import java.awt.*;
import java.io.*;

public class bogglePanel extends gamePanel
{

    public bogglePanel(int i, int j, String s)
    {
        setBounds(i, j, 106, 106);
        setLayout(new GridLayout(4, 4, 2, 2));
        setBackground(new Color(0));
        letter1 = new Label("1", 1);
        letter1.setBounds(2, 2, 24, 24);
        letter1.setFont(new Font("Dialog", 1, 20));
        letter1.setBackground(new Color(0xffffff));
        add(letter1);
        letter2 = new Label("2", 1);
        letter2.setBounds(28, 2, 24, 24);
        letter2.setFont(new Font("Dialog", 1, 20));
        letter2.setBackground(new Color(0xffffff));
        add(letter2);
        letter3 = new Label("3", 1);
        letter3.setBounds(54, 2, 24, 24);
        letter3.setFont(new Font("Dialog", 1, 20));
        letter3.setBackground(new Color(0xffffff));
        add(letter3);
        letter4 = new Label("4", 1);
        letter4.setBounds(80, 2, 24, 24);
        letter4.setFont(new Font("Dialog", 1, 20));
        letter4.setBackground(new Color(0xffffff));
        add(letter4);
        letter5 = new Label("5", 1);
        letter5.setBounds(2, 28, 24, 24);
        letter5.setFont(new Font("Dialog", 1, 20));
        letter5.setBackground(new Color(0xffffff));
        add(letter5);
        letter6 = new Label("6", 1);
        letter6.setBounds(28, 28, 24, 24);
        letter6.setFont(new Font("Dialog", 1, 20));
        letter6.setBackground(new Color(0xffffff));
        add(letter6);
        letter7 = new Label("7", 1);
        letter7.setBounds(54, 28, 24, 24);
        letter7.setFont(new Font("Dialog", 1, 20));
        letter7.setBackground(new Color(0xffffff));
        add(letter7);
        letter8 = new Label("8", 1);
        letter8.setBounds(80, 28, 24, 24);
        letter8.setFont(new Font("Dialog", 1, 20));
        letter8.setBackground(new Color(0xffffff));
        add(letter8);
        letter9 = new Label("9", 1);
        letter9.setBounds(2, 54, 24, 24);
        letter9.setFont(new Font("Dialog", 1, 20));
        letter9.setBackground(new Color(0xffffff));
        add(letter9);
        letterA = new Label("A", 1);
        letterA.setBounds(28, 54, 24, 24);
        letterA.setFont(new Font("Dialog", 1, 20));
        letterA.setBackground(new Color(0xffffff));
        add(letterA);
        letterB = new Label("B", 1);
        letterB.setBounds(54, 54, 24, 24);
        letterB.setFont(new Font("Dialog", 1, 20));
        letterB.setBackground(new Color(0xffffff));
        add(letterB);
        letterC = new Label("C", 1);
        letterC.setBounds(80, 54, 24, 24);
        letterC.setFont(new Font("Dialog", 1, 20));
        letterC.setBackground(new Color(0xffffff));
        add(letterC);
        letterD = new Label("D", 1);
        letterD.setBounds(2, 80, 24, 24);
        letterD.setFont(new Font("Dialog", 1, 20));
        letterD.setBackground(new Color(0xffffff));
        add(letterD);
        letterE = new Label("E", 1);
        letterE.setBounds(28, 80, 24, 24);
        letterE.setFont(new Font("Dialog", 1, 20));
        letterE.setBackground(new Color(0xffffff));
        add(letterE);
        letterF = new Label("F", 1);
        letterF.setBounds(54, 80, 24, 24);
        letterF.setFont(new Font("Dialog", 1, 20));
        letterF.setBackground(new Color(0xffffff));
        add(letterF);
        letterG = new Label("G", 1);
        letterG.setBounds(80, 80, 24, 24);
        letterG.setFont(new Font("Dialog", 1, 20));
        letterG.setBackground(new Color(0xffffff));
        add(letterG);
        BufferedReader bufferedreader = new BufferedReader(new StringReader(s));
        try
        {
            bufferedreader.readLine();
            bufferedreader.readLine();
            bufferedreader.readLine();
            layout = bufferedreader.readLine();
            bufferedreader.readLine();
            validWords = new String[500];
            for(String s1 = bufferedreader.readLine(); s1 != null; s1 = bufferedreader.readLine())
            {
                validWords[numValidWords] = s1;
                numValidWords++;
            }

            bufferedreader.close();
        }
        catch(IOException ioexception)
        {
            System.out.println("bogglePanel: big Problems with readin String: " + ioexception.getMessage());
            ioexception.printStackTrace();
        }
        display();
    }

    private void display()
    {
        Label alabel[] = {
            letter1, letter2, letter3, letter4, letter5, letter6, letter7, letter8, letter9, letterA, 
            letterB, letterC, letterD, letterE, letterF, letterG
        };
        for(int i = 0; i < 16; i++)
            alabel[i].setText(layout.substring(i, i + 1));

        int j = layout.indexOf(81);
        if(j > 0)
            alabel[j].setText("Qu");
    }

    public int score(String s)
    {
        for(int i = 0; i < numValidWords; i++)
            if(validWords[i].toLowerCase().equals(s.toLowerCase()))
            {
                switch(s.length())
                {
                case -2: 
                    return -1;

                case 3: // '\003'
                    return 1;

                case 4: // '\004'
                    return 1;

                case 5: // '\005'
                    return 2;

                case 6: // '\006'
                    return 3;

                case 7: // '\007'
                    return 5;
                }
                return 11;
            }

        return -1;
    }

    public int getPlayTime()
    {
        return 180;
    }

    public String getBoardDescription()
    {
        return layout;
    }

    public int getNumberOfRows()
    {
        return 4;
    }

    public int getNumberOfColumns()
    {
        return 4;
    }

    private Label letter1;
    private Label letter2;
    private Label letter3;
    private Label letter4;
    private Label letter5;
    private Label letter6;
    private Label letter7;
    private Label letter8;
    private Label letter9;
    private Label letterA;
    private Label letterB;
    private Label letterC;
    private Label letterD;
    private Label letterE;
    private Label letterF;
    private Label letterG;
    private String layout;
    private int numValidWords;
    private String validWords[];
}
