Hilfe bei Kommentar

aRR

Grünschnabel
Guten Tag,
ich wollte fragen ob mir jemand den Code Kommentieren kann.
Code:
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 = 150;
     protected int light[][];
     protected int counterOn  = 0;
     protected int counterOff = 0;
     int end = 0;
	 int i = 0;
	 int j = 0;
	 
     public void init() {
          end = 0;
          light = new int[5][5];
          for (i = 0; i < 5; i++) {
               for (j = 0; j < 5; j++) {
                    light[i][j] = OFF;
               }
          }
          countLight();
     }

     public void start() {
          setBackground(Color.blue);
          init();
     }

     public void paint(Graphics g) {
          g.setColor(Color.blue);
          g.fill3DRect(210, 165, 60, 20, true);
          g.setColor(Color.red);
          g.drawString("RESTART", 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("Congratulations", 66, 106);
          g.setColor(Color.red);
          g.drawString("Congratulations", 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;
     }
}

Vielen Dank
 
aRR, mit verlaub aber, das ist echt totaler schmarrn.
Nimm dir Eclipse, setzt dich hin, erstell die Klasse, paste das Zeug rein, veränder ein paar
Variablen und du siehst was die einzelnen Bereiche tun.
Geh hin such nach den einzelnen Funktion in der J2SE-API und schwupps
gehts.

Dabei lernst auch schön was.

Gruß Valentin
 
Zurück