could some one turn this into a application rather an applet for me please?

Discussion in 'Game programming' started by ashbash13, Apr 23, 2009.

  1. ashbash13

    ashbash13 New Member

    Joined:
    Apr 23, 2009
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Code:
    /*              Lights on, Lights off
     *
     * 
     *  Ashley Jones
     */
    import java.applet.*;
    import java.lang.*;
    import java.awt.*;
    import java.net.*;
    public class AllLights extends Applet {
         final int ON  =  1;
         final int OFF = -1;
         final int WIDTH = 200;
         protected int light[][];
         protected int counterOn  = 0;
         protected int counterOff = 0;
         int end = 0;
         public void init() {
              end = 0;
              light = new int[5][5];
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        light[i][j] = OFF;
                   }
              }
              countLight();
         }
         public void start() {
              setBackground(Color.Black);
              init();
         }
         public void paint(Graphics g) {
              g.setColor(Color.green);
              g.fill3DRect(210, 165, 60, 20, true);
              g.setColor(Color.white);
              g.drawString("Start Over", 214, 180);
              drawBoard(g);
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        if (light[i][j]  != 0) {
                             drawLight(i, j, g);
                        }
                   }
              }
              drawCountLight(g);
         }
         public void drawBoard(Graphics g) {
              g.setColor(Color.black);
              g.drawLine(0,0, 0,WIDTH);
              g.drawLine(WIDTH,0, WIDTH,WIDTH);
              g.drawLine(0,0, WIDTH,0);
              g.drawLine(0,WIDTH, WIDTH,WIDTH);
              for (int i = 1; i < 5; i++) {
                   g.drawLine(WIDTH*i/5,0, WIDTH*i/5,WIDTH);
                   g.drawLine(0,WIDTH*i/5, WIDTH,WIDTH*i/5);
              }
         }
         public void drawLight(int column, int row, Graphics g) {
              if (light[column][row] == ON) {
                   g.setColor(Color.yellow);
              } else if (light[column][row] == OFF) {
                   g.setColor(Color.gray);
              }
              g.fillRect(column * WIDTH / 5 + 2, row * WIDTH / 5 + 2,
                         WIDTH / 5 - 3, WIDTH / 5 - 3);
         }
         void countLight() {
              counterOn = 0;
              counterOff = 0;
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        if(light[i][j] == ON) counterOn++;
                        if(light[i][j] == OFF) counterOff++;
                   }
              }
              if (counterOn == 25) {
                   endGame(getGraphics());
              }
         }
         public void endGame(Graphics g) {
              update(getGraphics());
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        light[i][j] = OFF;
                        update(getGraphics());
                   }
              }
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        light[i][j] = ON;
                        update(getGraphics());
                   }
              }
              g.setColor(Color.yellow);
              g.fillRect(65, 98, 80, 10);
              g.setColor(Color.black);
              g.drawString("Congratz", 66, 106);
              g.setColor(Color.red);
              g.drawString("Congratz", 65, 105);
              end = 1;
         }
         void drawCountLight(Graphics g) {
              g.setColor(Color.white);
              g.fill3DRect(WIDTH+15, 50, 30,20, false);
              g.fill3DRect(WIDTH+15, 110, 30,20, false);
              g.setColor(Color.gray);
              g.fill3DRect(WIDTH+5, 85, 20,20, true);
              g.setColor(Color.yellow);
              g.fill3DRect(WIDTH+5, 20, 20,20, true);
              g.setColor(Color.black);
              g.drawString("LightOn", WIDTH+30, 35);
              g.drawString("LightOff", WIDTH+30, 100);
              g.drawString(Integer.toString(counterOn), WIDTH+20, 65);
              g.drawString(Integer.toString(counterOff), WIDTH+20, 125);
         }
         public boolean mouseUp(Event event, int x, int y) {
              if (end == 1) {
                   init();
                   update(getGraphics());
              } else {
                   if (x > 210 && x < 270 && y > 165 && y < 185) {
                        init();
                        update(getGraphics());
                   }
                   int column = (int)(x / (WIDTH / 5));
                   int row    = (int)(y / (WIDTH / 5));
                   light[column][row] = -light[column][row];
                   try {
                        light[column+1][row] = -light[column+1][row];
                   } catch(Exception e) {
                   }
                   try {
                        light[column-1][row] = -light[column-1][row];
                   } catch(Exception e) {
                   }
                   try {
                        light[column][row+1] = -light[column][row+1];
                   } catch(Exception e) {
                   }
                   try {
                        light[column][row-1] = -light[column][row-1];
                   } catch(Exception e) {
                   }
                   countLight();
                   if (end == 0) {
                        update(getGraphics());
                   }
              }
              return true;
         }
    }
     
  2. SaswatPadhi

    SaswatPadhi ~ Б0ЯИ Τ0 С0δЭ ~

    Joined:
    May 5, 2009
    Messages:
    1,342
    Likes Received:
    55
    Trophy Points:
    0
    Occupation:
    STUDENT !
    Location:
    Orissa, INDIA
    Home Page:
    http://www.crackingforfun.blogspot.com
    Nice question, converting applet to app ! :smile:

    I think this might work :wink: , not tested though.
    I've added a main func, see code below :

    Code:
    /*              Lights on, Lights off
     *
     * 
     *              Ashley Jones
     */
    
    // We no longer need to import java.applet.*;
    
    import java.lang.*;
    import java.awt.*;
    import java.net.*;
    
    public class AllLights extends Applet {
         final int ON  =  1;
         final int OFF = -1;
         final int WIDTH = 200;
         protected int light[][];
         protected int counterOn  = 0;
         protected int counterOff = 0;
         int end = 0;
    
         // Added this :
         public static void main(String[] MArg) {
              Frame fr = new Frame();
              fr.addWindowListener(new java.awt.event.WindowAdapter() {
                   public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                   };
              });
    
              AllLights AL = new AllLights();
              AL.setSize(200,200); // enter size here, i saw width = 200, so entered the same for height !
              fr.add(AL);
              fr.pack();
              AL.init();
              fr.setSize(200,200 + 20);  // 20 for frame title, increase if you wish
              fr.show();
         }
    
         // Code below is untouched.
         public void init() {
              end = 0;
              light = new int[5][5];
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        light[i][j] = OFF;
                   }
              }
              countLight();
         }
         public void start() {
              setBackground(Color.Black);
              init();
         }
         public void paint(Graphics g) {
              g.setColor(Color.green);
              g.fill3DRect(210, 165, 60, 20, true);
              g.setColor(Color.white);
              g.drawString("Start Over", 214, 180);
              drawBoard(g);
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        if (light[i][j]  != 0) {
                             drawLight(i, j, g);
                        }
                   }
              }
              drawCountLight(g);
         }
         public void drawBoard(Graphics g) {
              g.setColor(Color.black);
              g.drawLine(0,0, 0,WIDTH);
              g.drawLine(WIDTH,0, WIDTH,WIDTH);
              g.drawLine(0,0, WIDTH,0);
              g.drawLine(0,WIDTH, WIDTH,WIDTH);
              for (int i = 1; i < 5; i++) {
                   g.drawLine(WIDTH*i/5,0, WIDTH*i/5,WIDTH);
                   g.drawLine(0,WIDTH*i/5, WIDTH,WIDTH*i/5);
              }
         }
         public void drawLight(int column, int row, Graphics g) {
              if (light[column][row] == ON) {
                   g.setColor(Color.yellow);
              } else if (light[column][row] == OFF) {
                   g.setColor(Color.gray);
              }
              g.fillRect(column * WIDTH / 5 + 2, row * WIDTH / 5 + 2,
                         WIDTH / 5 - 3, WIDTH / 5 - 3);
         }
         void countLight() {
              counterOn = 0;
              counterOff = 0;
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        if(light[i][j] == ON) counterOn++;
                        if(light[i][j] == OFF) counterOff++;
                   }
              }
              if (counterOn == 25) {
                   endGame(getGraphics());
              }
         }
         public void endGame(Graphics g) {
              update(getGraphics());
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        light[i][j] = OFF;
                        update(getGraphics());
                   }
              }
              for (int i = 0; i < 5; i++) {
                   for (int j = 0; j < 5; j++) {
                        light[i][j] = ON;
                        update(getGraphics());
                   }
              }
              g.setColor(Color.yellow);
              g.fillRect(65, 98, 80, 10);
              g.setColor(Color.black);
              g.drawString("Congratz", 66, 106);
              g.setColor(Color.red);
              g.drawString("Congratz", 65, 105);
              end = 1;
         }
         void drawCountLight(Graphics g) {
              g.setColor(Color.white);
              g.fill3DRect(WIDTH+15, 50, 30,20, false);
              g.fill3DRect(WIDTH+15, 110, 30,20, false);
              g.setColor(Color.gray);
              g.fill3DRect(WIDTH+5, 85, 20,20, true);
              g.setColor(Color.yellow);
              g.fill3DRect(WIDTH+5, 20, 20,20, true);
              g.setColor(Color.black);
              g.drawString("LightOn", WIDTH+30, 35);
              g.drawString("LightOff", WIDTH+30, 100);
              g.drawString(Integer.toString(counterOn), WIDTH+20, 65);
              g.drawString(Integer.toString(counterOff), WIDTH+20, 125);
         }
         public boolean mouseUp(Event event, int x, int y) {
              if (end == 1) {
                   init();
                   update(getGraphics());
              } else {
                   if (x > 210 && x < 270 && y > 165 && y < 185) {
                        init();
                        update(getGraphics());
                   }
                   int column = (int)(x / (WIDTH / 5));
                   int row    = (int)(y / (WIDTH / 5));
                   light[column][row] = -light[column][row];
                   try {
                        light[column+1][row] = -light[column+1][row];
                   } catch(Exception e) {
                   }
                   try {
                        light[column-1][row] = -light[column-1][row];
                   } catch(Exception e) {
                   }
                   try {
                        light[column][row+1] = -light[column][row+1];
                   } catch(Exception e) {
                   }
                   try {
                        light[column][row-1] = -light[column][row-1];
                   } catch(Exception e) {
                   }
                   countLight();
                   if (end == 0) {
                        update(getGraphics());
                   }
              }
              return true;
         }
    }
    
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice