home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-09-19 | 8.5 KB | 273 lines |
- import java.applet.Applet;
-
-
- import java.awt.*;
-
-
-
-
-
- public class PictureGame extends Applet
-
-
- {
-
-
- private boolean laidOut = false, WordUpdate = true;
-
-
- private int TotalLetters, TotalPictures, CurrentPicture, PreviousPicture, counter;
-
-
- private int offsettop, offsetleft;
-
-
- private Button cmdDone, cmdReset, cmdHelp, cmdLetter[];
-
-
- private Label lblWordTyped;
-
-
- private String ThingsName[], msgWon = "You Won!", msgLost = "Try again.";
-
-
- private Image Things[];
-
-
-
-
-
- public void init()
-
-
- {
-
-
- PictureGame window = new PictureGame();
-
-
- Insets insets = window.insets();
-
-
- TotalPictures = 35;
-
-
- CurrentPicture = Random();
-
-
-
-
-
- Things = new Image[TotalPictures];
-
-
- for(counter = 1; counter <= TotalPictures; counter++)
-
-
- {
-
-
- showStatus("Loading images/T"+counter+".gif");
-
-
- Things[counter - 1] = getImage(getCodeBase(), "images/T"+counter+".gif");
-
-
- }
-
-
-
-
-
- ThingsName = new String[TotalPictures];
-
-
- ThingsName[0] = "PICTURE";
-
-
- ThingsName[1] ="BOOK";
-
-
- ThingsName[2] = "BOX";
-
-
- ThingsName[3] = "LOCK";
-
-
- ThingsName[4] = "SUN";
-
-
- ThingsName[5] = "CAMERA";
-
-
- ThingsName[6] = "DOG";
-
-
- ThingsName[7] = "DOOR";
-
-
- ThingsName[8] = "EARTH";
-
-
- ThingsName[9] = "EIGHT";
-
-
- ThingsName[10] = "EYE";
-
-
- ThingsName[11] ="FIRE";
-
-
- ThingsName[12] = "FIVE";
-
-
- ThingsName[13] = "FOUR";
-
-
- ThingsName[14] = "HAND";
-
-
- ThingsName[15] = "HOUSE";
-
-
- ThingsName[16] = "KEY";
-
-
- ThingsName[17] = "TV";
-
-
- ThingsName[18] = "TREE";
-
-
- ThingsName[19] = "LIGHTBULB";
-
-
- ThingsName[20] = "MAILBOX";
-
-
- ThingsName[21] ="NINE";
-
-
- ThingsName[22] = "ONE";
-
-
- ThingsName[23] = "PAINT";
-
-
- ThingsName[24] = "PHONE";
-
-
- ThingsName[25] = "SEVEN";
-
-
- ThingsName[26] = "SIX";
-
-
- ThingsName[27] = "SPIDER";
-
-
- ThingsName[28] = "STAR";
-
-
- ThingsName[29] = "COMPUTER";
-
-
- ThingsName[30] = "THREE";
-
-
- ThingsName[31] ="CASTLE";
-
-
- ThingsName[32] = "TWO";
-
-
- ThingsName[33] = "MONEY";
-
-
- ThingsName[34] = "NEWSPAPER";
-
-
-
-
-
- //How do we know insets is valid here?
-
-
- window.resize(400 + insets.left + insets.right, 300 + insets.top + insets.bottom);
-
-
- offsettop = insets.top;
-
-
- offsetleft = insets.left;
-
-
- window.show();
-
-
-
-
-
- }
-
-
-
-
-
- public PictureGame()
-
-
- {
-
-
- super();
-
-
- setLayout(null);
-
-
- TotalLetters = 26;
-
-
- cmdLetter = new Button[TotalLetters];
-
-
-
-
-
- cmdDone = new Button("Done");
-
-
- cmdDone.setFont(new Font("Helvetica", Font.BOLD, 30));
-
-
- add(cmdDone);
-
-
-
-
-
- cmdReset = new Button("Reset");
-
-
- cmdReset.setFont(new Font("Helvetica", Font.BOLD, 30));
-
-
- add(cmdReset);
-
-
-
-
-
- cmdHelp = new Button("Help");
-
-
- cmdHelp.setFont(new Font("Helvetica", Font.BOLD, 30));
-
-
- cmdHelp.disable();
-
-
- add(cmdHelp);
-
-
-
-
-
- lblWordTyped = new Label();
-
-
- lblWordTyped.setFont(new Font("Helvetica", Font.PLAIN, 20));
-
-
- add(lblWordTyped);
-
-
-
-
-
- setFont(new Font("Helvetica", Font.PLAIN, 20));
-
-
- cmdLetter[0] = new Button("A");
-
-
- cmdLetter[1] = new Button("B");
-
-
- cmdLetter[2] = new Button("C");
-
-
- cmdLetter[3] = new Button("D");
-
-
- cmdLetter[4] = new Button("E");
-
-
- cmdLetter[5] = new Button("F");
-
-
- cmdLetter[6] = new Button("G");
-
-
- cmdLetter[7] = new Button("H");
-
-
- cmdLetter[8] = new Button("I");
-
-
- cmdLetter[9] = new Button("J");
-
-
- cmdLetter[10] = new Button("K");
-
-
- cmdLetter[11] = new Button("L");
-
-
- cmdLetter[12] = new Button("M");
-
-
- cmdLetter[13] = new Button("N");
-
-
- cmdLetter[14] = new Button("O");
-
-
- cmdLetter[15] = new Button("P");
-
-
- cmdLetter[16] = new Button("Q");
-
-
- cmdLetter[17] = new Button("R");
-
-
- cmdLetter[18] = new Button("S");
-
-
- cmdLetter[19] = new Button("T");
-
-
- cmdLetter[20] = new Button("U");
-
-
- cmdLetter[21] = new Button("V");
-
-
- cmdLetter[22] = new Button("W");
-
-
- cmdLetter[23] = new Button("X");
-
-
- cmdLetter[24] = new Button("Y");
-
-
- cmdLetter[25] = new Button("Z");
-
-
-
-
-
- for(counter = 0; counter < TotalLetters; ++counter)
-
-
- add(cmdLetter[counter]);
-
-
- }
-
-
-
-
-
- public void paint(Graphics g)
-
-
- {
-
-
- g.setColor(Color.magenta);
-
-
- g.fill3DRect(offsetleft,offsettop, 600, 350, true);
-
-
- g.drawImage(Things[CurrentPicture], 275 + offsetleft, 210 + offsettop, this);
-
-
- if (!laidOut)
-
-
- {
-
-
- Insets insets = insets();
-
-
- insets = insets();
-
-
- cmdReset.reshape(130 + offsetleft, 300 + offsettop, 100, 30);
-
-
- cmdDone.reshape(375 + offsetleft, 300 + offsettop, 100, 30);
-
-
- cmdHelp.reshape(250 + offsetleft, 300 + offsettop, 100, 30);
-
-
- for(counter = 0; counter < 8; ++counter)
-
-
- // Left, Top, Right, Bottom
-
-
- cmdLetter[counter].reshape( 160 + (counter * 35), 20, 35, 30);
-
-
- for(;counter < 18; ++counter)
-
-
- cmdLetter[counter].reshape( 130 + ((counter - 8) * 35), 80, 35, 30);
-
-
- for(;counter < TotalLetters; ++counter)
-
-
- cmdLetter[counter].reshape( 160 + ((counter - 18) * 35), 140, 35, 30);
-
-
-
-
-
- laidOut = true;
-
-
- }
-
-
-
-
-
- if(!WordUpdate)
-
-
- {
-
-
- g.setColor(Color.black);
-
-
- g.drawString(lblWordTyped.getText(), 250 + offsetleft, 200+ offsettop);
-
-
- g.setColor(Color.magenta);
-
-
- }
-
-
- }
-
-
-
-
-
- public boolean action(Event evt, Object obj)
-
-
- {
-
-
- if(lblWordTyped.getText() == msgWon || lblWordTyped.getText() == msgLost)
-
-
- Reset();
-
-
- if("A".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "A");
-
-
- if("B".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "B");
-
-
- if("C".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "C");
-
-
- if("D".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "D");
-
-
- if("E".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "E");
-
-
- if("F".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "F");
-
-
- if("G".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "G");
-
-
- if("H".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "H");
-
-
- if("I".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "I");
-
-
- if("J".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "J");
-
-
- if("K".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "K");
-
-
- if("L".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "L");
-
-
- if("M".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "M");
-
-
- if("N".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "N");
-
-
- if("O".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "O");
-
-
- if("P".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "P");
-
-
- if("Q".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "Q");
-
-
- if("R".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "R");
-
-
- if("S".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "S");
-
-
- if("T".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "T");
-
-
- if("U".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "U");
-
-
- if("V".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "V");
-
-
- if("W".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "W");
-
-
- if("X".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "X");
-
-
- if("Y".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "Y");
-
-
- if("Z".equals(obj))
-
-
- lblWordTyped.setText(lblWordTyped.getText() + "Z");
-
-
- if("Reset".equals(obj))
-
-
- Reset();
-
-
- if("Help".equals(obj))
-
-
- lblWordTyped.setText(ThingsName[CurrentPicture]);
-
-
- if("Done".equals(obj))
-
-
- {
-
-
- if(CheckWord() == false)
-
-
- TooBad();
-
-
- else
-
-
- {
-
-
- Celebrate();
-
-
- showStatus("Finding Next Picture.");
-
-
- CurrentPicture = Random();
-
-
- showStatus("Picture Found, Good Luck!");
-
-
- }
-
-
- }
-
-
- WordUpdate = false; repaint();return true;
-
-
- }
-
-
-
-
-
- boolean CheckWord()
-
-
- {
-
-
- if((int)ThingsName[CurrentPicture].compareTo(lblWordTyped.getText()) != 0)
-
-
- return false;
-
-
- else
-
-
- return true;
-
-
- }
-
-
-
-
-
- void Celebrate()
-
-
- {
-
-
- lblWordTyped.setText(msgWon);
-
-
- }
-
-
-
-
-
- void TooBad()
-
-
- {
-
-
- cmdHelp.enable();
-
-
- lblWordTyped.setText(msgLost);
-
-
- }
-
-
-
-
-
- void Reset()
-
-
- {
-
-
- lblWordTyped.setText("");
-
-
- }
-
-
-
-
-
- int Random()
-
-
- {
-
-
- int ranint = -1;
-
-
-
-
-
- while(ranint < 0 || ranint >= TotalPictures || ranint == PreviousPicture)
-
-
- {
-
-
- ranint = (int)(java.lang.Math.random()*TotalPictures);
-
-
- showStatus("Looking for random number");
-
-
- }
-
-
- PreviousPicture = ranint;
-
-
- cmdHelp.disable();
-
-
- return ranint;
-
-
- }
-
-
- }
-