import java.awt.*; import java.applet.*; import java.util.Date; import java.util.StringTokenizer; public class WordFindApplet extends Applet { private final int intFillB = GridBagConstraints.BOTH; private final int intAnchorC = GridBagConstraints.CENTER; private WordList wordList = new WordList(); private int wordCount; private int boardSize = 16; private int wordFind = boardSize/2-2; private List words1 = new List(boardSize/2, false); private List words2 = new List(boardSize/2, false); private List wordLoc = new List(boardSize/2, false); private Button reset; private pnlBingoSquare board[][] = new pnlBingoSquare[boardSize][boardSize]; private String wordSrc[]; private String curObject = ""; private String strAlpha = "abcdefghijklmnopqrstuvwxyz"; private int rDir = 0; private int cDir = 0; public void init() { createPlayField(); initializeWordSrc(); } public boolean handleEvent(Event evt) { if ( (evt.target == reset) && (evt.id == Event.ACTION_EVENT) ) { initializeWordList(); initializeBoard(); } else if ( evt.target == words1 ) { curObject = words1.getSelectedItem(); } else if ( (evt.target instanceof pnlBingoSquare) && (evt.id == Event.MOUSE_UP) ) { StringTokenizer id = new StringTokenizer(((pnlBingoSquare)evt.target).getID()); int iRow = Integer.parseInt(id.nextToken()); int iCol = Integer.parseInt(id.nextToken()); yesHit(iRow, iCol, checkHit(iRow, iCol)); } return true; } private void createPlayField() { GridBagLayout gblLocal = new GridBagLayout(); GridBagConstraints gbcLocal = null; Panel p; Label l; setLayout(new BorderLayout()); p = new Panel(); add("North", p); l = new Label(wordList.getTitle()); l.setFont(new Font("Times Roman", Font.ITALIC, 36)); p.add(l); p = new Panel(); add("West", p); p.setLayout(gblLocal); reset = new Button("Reset"); gbcLocal = gbc(0, 0, 1, 1, intFillB, intAnchorC); gblLocal.setConstraints(reset, gbcLocal); p.add(reset); l = new Label("KeyWords to Find", Label.CENTER); gbcLocal = gbc(0, 1, 1, 1, intFillB, intAnchorC); gblLocal.setConstraints(l, gbcLocal); p.add(l); gbcLocal = gbc(0, 2, 1, boardSize/2, intFillB, intAnchorC); gblLocal.setConstraints(words1, gbcLocal); p.add(words1); l = new Label("KeyWords Found", Label.CENTER); gbcLocal = gbc(0, 2+boardSize/2, 1, 1, intFillB, intAnchorC); gblLocal.setConstraints(l, gbcLocal); p.add(l); gbcLocal = gbc(0, 3+boardSize/2, 1, boardSize/2, intFillB, intAnchorC); gblLocal.setConstraints(words2, gbcLocal); p.add(words2); p = new Panel(); add("Center", p); p.setLayout(new GridLayout(boardSize,boardSize)); for (int r=0; r=0; iTry--) { iSpaces = 0; int iLoc = (int)(Math.random()*iTry); iDir = iDirs[iLoc]; iDirs[iLoc] = iDirs[iTry]; iDirs[iTry] = iDir; setDirections(iDir); int rChk = iRow+(curObject.length()*rDir)-1; int cChk = iCol+(curObject.length()*cDir)-1; if ( rChk>=0 && cChk>=0 && rChk