Computer Science Canada

help with error when running applet

Author:  DoughBoy [ Tue Jun 05, 2007 7:43 pm ]
Post subject:  help with error when running applet

Hey guys i just found thsi website yesterday and i already have a problem that i need help with from you because i cant seem to figure it out below is the code and teh image of teh error i get...

code:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class hangman extends Applet implements ActionListener {

//this is the used letter array
 private boolean usd[] = new boolean[26];

 private String guessme;

 private int numguesses=0;

 private boolean finished = false;

 private boolean won = false;


 private Button a[];
 

        public void init() {
                        int i;
                        StringBuffer buffer;
                       
//                  setLayout( new GridLayout( 2,13) );
                       
                       
                        a = new Button[26];
                       
                        // create all 26 buttons
                        for (i = 0; i <26; i++) {
                            buffer = new StringBuffer();
                                buffer.append((char)(i+65));
                                a[i] = new Button(buffer.toString());
                                a[i].addActionListener( this );
                add(a[i]);
                        }
                                // make the guessed word uppercase
                guessme=getParameter("wrd").toUpperCase();

    }   


    public void paint(Graphics g) {
                                //draw gallows and rope
                setBackground(Color.white);
                g.fillRect(10, 250, 150, 20);
                g.fillRect(40,70,10,200);
                g.fillRect(40,70,60,10);
                g.setColor(Color.yellow);
                g.fillRect(95,70,5,25);


         g.setColor(Color.orange);

         if (numguesses >=1 )
                g.drawOval(82,95,30,30);

         g.setColor(Color.green);

         if (numguesses >=2 )
                g.drawLine(97,125,97,150);

         if (numguesses >=3 )
                g.drawLine(97,150,117,183);

         if (numguesses >=4 )
                g.drawLine(97,150,77,183);

         if (numguesses >=5 )
                g.drawLine(97,125,117,135);

         if (numguesses >=6 )
                g.drawLine(97,125,77,135);

                StringBuffer st = new StringBuffer();

                for (int l=0; l<=25; l++) {
                        if (usd[l]) st.append((char)(l+65));
                        else st.append(".");
                }
                g.setColor(Color.blue);

                Font f = new Font("Courier",Font.ITALIC,14);
               
                g.setFont(f);
                g.drawString(st.toString(),25,285);

                StringBuffer guessed = new StringBuffer();

                Font ff = new Font("Courier",Font.BOLD,24);
                g.setColor(Color.black);

                g.setFont(ff);

                for (int mm=0;mm<guessme.length();mm++) {
                        if (usd[(int)guessme.charAt(mm)-65])
                                guessed.append(guessme.charAt(mm));
                        else
                                guessed.append(".");
                        }
                                         
                g.drawString(guessed.toString(),75,230);


 
             if (numguesses >=6) {
                g.setColor(Color.white);
                g.fillRect(70, 200, 200, 30);
                g.setColor(Color.black);
                g.drawString(guessme.toString(),75,230);
                Font fff = new Font("Helvetica",Font.BOLD,36);
                g.setFont(fff);

                g.setColor(Color.red);
                g.drawString("You lose!",200,100);

                finished = true;
                }

             if (won) {
                Font fff = new Font("Helvetica",Font.BOLD,36);
                g.setFont(fff);

//                Color red=new Color.red
                g.setColor(Color.red);

                g.drawString("You Win!",200,100);
                finished = true;
                }





    }


 public void rer(int lett) {

   if (!finished) {

        boolean found=false;
        boolean www=false;

        if (!usd[lett]) {
                for (int mm =0;mm<guessme.length();mm++) {
                        if (guessme.charAt(mm)==((char)(lett+65))) found=true;
                }
                if (!found) numguesses++;

        }
       
        usd[lett] = true;

        for (int mm =0;mm<guessme.length();mm++) {
              if (!usd[(int)(guessme.charAt(mm))-65]) www=true;
        }

        if (!www) won=true;       


        repaint();

   }

 }


        public void actionPerformed( ActionEvent ev) {
          int i;
          for (i = 0; i < 26; i++) {
                if (ev.getSource() == a[i]) { rer(i); }
          }


}
}


: