Sourcecode neu formatiert und ins Jahr 2017 migriert default tip
authorMarkus Bröker<broeker.markus@googlemail.com>
Fri, 27 Jan 2017 21:25:15 +0100
changeset 16 55b0d5006e7b
parent 15 d4b2b9a87d80
Sourcecode neu formatiert und ins Jahr 2017 migriert Eine 9 Jahre alte Software konnte mit einigen Korrekturen wieder belebt werden.
.hgignore
build.xml
jnlp/checkers.jnlp
jnlp/schach.jnlp
org/homelinux/largo/checkers/Checkers.java
org/homelinux/largo/checkers/KIBoard.java
org/homelinux/largo/games/board/Board.java
org/homelinux/largo/games/board/History.java
org/homelinux/largo/games/board/MouseListener.java
org/homelinux/largo/games/board/Move.java
org/homelinux/largo/games/board/Piece.java
org/homelinux/largo/games/board/Point.java
org/homelinux/largo/games/board/checkersboard/CheckersBoard.java
org/homelinux/largo/games/board/chessboard/ChessBoard.java
org/homelinux/largo/schach/KIBoard.java
org/homelinux/largo/schach/Schach.java
org/homelinux/largo/utils/BrowserLaunch.java
org/homelinux/largo/utils/ImgComponent.java
new file mode 100644
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,3 @@
+syntax: regexp
+\.class$
+^bin$
--- a/build.xml
+++ b/build.xml
@@ -9,6 +9,7 @@
 	<property name="manifest" value="${project}.manifest" />
 	<property name="docs.dir" value="doc/" />
 	<property name="debug" value="simu" />
+	<property name="jsp" value="{env.jsp}" />
 
 	<property name="distributable.exts"
 		value="**/*.class,**/*.gif,**/*.html,**/*.jar,**/*.jnlp,**/*.jpg,**/*.png" />
@@ -57,7 +58,7 @@
 
 	<target name="compile">
 		<echo message="compiling ${package.dir} tree." />
-		<javac source="1.5" target="1.5" srcdir="${package.dir}"
+		<javac srcdir="${package.dir}"
 			sourcepath="${basedir}" debug="on">
 			<classpath refid="classpath" />
 		</javac>
@@ -71,8 +72,8 @@
 	</target>
 
 	<target name="post" depends="jar">
-		<signjar jar="${jar.file}" alias="spectre" storepass="${env.jsp}" />
-		<copy file="${jar.file}" todir="${www.dir}"/>
+		<signjar jar="${jar.file}" alias="spectre" storepass="${jsp}" />
+		<!-- <copy file="${jar.file}" todir="${www.dir}"/> -->
 	</target>
 
 	<target name="debug" depends="compile">
--- a/jnlp/checkers.jnlp
+++ b/jnlp/checkers.jnlp
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Discriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
-<jnlp spec="1.0+" codebase="http://largo.homelinux.org/classes" href="checkers.jnlp">
+<jnlp spec="1.0+" codebase="https://www.4customers.de/games" href="checkers.jnlp">
 	<information>
 		<title>Checkers</title>
-		<vendor>Largo Enterprises</vendor>
-		<homepage href="http://largo.homelinux.org"></homepage>
+		<vendor>4customers.de</vendor>
+		<homepage href="https://www.4customers.de"></homepage>
 		<description>Checkers</description>
 		<offline-allowed/>
 	</information>
@@ -16,6 +16,6 @@
 		<jar href="games.jar" main="true"/>
 	</resources>
     <application-desc main-class="org.homelinux.largo.checkers.Checkers">
-                <argument>none</argument>
+        <argument>none</argument>
 	</application-desc>
 </jnlp>
--- a/jnlp/schach.jnlp
+++ b/jnlp/schach.jnlp
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Discriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
-<jnlp spec="1.0+" codebase="http://largo.homelinux.org/classes" href="schach.jnlp">
+<jnlp spec="1.0+" codebase="https://www.4customers.de/games" href="schach.jnlp">
 	<information>
 		<title>Chess</title>
-		<vendor>Largo Enterprises</vendor>
-		<homepage href="http://largo.homelinux.org"></homepage>
+		<vendor>4Customers</vendor>
+		<homepage href="https://www.4customers.de"></homepage>
 		<description>Chess</description>
 		<offline-allowed/>
 	</information>
@@ -16,6 +16,6 @@
 		<jar href="games.jar" main="true"/>
 	</resources>
     <application-desc>
-                <argument>none</argument>
+        <argument>none</argument>
 	</application-desc>
 </jnlp>
--- a/org/homelinux/largo/checkers/Checkers.java
+++ b/org/homelinux/largo/checkers/Checkers.java
@@ -22,214 +22,215 @@
 import org.homelinux.largo.utils.BrowserLaunch;
 
 public class Checkers extends JFrame implements Runnable {
-    static final long serialVersionUID = 1L;
-    static final String helpURL = "http://largo.homelinux.org/cgi-bin/gitweb.cgi?p=games/Schach.git;a=summary";
+	static final long serialVersionUID = 1L;
+	static final String helpURL = "https://www.4customers.de/hg/Schach";
 
-    MouseListener listener;
-    KIBoard board;
-    Point p;
-    JLabel human = new JLabel("<html><font size='5' color='#FFFFFF'>Human</font></html>");
-    JLabel computer = new JLabel("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-    JButton neu = new JButton("Play");
-    JButton pconly = new JButton("PC-PC");
-    JButton back = new JButton("Back");
-    JButton forward = new JButton("For");
-    JButton help = new JButton("Source");
+	MouseListener listener;
+	KIBoard board;
+	Point p;
+	JLabel human = new JLabel("<html><font size='5' color='#FFFFFF'>Human</font></html>");
+	JLabel computer = new JLabel("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+	JButton neu = new JButton("Play");
+	JButton pconly = new JButton("PC-PC");
+	JButton back = new JButton("Back");
+	JButton forward = new JButton("For");
+	JButton help = new JButton("Source");
 
-    SpinnerNumberModel model = new SpinnerNumberModel(4, 1, 8, 1);
-    JSpinner combo = new JSpinner(model);
+	SpinnerNumberModel model = new SpinnerNumberModel(4, 1, 8, 1);
+	JSpinner combo = new JSpinner(model);
 
-    JPanel panel;
-    JPanel fpanel;
+	JPanel panel;
+	JPanel fpanel;
 
-    int search_depth;
+	int search_depth;
 
-    boolean pc_only;
+	boolean pc_only;
 
-    public Checkers(int w, int h) {
-        super("Checkers by Largo Enterprises");
-        setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
-        board = new KIBoard(w, h);
+	public Checkers(int w, int h) {
+		super("Checkers by 4customers.de");
+		setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
+		board = new KIBoard(w, h);
 
-        fpanel = new JPanel();
-        fpanel.add(back);
-        fpanel.add(neu);
-        fpanel.add(combo);
-        fpanel.add(pconly);
-        fpanel.add(help);
-        fpanel.add(forward);
+		fpanel = new JPanel();
+		fpanel.add(back);
+		fpanel.add(neu);
+		fpanel.add(combo);
+		fpanel.add(pconly);
+		fpanel.add(help);
+		fpanel.add(forward);
 
-        panel = new JPanel();
-        panel.setLayout(new BorderLayout());
-        panel.add(human, "West");
-        panel.add(fpanel, "Center");
-        panel.add(computer, "East");
+		panel = new JPanel();
+		panel.setLayout(new BorderLayout());
+		panel.add(human, "West");
+		panel.add(fpanel, "Center");
+		panel.add(computer, "East");
 
-        fpanel.setBackground(new Color(50, 100, 200));
-        panel.setBackground(new Color(50, 100, 200));
+		fpanel.setBackground(new Color(50, 100, 200));
+		panel.setBackground(new Color(50, 100, 200));
 
-        getContentPane().setLayout(new BorderLayout());
-        getContentPane().add(panel, "North");
-        getContentPane().add(board, "Center");
+		getContentPane().setLayout(new BorderLayout());
+		getContentPane().add(panel, "North");
+		getContentPane().add(board, "Center");
 
-        neu.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                pc_only = false;
-                board.init();
-                board.negateEstimation(false);
-            }
-        });
+		neu.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				pc_only = false;
+				board.init();
+				board.negateEstimation(false);
+			}
+		});
 
-        pconly.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                pc_only = true;
-            }
-        });
+		pconly.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				pc_only = true;
+			}
+		});
 
-        back.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                board.backwards();
-            }
-        });
+		back.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				board.backwards();
+			}
+		});
 
-        forward.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                board.forward();
-            }
-        });
+		forward.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				board.forward();
+			}
+		});
 
-        help.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                BrowserLaunch browser = new BrowserLaunch();
-                browser.openURL(helpURL);
-            }
-        });
+		help.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				BrowserLaunch browser = new BrowserLaunch();
+				browser.openURL(helpURL);
+			}
+		});
 
-        listener = board.getMouseListener();
+		listener = board.getMouseListener();
 
-        pc_only = false;
-        search_depth = 3;
-        pack();
-    }
+		pc_only = false;
+		search_depth = 3;
+		pack();
+	}
 
-    public void computer_play() {
-        while (pc_only) {
-            search_depth = model.getNumber().intValue() - 1;
+	public void computer_play() {
+		while (pc_only) {
+			search_depth = model.getNumber().intValue() - 1;
 
-            if (!board.isBlacksTurn()) {
-                human.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
-                board.negateEstimation(true);
-                if (!board.doBestMove(search_depth)) {
-                    pc_only = false;
-                    return;
-                }
-                board.negateEstimation(false);
-                human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                board.setBlacksTurn(true);
-            } else {
-                computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
-                if (!board.doBestMove(search_depth)) {
-                    pc_only = false;
-                    return;
-                }
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                board.setBlacksTurn(false);
+			if (!board.isBlacksTurn()) {
+				human.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
+				board.negateEstimation(true);
+				if (!board.doBestMove(search_depth)) {
+					pc_only = false;
+					return;
+				}
+				board.negateEstimation(false);
+				human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				board.setBlacksTurn(true);
+			} else {
+				computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
+				if (!board.doBestMove(search_depth)) {
+					pc_only = false;
+					return;
+				}
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				board.setBlacksTurn(false);
 
-                if (board.simu_debug()) {
-                    for (int i = 0; i < 64; i++) {
-                        if ((i + 1) % 8 == 0)
-                            System.err.printf("%2d=%d%n", i, board.getValue(i));
-                        else
-                            System.err.printf("%2d=%d ", i, board.getValue(i));
-                    }
-                }
+				if (board.simu_debug()) {
+					for (int i = 0; i < 64; i++) {
+						if ((i + 1) % 8 == 0)
+							System.err.printf("%2d=%d%n", i, board.getValue(i));
+						else
+							System.err.printf("%2d=%d ", i, board.getValue(i));
+					}
+				}
 
-                try {
-                    Thread.sleep(10);
-                } catch (InterruptedException e) {
-                    System.err.println("computer_play: " + e.getLocalizedMessage());
-                    System.err.println("========================================================================");
-                    e.printStackTrace();
-                    System.err.println("========================================================================");
-                    return;
-                }
-            }
-        }
-    }
+				try {
+					Thread.sleep(10);
+				} catch (InterruptedException e) {
+					System.err.println("computer_play: " + e.getLocalizedMessage());
+					System.err.println("========================================================================");
+					e.printStackTrace();
+					System.err.println("========================================================================");
+					return;
+				}
+			}
+		}
+	}
 
-    public void run() {
-        for (;;) {
+	public void run() {
+		for (;;) {
 
-            /* is this thread safe */
-            search_depth = model.getNumber().intValue() - 1;
+			/* is this thread safe */
+			search_depth = model.getNumber().intValue() - 1;
 
-            if (pc_only) {
-                computer_play();
-            }
+			if (pc_only) {
+				computer_play();
+			}
 
-            if (!board.isBlacksTurn()) {
-                if (listener.isSelected()) {
-                    p = listener.getSelection();
-                    if (board.move(p))
-                        board.setBlacksTurn(true);
-                }
-                try {
-                    Thread.sleep(50);
-                } catch (InterruptedException e) {
-                    System.err.println("Schach::run: " + e.getLocalizedMessage());
-                    System.err.println("========================================================================");
-                    e.printStackTrace();
-                    System.err.println("========================================================================");
-                    return;
-                }
-            } else {
-                human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
-                computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
-                board.doBestMove(search_depth);
-                human.setText("<html><font size='5' color='#FF3333'>Human</font></html>");
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                board.setBlacksTurn(false);
+			if (!board.isBlacksTurn()) {
+				if (listener.isSelected()) {
+					p = listener.getSelection();
+					if (board.move(p))
+						board.setBlacksTurn(true);
+				}
+				try {
+					Thread.sleep(50);
+				} catch (InterruptedException e) {
+					System.err.println("Schach::run: " + e.getLocalizedMessage());
+					System.err.println("========================================================================");
+					e.printStackTrace();
+					System.err.println("========================================================================");
+					return;
+				}
+			} else {
+				human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
+				computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
+				board.doBestMove(search_depth);
+				human.setText("<html><font size='5' color='#FF3333'>Human</font></html>");
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				board.setBlacksTurn(false);
 
-                if (board.simu_debug()) {
-                    for (int i = 0; i < 64; i++) {
-                        if ((i + 1) % 8 == 0)
-                            System.out.printf("%2d=%d%n", i, board.getValue(i));
-                        else
-                            System.out.printf("%2d=%d ", i, board.getValue(i));
-                    }
-                }
-            }
-        }
-    }
+				if (board.simu_debug()) {
+					for (int i = 0; i < 64; i++) {
+						if ((i + 1) % 8 == 0)
+							System.out.printf("%2d=%d%n", i, board.getValue(i));
+						else
+							System.out.printf("%2d=%d ", i, board.getValue(i));
+					}
+				}
+			}
+		}
+	}
 
-    public static void main(String args[]) {
-        Checkers c = new Checkers(74, 74);
+	public static void main(String args[]) {
+		Checkers c = new Checkers(74, 74);
 
-        c.setResizable(false);
-        c.setVisible(true);
+		c.setResizable(false);
+		c.setVisible(true);
+		c.pack();
 
-        if (args.length == 1) {
-            if (args[0].equals("full"))
-                c.board.setDebug(true, true);
-            else if (args[0].equals("simu"))
-                c.board.setDebug(true, false);
-            else if (args[0].equals("undo"))
-                c.board.setDebug(false, true);
-            else if (args[0].equals("none"))
-                c.board.setDebug(false, false);
-            else {
-                System.out.println("   Chess: java -jar games.jar [full|simu|undo|none]");
-                System.out
-                        .println("Checkers: java -cp games.jar org.homelinux.largo.checkers.Checkers [full|simu|undo|none]");
-            }
-        }
+		if (args.length == 1) {
+			if (args[0].equals("full"))
+				c.board.setDebug(true, true);
+			else if (args[0].equals("simu"))
+				c.board.setDebug(true, false);
+			else if (args[0].equals("undo"))
+				c.board.setDebug(false, true);
+			else if (args[0].equals("none"))
+				c.board.setDebug(false, false);
+			else {
+				System.out.println("   Chess: java -jar games.jar [full|simu|undo|none]");
+				System.out.println(
+						"Checkers: java -cp games.jar org.homelinux.largo.checkers.Checkers [full|simu|undo|none]");
+			}
+		}
 
-        Thread t = new Thread(c);
-        t.setPriority(Thread.NORM_PRIORITY - 1);
-        t.start();
-    }
+		Thread t = new Thread(c);
+		t.setPriority(Thread.NORM_PRIORITY - 1);
+		t.start();
+	}
 }
--- a/org/homelinux/largo/checkers/KIBoard.java
+++ b/org/homelinux/largo/checkers/KIBoard.java
@@ -9,196 +9,196 @@
 import org.homelinux.largo.games.board.checkersboard.CheckersBoard;
 
 public class KIBoard extends CheckersBoard {
-    static final long serialVersionUID = 1L;
-    static final int game_const = 500;
+	static final long serialVersionUID = 1L;
+	static final int game_const = 500;
 
-    protected boolean SIMU_DEBUG = false;
-    private boolean negate_estimation = false;
+	protected boolean SIMU_DEBUG = false;
+	private boolean negate_estimation = false;
 
-    private Move bestMove;
-    private int desired_depth;
+	private Move bestMove;
+	private int desired_depth;
 
-    public KIBoard(int w, int h) {
-        super(w, h);
-        desired_depth = -1;
-    }
+	public KIBoard(int w, int h) {
+		super(w, h);
+		desired_depth = -1;
+	}
 
-    /**
-     * Set the current DEBUG-Level: simu: print all valid, simulated moves undo:
-     * print all undos
-     */
-    public void setDebug(boolean simu, boolean undo) {
-        SIMU_DEBUG = simu;
-        UNDO_DEBUG = undo;
-    }
+	/**
+	 * Set the current DEBUG-Level: simu: print all valid, simulated moves undo:
+	 * print all undos
+	 */
+	public void setDebug(boolean simu, boolean undo) {
+		SIMU_DEBUG = simu;
+		UNDO_DEBUG = undo;
+	}
 
-    public boolean simu_debug() {
-        return SIMU_DEBUG;
-    }
+	public boolean simu_debug() {
+		return SIMU_DEBUG;
+	}
 
-    public boolean undo_debug() {
-        return UNDO_DEBUG;
-    }
+	public boolean undo_debug() {
+		return UNDO_DEBUG;
+	}
 
-    /**
-     * This function flips the sides: Player A maximizes and Player B minimizes
-     */
-    public void negateEstimation(boolean b) {
-        negate_estimation = b;
-    }
+	/**
+	 * This function flips the sides: Player A maximizes and Player B minimizes
+	 */
+	public void negateEstimation(boolean b) {
+		negate_estimation = b;
+	}
 
-    /**
-     * The Minimax-Algorithm works for TWO-PLAYER Games Player A minimizes,
-     * Player B maximizes
-     */
-    public int estimateFunction() {
-        int i;
-        int white = 0;
-        int black = 0;
+	/**
+	 * The Minimax-Algorithm works for TWO-PLAYER Games Player A minimizes,
+	 * Player B maximizes
+	 */
+	public int estimateFunction() {
+		int i;
+		int white = 0;
+		int black = 0;
 
-        for (i = 0; i < 64; i++) {
-            if (isWhite(i))
-                white += getValue(i);
-            if (isBlack(i))
-                black += getValue(i);
-        }
+		for (i = 0; i < 64; i++) {
+			if (isWhite(i))
+				white += getValue(i);
+			if (isBlack(i))
+				black += getValue(i);
+		}
 
-        /**
-         * solves ticket #3
-         */
-        if (negate_estimation)
-            return white - black;
+		/**
+		 * solves ticket #3
+		 */
+		if (negate_estimation)
+			return white - black;
 
-        return black - white;
-    }
+		return black - white;
+	}
 
-    /**
-     * simulates and returns the next possible move for a Player or null, when
-     * no more moves are possible. The Turn will flip automatically if
-     * "simulate(...)" finds a valid move.
-     */
-    Move simulate(int t, int o) {
-        Move move = null;
-        int value;
+	/**
+	 * simulates and returns the next possible move for a Player or null, when
+	 * no more moves are possible. The Turn will flip automatically if
+	 * "simulate(...)" finds a valid move.
+	 */
+	Move simulate(int t, int o) {
+		Move move = null;
+		int value;
 
-        if (validTurn(o)) {
-            while (t < 64) {
-                if (!simulateMove(t, o)) {
-                    t++;
-                    continue;
-                }
+		if (validTurn(o)) {
+			while (t < 64) {
+				if (!simulateMove(t, o)) {
+					t++;
+					continue;
+				}
 
-                value = estimateFunction();
-                move = new Move(value, t, o);
+				value = estimateFunction();
+				move = new Move(value, t, o);
 
-                /* Flip Sides */
-                setBlacksTurn(!isBlacksTurn());
-                return move;
-            }
-        }
-        return null;
-    }
+				/* Flip Sides */
+				setBlacksTurn(!isBlacksTurn());
+				return move;
+			}
+		}
+		return null;
+	}
 
-    /**
-     * AlphaBeta-Algorithm: the Maximizer
-     */
-    int max_alpha_beta(int depth, int alpha, int beta) {
-        int moveValue;
-        int o, t;
-        Move move = null;
+	/**
+	 * AlphaBeta-Algorithm: the Maximizer
+	 */
+	int max_alpha_beta(int depth, int alpha, int beta) {
+		int moveValue;
+		int o, t;
+		Move move = null;
 
-        if (desired_depth == -1)
-            desired_depth = depth;
+		if (desired_depth == -1)
+			desired_depth = depth;
 
-        for (o = 0; o < 64; o++) {
-            t = 0;
-            while ((move = simulate(t, o)) != null) {
-                /* particular move from black */
-                t = move.target;
+		for (o = 0; o < 64; o++) {
+			t = 0;
+			while ((move = simulate(t, o)) != null) {
+				/* particular move from black */
+				t = move.target;
 
-                if (depth == 0 || Math.abs(move.value) > game_const)
-                    moveValue = move.value;
-                else
-                    /* best next move */
-                    moveValue = min_alpha_beta(depth - 1, alpha, beta);
+				if (depth == 0 || Math.abs(move.value) > game_const)
+					moveValue = move.value;
+				else
+					/* best next move */
+					moveValue = min_alpha_beta(depth - 1, alpha, beta);
 
-                undo();
-                t++;
+				undo();
+				t++;
 
-                if (moveValue >= beta)
-                    return beta;
+				if (moveValue >= beta)
+					return beta;
 
-                if (moveValue > alpha) {
-                    alpha = moveValue;
-                    if (depth == desired_depth)
-                        bestMove = move;
-                }
-            }
-        }
+				if (moveValue > alpha) {
+					alpha = moveValue;
+					if (depth == desired_depth)
+						bestMove = move;
+				}
+			}
+		}
 
-        return alpha;
-    }
+		return alpha;
+	}
 
-    /**
-     * AlphaBeta-Algorithm: the Minimizer
-     */
-    int min_alpha_beta(int depth, int alpha, int beta) {
-        int moveValue;
-        int o, t;
-        Move move = null;
+	/**
+	 * AlphaBeta-Algorithm: the Minimizer
+	 */
+	int min_alpha_beta(int depth, int alpha, int beta) {
+		int moveValue;
+		int o, t;
+		Move move = null;
 
-        for (o = 0; o < 64; o++) {
-            t = 0;
-            while ((move = simulate(t, o)) != null) {
-                /* particular move from white */
-                t = move.target;
+		for (o = 0; o < 64; o++) {
+			t = 0;
+			while ((move = simulate(t, o)) != null) {
+				/* particular move from white */
+				t = move.target;
 
-                if (depth == 0 || Math.abs(move.value) > game_const)
-                    moveValue = move.value;
-                else
-                    /* best next move */
-                    moveValue = max_alpha_beta(depth - 1, alpha, beta);
+				if (depth == 0 || Math.abs(move.value) > game_const)
+					moveValue = move.value;
+				else
+					/* best next move */
+					moveValue = max_alpha_beta(depth - 1, alpha, beta);
 
-                undo();
-                t++;
+				undo();
+				t++;
 
-                if (moveValue <= alpha)
-                    return alpha;
+				if (moveValue <= alpha)
+					return alpha;
 
-                if (moveValue < beta)
-                    beta = moveValue;
-            }
-        }
+				if (moveValue < beta)
+					beta = moveValue;
+			}
+		}
 
-        return beta;
-    }
+		return beta;
+	}
 
-    /**
-     * Evaluates the next, best Move after search_depth half-moves. When the
-     * Machine has Black, set negateEstimation(false); When the Machine has
-     * White, set negateEstimation(true);
-     */
-    public boolean doBestMove(int search_depth) {
-        int value;
+	/**
+	 * Evaluates the next, best Move after search_depth half-moves. When the
+	 * Machine has Black, set negateEstimation(false); When the Machine has
+	 * White, set negateEstimation(true);
+	 */
+	public boolean doBestMove(int search_depth) {
+		int value;
 
-        desired_depth = -1;
-        bestMove = null;
-        value = max_alpha_beta(search_depth, Integer.MIN_VALUE, Integer.MAX_VALUE);
+		desired_depth = -1;
+		bestMove = null;
+		value = max_alpha_beta(search_depth, Integer.MIN_VALUE, Integer.MAX_VALUE);
 
-        if (bestMove == null) {
-            System.err.println("Computing once more...");
-            value = max_alpha_beta(1, Integer.MIN_VALUE, Integer.MAX_VALUE);
-            if (bestMove == null) {
-                System.out.println("Finito " + value);
-                return false;
-            }
-        }
+		if (bestMove == null) {
+			System.err.println("Computing once more...");
+			value = max_alpha_beta(1, Integer.MIN_VALUE, Integer.MAX_VALUE);
+			if (bestMove == null) {
+				System.out.println("Finito " + value);
+				return false;
+			}
+		}
 
-        if (doMove(bestMove.target, bestMove.origin)) {
-            System.out.println("Next Move");
-            return true;
-        }
+		if (doMove(bestMove.target, bestMove.origin)) {
+			System.out.println("Next Move");
+			return true;
+		}
 
-        return false;
-    }
+		return false;
+	}
 }
--- a/org/homelinux/largo/games/board/Board.java
+++ b/org/homelinux/largo/games/board/Board.java
@@ -14,379 +14,379 @@
 import javax.swing.JPanel;
 
 public class Board extends JPanel {
-    static final long serialVersionUID = 1L;
+	static final long serialVersionUID = 1L;
 
-    protected boolean UNDO_DEBUG = false;
+	protected boolean UNDO_DEBUG = false;
 
-    protected Piece board_pieces[];
-    private Piece pieces[];
+	protected Piece board_pieces[];
+	private Piece pieces[];
 
-    protected ArrayList<History> stack;
-    protected int moveNr;
+	protected ArrayList<History> stack;
+	protected int moveNr;
 
-    protected static final int EMPTY = 0;
+	protected static final int EMPTY = 0;
 
-    Color color_black;
-    Color color_white;
+	Color color_black;
+	Color color_white;
 
-    int iHeight;
-    int iWidth;
-    int xPos;
-    int yPos;
+	int iHeight;
+	int iWidth;
+	int xPos;
+	int yPos;
 
-    boolean black;
-    boolean blacksTurn;
+	boolean black;
+	boolean blacksTurn;
 
-    MouseListener listener;
+	MouseListener listener;
 
-    /**
-     * The init method initializes an empty board with a history.
-     */
-    public void init() {
-        int i;
-        pieces = new Piece[64];
+	/**
+	 * The init method initializes an empty board with a history.
+	 */
+	public void init() {
+		int i;
+		pieces = new Piece[64];
 
-        for (i = 0; i < 64; i++) {
-            pieces[i] = new Piece(null, null, EMPTY, 0);
-        }
+		for (i = 0; i < 64; i++) {
+			pieces[i] = new Piece(null, null, EMPTY, 0);
+		}
 
-        xPos = 0;
-        yPos = 0;
+		xPos = 0;
+		yPos = 0;
 
-        black = false;
-        blacksTurn = false;
-        board_pieces = getPieces(pieces);
-        stack = new ArrayList<History>();
-        moveNr = 0;
-    }
+		black = false;
+		blacksTurn = false;
+		board_pieces = getPieces(pieces);
+		stack = new ArrayList<History>();
+		moveNr = 0;
+	}
 
-    public Board(int w, int h) {
-        iWidth = w;
-        iHeight = h;
-        color_white = new Color(255, 255, 255);
-        color_black = new Color(50, 100, 200);
-        setPreferredSize(new Dimension(8 * iWidth, 8 * iHeight));
+	public Board(int w, int h) {
+		iWidth = w;
+		iHeight = h;
+		color_white = new Color(255, 255, 255);
+		color_black = new Color(50, 100, 200);
+		setPreferredSize(new Dimension(8 * iWidth, 8 * iHeight));
 
-        init();
-        listener = new MouseListener(iWidth, iHeight);
-        addMouseListener(listener);
-    }
+		init();
+		listener = new MouseListener(iWidth, iHeight);
+		addMouseListener(listener);
+	}
 
-    /**
-     * getPiece returns a Piece-Object from the Board Cache. It might not be
-     * visible on the current board.
-     */
-    public Piece getPiece(int t) {
-        return pieces[t];
-    }
+	/**
+	 * getPiece returns a Piece-Object from the Board Cache. It might not be
+	 * visible on the current board.
+	 */
+	public Piece getPiece(int t) {
+		return pieces[t];
+	}
 
-    /**
-     * setPiece sets a Piece-Object into the Board Cache and will not be
-     * visible.
-     */
-    protected void setPiece(int t, Piece p) {
-        pieces[t] = p;
-    }
+	/**
+	 * setPiece sets a Piece-Object into the Board Cache and will not be
+	 * visible.
+	 */
+	protected void setPiece(int t, Piece p) {
+		pieces[t] = p;
+	}
 
-    protected Piece[] getPieces() {
-        return getPieces(pieces);
-    }
+	protected Piece[] getPieces() {
+		return getPieces(pieces);
+	}
 
-    private Piece[] getPieces(Piece[] which_pieces) {
-        Piece[] p = new Piece[64];
-        int i;
+	private Piece[] getPieces(Piece[] which_pieces) {
+		Piece[] p = new Piece[64];
+		int i;
 
-        for (i = 0; i < 64; i++)
-            p[i] = new Piece(which_pieces[i]);
+		for (i = 0; i < 64; i++)
+			p[i] = new Piece(which_pieces[i]);
 
-        return p;
-    }
+		return p;
+	}
 
-    protected void setPieces(Piece[] p) {
-        pieces = p;
-    }
+	protected void setPieces(Piece[] p) {
+		pieces = p;
+	}
 
-    /**
-     * needed in paint(Graphics g)
-     */
-    private Image getBoardImage(int i) {
-        return board_pieces[i].image;
-    }
+	/**
+	 * needed in paint(Graphics g)
+	 */
+	private Image getBoardImage(int i) {
+		return board_pieces[i].image;
+	}
 
-    /**
-     * getMouseListener returns a valid MouseListener for this Board.
-     */
-    public MouseListener getMouseListener() {
-        return listener;
-    }
+	/**
+	 * getMouseListener returns a valid MouseListener for this Board.
+	 */
+	public MouseListener getMouseListener() {
+		return listener;
+	}
 
-    /**
-     * currentMove returns the current stack.size().
-     */
-    public int currentMove() {
-        return stack.size();
-    }
+	/**
+	 * currentMove returns the current stack.size().
+	 */
+	public int currentMove() {
+		return stack.size();
+	}
 
-    /**
-     * returns the color of piece[i].
-     */
-    public String getColor(int i) {
-        return pieces[i].color;
-    }
+	/**
+	 * returns the color of piece[i].
+	 */
+	public String getColor(int i) {
+		return pieces[i].color;
+	}
 
-    /**
-     * returns the current Value of a particular piece.
-     */
-    public int getValue(int i) {
-        return pieces[i].value;
-    }
+	/**
+	 * returns the current Value of a particular piece.
+	 */
+	public int getValue(int i) {
+		return pieces[i].value;
+	}
 
-    /**
-     * Defined Integer Constants: EMTPY = 0
-     */
-    public int getType(int i) {
-        return pieces[i].type;
-    }
+	/**
+	 * Defined Integer Constants: EMTPY = 0
+	 */
+	public int getType(int i) {
+		return pieces[i].type;
+	}
 
-    public boolean isEmpty(int i) {
-        if (pieces[i].type == EMPTY)
-            return true;
-        return false;
-    }
+	public boolean isEmpty(int i) {
+		if (pieces[i].type == EMPTY)
+			return true;
+		return false;
+	}
 
-    boolean BoardisEmpty(int i) {
-        if (board_pieces[i].type == EMPTY)
-            return true;
-        return false;
-    }
+	boolean BoardisEmpty(int i) {
+		if (board_pieces[i].type == EMPTY)
+			return true;
+		return false;
+	}
 
-    /**
-     * blacksTurn = true -> Black moves blacksTurn = false -> White moves
-     */
-    public boolean isBlacksTurn() {
-        return blacksTurn;
-    }
+	/**
+	 * blacksTurn = true -> Black moves blacksTurn = false -> White moves
+	 */
+	public boolean isBlacksTurn() {
+		return blacksTurn;
+	}
 
-    public void setBlacksTurn(boolean b) {
-        blacksTurn = b;
-    }
+	public void setBlacksTurn(boolean b) {
+		blacksTurn = b;
+	}
 
-    /**
-     * returns true, when piece[i] is white
-     */
-    public boolean isWhite(int i) {
-        if (isEmpty(i))
-            return false;
+	/**
+	 * returns true, when piece[i] is white
+	 */
+	public boolean isWhite(int i) {
+		if (isEmpty(i))
+			return false;
 
-        if (pieces[i].color.equals("white"))
-            return true;
-        return false;
-    }
+		if (pieces[i].color.equals("white"))
+			return true;
+		return false;
+	}
 
-    /**
-     * returns true, when piece[i] is black
-     */
-    public boolean isBlack(int i) {
-        if (isEmpty(i))
-            return false;
+	/**
+	 * returns true, when piece[i] is black
+	 */
+	public boolean isBlack(int i) {
+		if (isEmpty(i))
+			return false;
 
-        if (pieces[i].color.equals("black"))
-            return true;
-        return false;
-    }
+		if (pieces[i].color.equals("black"))
+			return true;
+		return false;
+	}
 
-    /**
-     * returns true, when both pieces have opposite colors
-     */
-    public boolean isEnemy(int t, int o) {
-        if (isEmpty(t))
-            return false;
+	/**
+	 * returns true, when both pieces have opposite colors
+	 */
+	public boolean isEnemy(int t, int o) {
+		if (isEmpty(t))
+			return false;
 
-        if (!pieces[t].color.equals(pieces[o].color))
-            return true;
-        return false;
-    }
+		if (!pieces[t].color.equals(pieces[o].color))
+			return true;
+		return false;
+	}
 
-    /**
-     * returns true, when both pieces have the same color
-     */
-    public boolean isSamePiece(int t, int o) {
-        if (isEmpty(t))
-            return false;
+	/**
+	 * returns true, when both pieces have the same color
+	 */
+	public boolean isSamePiece(int t, int o) {
+		if (isEmpty(t))
+			return false;
 
-        if (pieces[t].color.equals(pieces[o].color))
-            return true;
-        return false;
-    }
+		if (pieces[t].color.equals(pieces[o].color))
+			return true;
+		return false;
+	}
 
-    /**
-     * This function checks for the color of the piece at piece[i] and returns
-     * true, if the color matches the current Turn.
-     */
-    public boolean validTurn(int i) {
-        if (isEmpty(i))
-            return false;
+	/**
+	 * This function checks for the color of the piece at piece[i] and returns
+	 * true, if the color matches the current Turn.
+	 */
+	public boolean validTurn(int i) {
+		if (isEmpty(i))
+			return false;
 
-        if (getColor(i).equals("white") && isBlacksTurn())
-            return false;
-        if (getColor(i).equals("black") && !isBlacksTurn())
-            return false;
-        return true;
-    }
+		if (getColor(i).equals("white") && isBlacksTurn())
+			return false;
+		if (getColor(i).equals("black") && !isBlacksTurn())
+			return false;
+		return true;
+	}
 
-    /**
-     * simulates a "valid" move or returns false. all changes are relative to
-     * pieces and will not be painted. This method sets internal variables for
-     * the rochade() method, which will be overidden.
-     */
-    public boolean simulateMove(int t, int o) {
-        if (!validMove(t, o)) {
-            return false;
-        }
+	/**
+	 * simulates a "valid" move or returns false. all changes are relative to
+	 * pieces and will not be painted. This method sets internal variables for
+	 * the rochade() method, which will be overidden.
+	 */
+	public boolean simulateMove(int t, int o) {
+		if (!validMove(t, o)) {
+			return false;
+		}
 
-        push(pieces[t], t, pieces[o], o);
+		push(pieces[t], t, pieces[o], o);
 
-        pieces[t] = new Piece(pieces[o]);
-        pieces[o] = new Piece(null, null, EMPTY, 0);
+		pieces[t] = new Piece(pieces[o]);
+		pieces[o] = new Piece(null, null, EMPTY, 0);
 
-        return true;
-    }
+		return true;
+	}
 
-    /**
-     * Moves a Piece on the Board at Point p
-     */
-    public boolean move(Point p) {
-        int t;
-        int o;
+	/**
+	 * Moves a Piece on the Board at Point p
+	 */
+	public boolean move(Point p) {
+		int t;
+		int o;
 
-        t = (p.endy * 8) + p.endx;
-        o = (p.starty * 8) + p.startx;
+		t = (p.endy * 8) + p.endx;
+		o = (p.starty * 8) + p.startx;
 
-        if (t < 0 || t > 63)
-            return false;
-        if (o < 0 || o > 63)
-            return false;
+		if (t < 0 || t > 63)
+			return false;
+		if (o < 0 || o > 63)
+			return false;
 
-        if (validTurn(o))
-            return doMove(t, o);
+		if (validTurn(o))
+			return doMove(t, o);
 
-        System.out.println("It's not your turn!");
-        return false;
-    }
+		System.out.println("It's not your turn!");
+		return false;
+	}
 
-    /**
-     * Moves one half-move backward.
-     */
-    public void backwards() {
-        History h1;
-        History h2;
+	/**
+	 * Moves one half-move backward.
+	 */
+	public void backwards() {
+		History h1;
+		History h2;
 
-        if (moveNr < 2)
-            return;
+		if (moveNr < 2)
+			return;
 
-        moveNr -= 2;
+		moveNr -= 2;
 
-        h1 = stack.get(moveNr);
-        h2 = stack.get(moveNr + 1);
+		h1 = stack.get(moveNr);
+		h2 = stack.get(moveNr + 1);
 
-        board_pieces[h1.pos] = h1.piece;
-        board_pieces[h2.pos] = h2.piece;
+		board_pieces[h1.pos] = h1.piece;
+		board_pieces[h2.pos] = h2.piece;
 
-        repaint();
-    }
+		repaint();
+	}
 
-    /**
-     * Moves one half-move forward.
-     */
-    public void forward() {
-        History h1;
-        History h2;
+	/**
+	 * Moves one half-move forward.
+	 */
+	public void forward() {
+		History h1;
+		History h2;
 
-        if (moveNr > stack.size() - 2)
-            return;
+		if (moveNr > stack.size() - 2)
+			return;
 
-        h1 = stack.get(moveNr);
-        h2 = stack.get(moveNr + 1);
+		h1 = stack.get(moveNr);
+		h2 = stack.get(moveNr + 1);
 
-        board_pieces[h1.pos] = h2.piece;
-        board_pieces[h2.pos] = new Piece(null, null, EMPTY, 0);
+		board_pieces[h1.pos] = h2.piece;
+		board_pieces[h2.pos] = new Piece(null, null, EMPTY, 0);
 
-        moveNr += 2;
-        repaint();
-    }
+		moveNr += 2;
+		repaint();
+	}
 
-    /**
-     * pushes 2 pieces onto the stack.
-     */
-    public void push(Piece p1, int t, Piece p2, int o) {
-        stack.add(new History(p1, t, isBlacksTurn()));
-        stack.add(new History(p2, o, isBlacksTurn()));
-    }
+	/**
+	 * pushes 2 pieces onto the stack.
+	 */
+	public void push(Piece p1, int t, Piece p2, int o) {
+		stack.add(new History(p1, t, isBlacksTurn()));
+		stack.add(new History(p2, o, isBlacksTurn()));
+	}
 
-    /**
-     * pop: undo the push operation.
-     */
-    public void undo() {
-        History h1;
-        History h2;
-        int size = stack.size();
+	/**
+	 * pop: undo the push operation.
+	 */
+	public void undo() {
+		History h1;
+		History h2;
+		int size = stack.size();
 
-        if (size < 2)
-            return;
+		if (size < 2)
+			return;
 
-        h1 = stack.remove(size - 1);
-        h2 = stack.remove(size - 2);
+		h1 = stack.remove(size - 1);
+		h2 = stack.remove(size - 2);
 
-        pieces[h1.pos] = h1.piece;
-        pieces[h2.pos] = h2.piece;
+		pieces[h1.pos] = h1.piece;
+		pieces[h2.pos] = h2.piece;
 
-        /* Reset the current player */
-        setBlacksTurn(h2.turn);
-    }
+		/* Reset the current player */
+		setBlacksTurn(h2.turn);
+	}
 
-    /**
-     * This method must be implemented in your "GameBoard" Return value: TRUE:
-     * the move IS possible Return value: FALSE: the move IS NOT possible
-     */
-    public boolean validMove(int t, int o) {
-        System.out.println("public boolean validMove(int t, int o): Implement me");
-        return false;
-    }
+	/**
+	 * This method must be implemented in your "GameBoard" Return value: TRUE:
+	 * the move IS possible Return value: FALSE: the move IS NOT possible
+	 */
+	public boolean validMove(int t, int o) {
+		System.out.println("public boolean validMove(int t, int o): Implement me");
+		return false;
+	}
 
-    /**
-     * This method must be implemented in your "GameBoard" Return value: TRUE:
-     * the move was performed Return value: FALSE: the move was not performed
-     */
-    public boolean doMove(int t, int o) {
-        System.out.println("public boolean doMove(int t, int o): Implement me");
-        return false;
-    }
+	/**
+	 * This method must be implemented in your "GameBoard" Return value: TRUE:
+	 * the move was performed Return value: FALSE: the move was not performed
+	 */
+	public boolean doMove(int t, int o) {
+		System.out.println("public boolean doMove(int t, int o): Implement me");
+		return false;
+	}
 
-    public void update(Graphics g) {
-        paint(g);
-    }
+	public void update(Graphics g) {
+		paint(g);
+	}
 
-    public void paint(Graphics g) {
-        for (int i = 0; i < 8; i++) {
-            for (int j = 0; j < 8; j++) {
-                if (black == true) {
-                    g.setColor(color_black);
-                    g.fillRect(xPos, yPos, iWidth, iHeight);
-                    black = false;
-                } else {
-                    g.setColor(color_white);
-                    g.fillRect(xPos, yPos, iWidth, iHeight);
-                    black = true;
-                }
-                if (!BoardisEmpty((i * 8) + j))
-                    g.drawImage(getBoardImage((i * 8) + j), xPos + 5, yPos, this);
-                xPos += iWidth;
-            }
-            xPos = 0;
-            yPos += iHeight;
-            black = !black;
-        }
-        xPos = 0;
-        yPos = 0;
-    }
+	public void paint(Graphics g) {
+		for (int i = 0; i < 8; i++) {
+			for (int j = 0; j < 8; j++) {
+				if (black == true) {
+					g.setColor(color_black);
+					g.fillRect(xPos, yPos, iWidth, iHeight);
+					black = false;
+				} else {
+					g.setColor(color_white);
+					g.fillRect(xPos, yPos, iWidth, iHeight);
+					black = true;
+				}
+				if (!BoardisEmpty((i * 8) + j))
+					g.drawImage(getBoardImage((i * 8) + j), xPos + 5, yPos, this);
+				xPos += iWidth;
+			}
+			xPos = 0;
+			yPos += iHeight;
+			black = !black;
+		}
+		xPos = 0;
+		yPos = 0;
+	}
 }
--- a/org/homelinux/largo/games/board/History.java
+++ b/org/homelinux/largo/games/board/History.java
@@ -6,25 +6,25 @@
 package org.homelinux.largo.games.board;
 
 public class History {
-    Piece piece;
-    int pos;
-    boolean turn;
+	Piece piece;
+	int pos;
+	boolean turn;
 
-    public History(Piece p, int n, boolean t) {
-        piece = new Piece(p);
-        pos = n;
-        turn = t;
-    }
+	public History(Piece p, int n, boolean t) {
+		piece = new Piece(p);
+		pos = n;
+		turn = t;
+	}
 
-    public Piece piece() {
-        return piece;
-    }
+	public Piece piece() {
+		return piece;
+	}
 
-    public int pos() {
-        return pos;
-    }
+	public int pos() {
+		return pos;
+	}
 
-    public boolean turn() {
-        return turn;
-    }
+	public boolean turn() {
+		return turn;
+	}
 }
--- a/org/homelinux/largo/games/board/MouseListener.java
+++ b/org/homelinux/largo/games/board/MouseListener.java
@@ -9,44 +9,44 @@
 import java.awt.event.MouseEvent;
 
 public class MouseListener extends MouseAdapter {
-    int width;
-    int height;
-    int delta;
+	int width;
+	int height;
+	int delta;
 
-    Point p;
-    boolean selected;
+	Point p;
+	boolean selected;
 
-    public MouseListener(int w, int h) {
-        width = w;
-        height = h;
-        p = new Point();
-        selected = false;
-    }
+	public MouseListener(int w, int h) {
+		width = w;
+		height = h;
+		p = new Point();
+		selected = false;
+	}
 
-    public void mousePressed(MouseEvent e) {
-        p.startx = (e.getX() / width);
-        p.starty = (e.getY() / height);
-        selected = false;
-    }
+	public void mousePressed(MouseEvent e) {
+		p.startx = (e.getX() / width);
+		p.starty = (e.getY() / height);
+		selected = false;
+	}
 
-    public void mouseReleased(MouseEvent e) {
-        p.endx = (e.getX() / width);
-        p.endy = (e.getY() / height);
+	public void mouseReleased(MouseEvent e) {
+		p.endx = (e.getX() / width);
+		p.endy = (e.getY() / height);
 
-        print();
-        selected = true;
-    }
+		print();
+		selected = true;
+	}
 
-    public boolean isSelected() {
-        return selected;
-    }
+	public boolean isSelected() {
+		return selected;
+	}
 
-    public Point getSelection() {
-        selected = false;
-        return p;
-    }
+	public Point getSelection() {
+		selected = false;
+		return p;
+	}
 
-    public void print() {
-        System.out.printf("%c%d-%c%d \t", (char) ('A' + p.startx), 8 - p.starty, (char) ('A' + p.endx), 8 - p.endy);
-    }
+	public void print() {
+		System.out.printf("%c%d-%c%d \t", (char) ('A' + p.startx), 8 - p.starty, (char) ('A' + p.endx), 8 - p.endy);
+	}
 }
--- a/org/homelinux/largo/games/board/Move.java
+++ b/org/homelinux/largo/games/board/Move.java
@@ -6,13 +6,13 @@
 package org.homelinux.largo.games.board;
 
 public class Move extends Object {
-    public int value;
-    public int target;
-    public int origin;
+	public int value;
+	public int target;
+	public int origin;
 
-    public Move(int v, int t, int o) {
-        value = v;
-        target = t;
-        origin = o;
-    }
+	public Move(int v, int t, int o) {
+		value = v;
+		target = t;
+		origin = o;
+	}
 }
--- a/org/homelinux/largo/games/board/Piece.java
+++ b/org/homelinux/largo/games/board/Piece.java
@@ -8,22 +8,22 @@
 import java.awt.Image;
 
 public class Piece extends Object {
-    Image image;
-    String color;
-    int type;
-    int value;
+	Image image;
+	String color;
+	int type;
+	int value;
 
-    public Piece(Piece s) {
-        image = s.image;
-        color = s.color;
-        type = s.type;
-        value = s.value;
-    }
+	public Piece(Piece s) {
+		image = s.image;
+		color = s.color;
+		type = s.type;
+		value = s.value;
+	}
 
-    public Piece(Image img, String c, int t, int v) {
-        image = img;
-        color = c;
-        type = t;
-        value = v;
-    }
+	public Piece(Image img, String c, int t, int v) {
+		image = img;
+		color = c;
+		type = t;
+		value = v;
+	}
 }
--- a/org/homelinux/largo/games/board/Point.java
+++ b/org/homelinux/largo/games/board/Point.java
@@ -6,8 +6,8 @@
 package org.homelinux.largo.games.board;
 
 public class Point {
-    int startx;
-    int starty;
-    int endx;
-    int endy;
+	int startx;
+	int starty;
+	int endx;
+	int endy;
 };
--- a/org/homelinux/largo/games/board/checkersboard/CheckersBoard.java
+++ b/org/homelinux/largo/games/board/checkersboard/CheckersBoard.java
@@ -13,284 +13,279 @@
 import org.homelinux.largo.utils.ImgComponent;
 
 public class CheckersBoard extends Board {
-    static final long serialVersionUID = 1L;
+	static final long serialVersionUID = 1L;
 
-    static final int PIECE = 1;
-    static final int QUEEN = 2;
+	static final int PIECE = 1;
+	static final int QUEEN = 2;
 
-    final Piece white_super_sun = new Piece(new ImgComponent("images/white_super_sun.png").getImage(), "white", QUEEN,
-            50);
+	final Piece white_super_sun = new Piece(new ImgComponent("images/white_super_sun.png").getImage(), "white", QUEEN,
+			50);
 
-    final Piece black_super_sun = new Piece(new ImgComponent("images/black_super_sun.png").getImage(), "black", QUEEN,
-            50);
+	final Piece black_super_sun = new Piece(new ImgComponent("images/black_super_sun.png").getImage(), "black", QUEEN,
+			50);
 
-    void initBoard() {
-        for (int i = 1; i < 8; i += 2)
-            add(new ImgComponent("images/black_sun.png").getImage(), i, "black", PIECE);
-        for (int i = 8; i < 15; i += 2)
-            add(new ImgComponent("images/black_sun.png").getImage(), i, "black", PIECE);
-        for (int i = 17; i <= 23; i += 2)
-            add(new ImgComponent("images/black_sun.png").getImage(), i, "black", PIECE);
+	void initBoard() {
+		for (int i = 1; i < 8; i += 2)
+			add(new ImgComponent("images/black_sun.png").getImage(), i, "black", PIECE);
+		for (int i = 8; i < 15; i += 2)
+			add(new ImgComponent("images/black_sun.png").getImage(), i, "black", PIECE);
+		for (int i = 17; i <= 23; i += 2)
+			add(new ImgComponent("images/black_sun.png").getImage(), i, "black", PIECE);
 
-        for (int i = 40; i < 47; i += 2)
-            add(new ImgComponent("images/white_sun.png").getImage(), i, "white", PIECE);
-        for (int i = 49; i <= 55; i += 2)
-            add(new ImgComponent("images/white_sun.png").getImage(), i, "white", PIECE);
-        for (int i = 56; i < 63; i += 2)
-            add(new ImgComponent("images/white_sun.png").getImage(), i, "white", PIECE);
-    }
+		for (int i = 40; i < 47; i += 2)
+			add(new ImgComponent("images/white_sun.png").getImage(), i, "white", PIECE);
+		for (int i = 49; i <= 55; i += 2)
+			add(new ImgComponent("images/white_sun.png").getImage(), i, "white", PIECE);
+		for (int i = 56; i < 63; i += 2)
+			add(new ImgComponent("images/white_sun.png").getImage(), i, "white", PIECE);
+	}
 
-    /**
-     * The init method initializes a complete checkers board with figures and a
-     * history.
-     */
-    public void init() {
-        super.init();
-        initBoard();
-        board_pieces = getPieces();
-        repaint();
-    }
+	/**
+	 * The init method initializes a complete checkers board with figures and a
+	 * history.
+	 */
+	public void init() {
+		super.init();
+		initBoard();
+		board_pieces = getPieces();
+		repaint();
+	}
 
-    public CheckersBoard(int w, int h) {
-        super(w, h);
-    }
+	public CheckersBoard(int w, int h) {
+		super(w, h);
+	}
 
-    void add(Image img, int i, String c, int t) {
-        int v = 0;
+	void add(Image img, int i, String c, int t) {
+		int v = 0;
 
-        switch (t) {
-        case PIECE:
-            v = 10;
-        }
+		switch (t) {
+		case PIECE:
+			v = 10;
+		}
 
-        setPiece(i, new Piece(img, c, t, v));
-    }
+		setPiece(i, new Piece(img, c, t, v));
+	}
 
-    /**
-     * Checks, wether this move is possible or not.
-     */
-    public boolean validMove(int t, int o) {
-        int steps;
-        int rows;
+	/**
+	 * Checks, wether this move is possible or not.
+	 */
+	public boolean validMove(int t, int o) {
+		int steps;
+		int rows;
 
-        if (t == o)
-            return false;
-
-        if (isSamePiece(t, o))
-            return false;
+		if (t == o)
+			return false;
 
-        if (getType(o) == EMPTY)
-            return false;
+		if (isSamePiece(t, o))
+			return false;
+
+		if (getType(o) == EMPTY)
+			return false;
+
+		/*
+		 * 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22
+		 * 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
+		 * 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
+		 */
+
+		steps = Math.abs(t - o);
+		rows = Math.abs(t / 8 - o / 8);
 
-        /*
-         * 00 01 02 03 04 05 06 07
-         * 08 09 10 11 12 13 14 15
-         * 16 17 18 19 20 21 22 23
-         * 24 25 26 27 28 29 30 31
-         * 32 33 34 35 36 37 38 39
-         * 40 41 42 43 44 45 46 47
-         * 48 49 50 51 52 53 54 55
-         * 56 57 58 59 60 61 62 63
-         */
+		switch (getType(o)) {
+		case PIECE:
+			if (steps % 7 == 0) {
+				if (steps == 7 && rows == 1 && isEmpty(t)) {
+					if (isBlack(o) && (t > o))
+						return true;
+					if (isWhite(o) && (t < o))
+						return true;
+				}
 
-        steps = Math.abs(t - o);
-        rows = Math.abs(t / 8 - o / 8);
-
-        switch (getType(o)) {
-        case PIECE:
-            if (steps % 7 == 0) {
-                if (steps == 7 && rows == 1 && isEmpty(t)) {
-                    if (isBlack(o) && (t > o))
-                        return true;
-                    if (isWhite(o) && (t < o))
-                        return true;
-                }
+				if (steps == 14 && rows == 2 && isEmpty(t)) {
+					if (isBlack(o) && (t > o) && isEnemy(o + 7, o))
+						return true;
+					if (isWhite(o) && (t < o) && isEnemy(o - 7, o))
+						return true;
+				}
+			}
 
-                if (steps == 14 && rows == 2 && isEmpty(t)) {
-                    if (isBlack(o) && (t > o) && isEnemy(o + 7, o))
-                        return true;
-                    if (isWhite(o) && (t < o) && isEnemy(o - 7, o))
-                        return true;
-                }
-            }
-
-            if (steps % 9 == 0) {
-                if (steps == 9 && rows == 1 && isEmpty(t)) {
-                    if (isBlack(o) && (t > o))
-                        return true;
-                    if (isWhite(o) && (t < o))
-                        return true;
-                }
+			if (steps % 9 == 0) {
+				if (steps == 9 && rows == 1 && isEmpty(t)) {
+					if (isBlack(o) && (t > o))
+						return true;
+					if (isWhite(o) && (t < o))
+						return true;
+				}
 
-                if (steps == 18 && rows == 2 && isEmpty(t)) {
-                    if (isBlack(o) && (t > o) && isEnemy(o + 9, o))
-                        return true;
-                    if (isWhite(o) && (t < o) && isEnemy(o - 9, o))
-                        return true;
-                }
-            }
-            break;
-        case QUEEN:
-            if (steps % 7 == 0 && isEmpty(t)) {
-                if (steps == 7 && rows == 1)
-                    return true;
-                if (steps == 14 && rows == 2)
-                    return true;
-                if (steps == 21 && rows == 3)
-                    return true;
-                if (steps == 28 && rows == 4)
-                    return true;
-                if (steps == 35 && rows == 5)
-                    return true;
-                if (steps == 42 && rows == 6)
-                    return true;
-                if (steps == 49 && rows == 7)
-                    return true;
-            }
+				if (steps == 18 && rows == 2 && isEmpty(t)) {
+					if (isBlack(o) && (t > o) && isEnemy(o + 9, o))
+						return true;
+					if (isWhite(o) && (t < o) && isEnemy(o - 9, o))
+						return true;
+				}
+			}
+			break;
+		case QUEEN:
+			if (steps % 7 == 0 && isEmpty(t)) {
+				if (steps == 7 && rows == 1)
+					return true;
+				if (steps == 14 && rows == 2)
+					return true;
+				if (steps == 21 && rows == 3)
+					return true;
+				if (steps == 28 && rows == 4)
+					return true;
+				if (steps == 35 && rows == 5)
+					return true;
+				if (steps == 42 && rows == 6)
+					return true;
+				if (steps == 49 && rows == 7)
+					return true;
+			}
 
-            if (steps % 9 == 0 && isEmpty(t)) {
-                if (steps == 9 && rows == 1)
-                    return true;
-                if (steps == 18 && rows == 2)
-                    return true;
-                if (steps == 27 && rows == 3)
-                    return true;
-                if (steps == 36 && rows == 4)
-                    return true;
-                if (steps == 45 && rows == 5)
-                    return true;
-                if (steps == 54 && rows == 6)
-                    return true;
-                if (steps == 63 && rows == 7)
-                    return true;
-            }
-            break;
-        }
-        return false;
-    }
+			if (steps % 9 == 0 && isEmpty(t)) {
+				if (steps == 9 && rows == 1)
+					return true;
+				if (steps == 18 && rows == 2)
+					return true;
+				if (steps == 27 && rows == 3)
+					return true;
+				if (steps == 36 && rows == 4)
+					return true;
+				if (steps == 45 && rows == 5)
+					return true;
+				if (steps == 54 && rows == 6)
+					return true;
+				if (steps == 63 && rows == 7)
+					return true;
+			}
+			break;
+		}
+		return false;
+	}
 
-    /**
-     * pop: undo the push operation.
-     */
-    public void undo() {
-        History h1 = null;
-        History h2 = null;
-        int size = stack.size();
-        int pos;
+	/**
+	 * pop: undo the push operation.
+	 */
+	public void undo() {
+		History h1 = null;
+		History h2 = null;
+		int size = stack.size();
+		int pos;
 
-        if (size < 2)
-            return;
+		if (size < 2)
+			return;
 
-        h1 = stack.remove(size - 1);
-        h2 = stack.remove(size - 2);
+		h1 = stack.remove(size - 1);
+		h2 = stack.remove(size - 2);
 
-        setPiece(h1.pos(), h1.piece());
-        setPiece(h2.pos(), h2.piece());
+		setPiece(h1.pos(), h1.piece());
+		setPiece(h2.pos(), h2.piece());
 
-        if (getType(h2.pos()) != EMPTY) {
-            pos = 2 * h2.pos() - h1.pos();
-            if (pos >= 0 && pos < 64)
-                setPiece(pos, new Piece(null, null, EMPTY, 0));
-        }
+		if (getType(h2.pos()) != EMPTY) {
+			pos = 2 * h2.pos() - h1.pos();
+			if (pos >= 0 && pos < 64)
+				setPiece(pos, new Piece(null, null, EMPTY, 0));
+		}
 
-        /* Reset the current player */
-        setBlacksTurn(h2.turn());
-    }
+		/* Reset the current player */
+		setBlacksTurn(h2.turn());
+	}
 
-    /**
-     * simulates a "valid" move or returns false. all changes are relative to
-     * pieces and will not be painted.
-     */
-    public boolean simulateMove(int t, int o) {
-        int rows = Math.abs(t / 8 - o / 8);
-        int pos;
+	/**
+	 * simulates a "valid" move or returns false. all changes are relative to
+	 * pieces and will not be painted.
+	 */
+	public boolean simulateMove(int t, int o) {
+		int rows = Math.abs(t / 8 - o / 8);
+		int pos;
 
-        if (!validMove(t, o)) {
-            return false;
-        }
+		if (!validMove(t, o)) {
+			return false;
+		}
 
-        if (rows == 2 && getType(o) == PIECE) {
-            pos = (t - o) / 2 + o;
-            push(getPiece(pos), pos, getPiece(o), o);
-            setPiece(pos, new Piece(null, null, EMPTY, 0));
-        } else
-            push(getPiece(t), t, getPiece(o), o);
+		if (rows == 2 && getType(o) == PIECE) {
+			pos = (t - o) / 2 + o;
+			push(getPiece(pos), pos, getPiece(o), o);
+			setPiece(pos, new Piece(null, null, EMPTY, 0));
+		} else
+			push(getPiece(t), t, getPiece(o), o);
 
-        setPiece(t, new Piece(getPiece(o)));
-        setPiece(o, new Piece(null, null, EMPTY, 0));
+		setPiece(t, new Piece(getPiece(o)));
+		setPiece(o, new Piece(null, null, EMPTY, 0));
 
-        return true;
-    }
+		return true;
+	}
 
-    /**
-     * performs a "valid" move or returns false. all changes are relative to
-     * board_pieces and will be painted.
-     */
-    public boolean doMove(int t, int o) {
-        int steps = Math.abs(t - o);
-        int rows = Math.abs(t / 8 - o / 8);
-        int pos;
+	/**
+	 * performs a "valid" move or returns false. all changes are relative to
+	 * board_pieces and will be painted.
+	 */
+	public boolean doMove(int t, int o) {
+		int steps = Math.abs(t - o);
+		int rows = Math.abs(t / 8 - o / 8);
+		int pos;
 
-        if (!validMove(t, o)) {
-            return false;
-        }
+		if (!validMove(t, o)) {
+			return false;
+		}
 
-        if (rows == 2 && getType(o) == PIECE) {
-            pos = (t - o) / 2 + o;
-            push(getPiece(pos), pos, getPiece(o), o);
-            setPiece(pos, new Piece(null, null, EMPTY, 0));
-        } else if (rows >= 2 && getType(o) == QUEEN) {
-            if (steps % 7 == 0) {
-                if (t > o)
-                    for (pos = o + 7; pos <= t - 7; pos += 7) {
-                        if (isEnemy(pos, o)) {
-                            push(getPiece(pos), pos, getPiece(o), o);
-                            setPiece(pos, new Piece(null, null, EMPTY, 0));
-                        }
-                    }
-                else {
-                    for (pos = o - 7; pos >= t + 7; pos -= 7) {
-                        if (isEnemy(pos, o)) {
-                            push(getPiece(pos), pos, getPiece(o), o);
-                            setPiece(pos, new Piece(null, null, EMPTY, 0));
-                        }
-                    }
-                }
-            }
+		if (rows == 2 && getType(o) == PIECE) {
+			pos = (t - o) / 2 + o;
+			push(getPiece(pos), pos, getPiece(o), o);
+			setPiece(pos, new Piece(null, null, EMPTY, 0));
+		} else if (rows >= 2 && getType(o) == QUEEN) {
+			if (steps % 7 == 0) {
+				if (t > o)
+					for (pos = o + 7; pos <= t - 7; pos += 7) {
+						if (isEnemy(pos, o)) {
+							push(getPiece(pos), pos, getPiece(o), o);
+							setPiece(pos, new Piece(null, null, EMPTY, 0));
+						}
+					}
+				else {
+					for (pos = o - 7; pos >= t + 7; pos -= 7) {
+						if (isEnemy(pos, o)) {
+							push(getPiece(pos), pos, getPiece(o), o);
+							setPiece(pos, new Piece(null, null, EMPTY, 0));
+						}
+					}
+				}
+			}
 
-            if (steps % 9 == 0) {
-                if (t > o)
-                    for (pos = o + 9; pos <= t - 9; pos += 9) {
-                        if (isEnemy(pos, o)) {
-                            push(getPiece(pos), pos, getPiece(o), o);
-                            setPiece(pos, new Piece(null, null, EMPTY, 0));
-                        }
-                    }
-                else {
-                    for (pos = o - 9; pos >= t + 9; pos -= 9) {
-                        if (isEnemy(pos, o)) {
-                            push(getPiece(pos), pos, getPiece(o), o);
-                            setPiece(pos, new Piece(null, null, EMPTY, 0));
-                        }
-                    }
-                }
-            }
-        }
+			if (steps % 9 == 0) {
+				if (t > o)
+					for (pos = o + 9; pos <= t - 9; pos += 9) {
+						if (isEnemy(pos, o)) {
+							push(getPiece(pos), pos, getPiece(o), o);
+							setPiece(pos, new Piece(null, null, EMPTY, 0));
+						}
+					}
+				else {
+					for (pos = o - 9; pos >= t + 9; pos -= 9) {
+						if (isEnemy(pos, o)) {
+							push(getPiece(pos), pos, getPiece(o), o);
+							setPiece(pos, new Piece(null, null, EMPTY, 0));
+						}
+					}
+				}
+			}
+		}
 
-        if (t <= 7 && getType(o) == PIECE)
-            setPiece(t, new Piece(white_super_sun));
-        else if (t >= 56 && getType(o) == PIECE)
-            setPiece(t, new Piece(black_super_sun));
-        else
-            setPiece(t, new Piece(getPiece(o)));
+		if (t <= 7 && getType(o) == PIECE)
+			setPiece(t, new Piece(white_super_sun));
+		else if (t >= 56 && getType(o) == PIECE)
+			setPiece(t, new Piece(black_super_sun));
+		else
+			setPiece(t, new Piece(getPiece(o)));
 
-        setPiece(o, new Piece(null, null, EMPTY, 0));
+		setPiece(o, new Piece(null, null, EMPTY, 0));
 
-        board_pieces = getPieces();
-        repaint();
+		board_pieces = getPieces();
+		repaint();
 
-        moveNr = stack.size();
+		moveNr = stack.size();
 
-        return true;
-    }
+		return true;
+	}
 }
--- a/org/homelinux/largo/games/board/chessboard/ChessBoard.java
+++ b/org/homelinux/largo/games/board/chessboard/ChessBoard.java
@@ -12,646 +12,641 @@
 import org.homelinux.largo.utils.ImgComponent;
 
 public class ChessBoard extends Board {
-    static final long serialVersionUID = 1L;
+	static final long serialVersionUID = 1L;
 
-    static final int ROOK = 1;
-    static final int KNIGHT = 2;
-    static final int BISHOP = 3;
-    static final int QUEEN = 4;
-    static final int KING = 5;
-    static final int PAWN = 6;
+	static final int ROOK = 1;
+	static final int KNIGHT = 2;
+	static final int BISHOP = 3;
+	static final int QUEEN = 4;
+	static final int KING = 5;
+	static final int PAWN = 6;
 
-    final Piece white_queen = new Piece(new ImgComponent("images/white_queen.png").getImage(), "white", QUEEN, 90);
-    final Piece black_queen = new Piece(new ImgComponent("images/black_queen.png").getImage(), "black", QUEEN, 90);
+	final Piece white_queen = new Piece(new ImgComponent("images/white_queen.png").getImage(), "white", QUEEN, 90);
+	final Piece black_queen = new Piece(new ImgComponent("images/black_queen.png").getImage(), "black", QUEEN, 90);
 
-    boolean white_rochades_small;
-    boolean white_rochades_big;
-    boolean black_rochades_small;
-    boolean black_rochades_big;
+	boolean white_rochades_small;
+	boolean white_rochades_big;
+	boolean black_rochades_small;
+	boolean black_rochades_big;
 
-    void initBoard() {
-        add(new ImgComponent("images/black_rook.png").getImage(), 0, "black", ROOK);
-        add(new ImgComponent("images/black_knight.png").getImage(), 1, "black", KNIGHT);
-        add(new ImgComponent("images/black_bishop.png").getImage(), 2, "black", BISHOP);
-        add(new ImgComponent("images/black_queen.png").getImage(), 3, "black", QUEEN);
-        add(new ImgComponent("images/black_king.png").getImage(), 4, "black", KING);
-        add(new ImgComponent("images/black_bishop.png").getImage(), 5, "black", BISHOP);
-        add(new ImgComponent("images/black_knight.png").getImage(), 6, "black", KNIGHT);
-        add(new ImgComponent("images/black_rook.png").getImage(), 7, "black", ROOK);
+	void initBoard() {
+		add(new ImgComponent("images/black_rook.png").getImage(), 0, "black", ROOK);
+		add(new ImgComponent("images/black_knight.png").getImage(), 1, "black", KNIGHT);
+		add(new ImgComponent("images/black_bishop.png").getImage(), 2, "black", BISHOP);
+		add(new ImgComponent("images/black_queen.png").getImage(), 3, "black", QUEEN);
+		add(new ImgComponent("images/black_king.png").getImage(), 4, "black", KING);
+		add(new ImgComponent("images/black_bishop.png").getImage(), 5, "black", BISHOP);
+		add(new ImgComponent("images/black_knight.png").getImage(), 6, "black", KNIGHT);
+		add(new ImgComponent("images/black_rook.png").getImage(), 7, "black", ROOK);
 
-        for (int i = 0; i < 8; i++)
-            add(new ImgComponent("images/black_pawn.png").getImage(), 8 + i, "black", PAWN);
+		for (int i = 0; i < 8; i++)
+			add(new ImgComponent("images/black_pawn.png").getImage(), 8 + i, "black", PAWN);
 
-        add(new ImgComponent("images/white_rook.png").getImage(), 56, "white", ROOK);
-        add(new ImgComponent("images/white_knight.png").getImage(), 57, "white", KNIGHT);
-        add(new ImgComponent("images/white_bishop.png").getImage(), 58, "white", BISHOP);
-        add(new ImgComponent("images/white_queen.png").getImage(), 59, "white", QUEEN);
-        add(new ImgComponent("images/white_king.png").getImage(), 60, "white", KING);
-        add(new ImgComponent("images/white_bishop.png").getImage(), 61, "white", BISHOP);
-        add(new ImgComponent("images/white_knight.png").getImage(), 62, "white", KNIGHT);
-        add(new ImgComponent("images/white_rook.png").getImage(), 63, "white", ROOK);
+		add(new ImgComponent("images/white_rook.png").getImage(), 56, "white", ROOK);
+		add(new ImgComponent("images/white_knight.png").getImage(), 57, "white", KNIGHT);
+		add(new ImgComponent("images/white_bishop.png").getImage(), 58, "white", BISHOP);
+		add(new ImgComponent("images/white_queen.png").getImage(), 59, "white", QUEEN);
+		add(new ImgComponent("images/white_king.png").getImage(), 60, "white", KING);
+		add(new ImgComponent("images/white_bishop.png").getImage(), 61, "white", BISHOP);
+		add(new ImgComponent("images/white_knight.png").getImage(), 62, "white", KNIGHT);
+		add(new ImgComponent("images/white_rook.png").getImage(), 63, "white", ROOK);
 
-        for (int i = 0; i < 8; i++)
-            add(new ImgComponent("images/white_pawn.png").getImage(), 55 - i, "white", PAWN);
-    }
+		for (int i = 0; i < 8; i++)
+			add(new ImgComponent("images/white_pawn.png").getImage(), 55 - i, "white", PAWN);
+	}
 
-    /**
-     * The init method initializes a complete chess board with figures and a
-     * history.
-     */
-    public void init() {
-        super.init();
-        initBoard();
-        board_pieces = getPieces();
-        repaint();
-    }
+	/**
+	 * The init method initializes a complete chess board with figures and a
+	 * history.
+	 */
+	public void init() {
+		super.init();
+		initBoard();
+		board_pieces = getPieces();
+		repaint();
+	}
 
-    public ChessBoard(int w, int h) {
-        super(w, h);
-    }
+	public ChessBoard(int w, int h) {
+		super(w, h);
+	}
 
-    void add(Image img, int i, String c, int t) {
-        int v = 0;
+	void add(Image img, int i, String c, int t) {
+		int v = 0;
 
-        switch (t) {
-        case ROOK:
-            v = 80;
-            break;
-        case KNIGHT:
-            v = 30;
-            break;
-        case BISHOP:
-            v = 30;
-            break;
-        case QUEEN:
-            v = 90;
-            break;
-        case KING:
-            v = 120;
-            break;
-        case PAWN:
-            v = 10;
-            break;
-        }
+		switch (t) {
+		case ROOK:
+			v = 80;
+			break;
+		case KNIGHT:
+			v = 30;
+			break;
+		case BISHOP:
+			v = 30;
+			break;
+		case QUEEN:
+			v = 90;
+			break;
+		case KING:
+			v = 120;
+			break;
+		case PAWN:
+			v = 10;
+			break;
+		}
 
-        setPiece(i, new Piece(img, c, t, v));
-    }
+		setPiece(i, new Piece(img, c, t, v));
+	}
 
-    /**
-     * returns true, when the white king is at pieces[i]
-     */
-    public boolean isWhiteKing(int i) {
-        if (isWhite(i) && getType(i) == KING)
-            return true;
-        return false;
-    }
+	/**
+	 * returns true, when the white king is at pieces[i]
+	 */
+	public boolean isWhiteKing(int i) {
+		if (isWhite(i) && getType(i) == KING)
+			return true;
+		return false;
+	}
 
-    /**
-     * returns true, when the black king is at pieces[i]
-     */
-    public boolean isBlackKing(int i) {
-        if (isBlack(i) && getType(i) == KING)
-            return true;
-        return false;
-    }
+	/**
+	 * returns true, when the black king is at pieces[i]
+	 */
+	public boolean isBlackKing(int i) {
+		if (isBlack(i) && getType(i) == KING)
+			return true;
+		return false;
+	}
 
-    /**
-     * Returns the score of the current position Every field controlled by
-     * [color] gives one point A King, controlled by [color], gives 10 extra
-     * points
-     */
-    public int controls(String color) {
-        int t, o;
-        int value = 0;
+	/**
+	 * Returns the score of the current position Every field controlled by
+	 * [color] gives one point A King, controlled by [color], gives 10 extra
+	 * points
+	 */
+	public int controls(String color) {
+		int t, o;
+		int value = 0;
 
-        for (o = 0; o < 64; o++) {
-            if (color.equals(getColor(o))) {
-                for (t = 0; t < 64; t++) {
-                    if (validMove(t, o)) {
-                        if (getType(t) == KING)
-                            value += 10;
-                        value++;
-                    }
-                }
-            }
-        }
-        return value;
-    }
+		for (o = 0; o < 64; o++) {
+			if (color.equals(getColor(o))) {
+				for (t = 0; t < 64; t++) {
+					if (validMove(t, o)) {
+						if (getType(t) == KING)
+							value += 10;
+						value++;
+					}
+				}
+			}
+		}
+		return value;
+	}
 
-    /**
-     * Checks, wether this move is possible or not.
-     */
-    public boolean validMove(int t, int o) {
-        int steps;
-        int rows;
-        int dx;
+	/**
+	 * Checks, wether this move is possible or not.
+	 */
+	public boolean validMove(int t, int o) {
+		int steps;
+		int rows;
+		int dx;
 
-        /* Must be here */
-        white_rochades_small = false;
-        white_rochades_big = false;
-        black_rochades_small = false;
-        black_rochades_big = false;
+		/* Must be here */
+		white_rochades_small = false;
+		white_rochades_big = false;
+		black_rochades_small = false;
+		black_rochades_big = false;
 
-        if (t == o)
-            return false;
+		if (t == o)
+			return false;
 
-        if (isSamePiece(t, o))
-            return false;
+		if (isSamePiece(t, o))
+			return false;
 
-        if (getType(o) == EMPTY)
-            return false;
+		if (getType(o) == EMPTY)
+			return false;
 
-        /*
-         * 00 01 02 03 04 05 06 07
-         * 08 09 10 11 12 13 14 15
-         * 16 17 18 19 20 21 22 23
-         * 24 25 26 27 28 29 30 31
-         * 32 33 34 35 36 37 38 39
-         * 40 41 42 43 44 45 46 47
-         * 48 49 50 51 52 53 54 55
-         * 56 57 58 59 60 61 62 63
-         */
+		/*
+		 * 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22
+		 * 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
+		 * 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
+		 */
 
-        steps = Math.abs(t - o);
-        rows = Math.abs(t / 8 - o / 8);
+		steps = Math.abs(t - o);
+		rows = Math.abs(t / 8 - o / 8);
 
-        switch (getType(o)) {
-        case ROOK:
-            if (steps < 8 && rows == 0) {
-                if (t > o)
-                    for (dx = o + 1; dx < t; dx++) {
-                        if (getColor(dx) != null) {
-                            return false;
-                        }
-                    }
-                else
-                    for (dx = o - 1; dx > t; dx--) {
-                        if (getColor(dx) != null) {
-                            return false;
-                        }
-                    }
-                return true;
-            }
-            if (steps % 8 == 0) {
-                if (t > o) {
-                    for (dx = o + 8; dx < t; dx += 8) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 8; dx > t; dx -= 8) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
-                if (steps == 8 && rows == 1)
-                    return true;
-                if (steps == 16 && rows == 2)
-                    return true;
-                if (steps == 24 && rows == 3)
-                    return true;
-                if (steps == 32 && rows == 4)
-                    return true;
-                if (steps == 40 && rows == 5)
-                    return true;
-                if (steps == 48 && rows == 6)
-                    return true;
-                if (steps == 56 && rows == 7)
-                    return true;
-            }
-            break;
-        case KNIGHT:
-            /* works fine */
-            if (steps == 6 && rows == 1)
-                return true;
-            if (steps == 10 && rows == 1)
-                return true;
-            if (steps == 15 && rows == 2)
-                return true;
-            if (steps == 17 && rows == 2)
-                return true;
-            break;
-        case BISHOP:
-            if (steps % 7 == 0) {
-                if (t > o) {
-                    for (dx = o + 7; dx < t; dx += 7) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 7; dx > t; dx -= 7) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
-                if (steps == 7 && rows == 1)
-                    return true;
-                if (steps == 14 && rows == 2)
-                    return true;
-                if (steps == 21 && rows == 3)
-                    return true;
-                if (steps == 28 && rows == 4)
-                    return true;
-                if (steps == 35 && rows == 5)
-                    return true;
-                if (steps == 42 && rows == 6)
-                    return true;
-                if (steps == 49 && rows == 7)
-                    return true;
-            }
-            if (steps % 9 == 0) {
-                if (t > o) {
-                    for (dx = o + 9; dx < t; dx += 9) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 9; dx > t; dx -= 9) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
-                if (steps == 9 && rows == 1)
-                    return true;
-                if (steps == 18 && rows == 2)
-                    return true;
-                if (steps == 27 && rows == 3)
-                    return true;
-                if (steps == 36 && rows == 4)
-                    return true;
-                if (steps == 45 && rows == 5)
-                    return true;
-                if (steps == 54 && rows == 6)
-                    return true;
-                if (steps == 63 && rows == 7)
-                    return true;
-            }
-            break;
+		switch (getType(o)) {
+		case ROOK:
+			if (steps < 8 && rows == 0) {
+				if (t > o)
+					for (dx = o + 1; dx < t; dx++) {
+						if (getColor(dx) != null) {
+							return false;
+						}
+					}
+				else
+					for (dx = o - 1; dx > t; dx--) {
+						if (getColor(dx) != null) {
+							return false;
+						}
+					}
+				return true;
+			}
+			if (steps % 8 == 0) {
+				if (t > o) {
+					for (dx = o + 8; dx < t; dx += 8) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 8; dx > t; dx -= 8) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
+				if (steps == 8 && rows == 1)
+					return true;
+				if (steps == 16 && rows == 2)
+					return true;
+				if (steps == 24 && rows == 3)
+					return true;
+				if (steps == 32 && rows == 4)
+					return true;
+				if (steps == 40 && rows == 5)
+					return true;
+				if (steps == 48 && rows == 6)
+					return true;
+				if (steps == 56 && rows == 7)
+					return true;
+			}
+			break;
+		case KNIGHT:
+			/* works fine */
+			if (steps == 6 && rows == 1)
+				return true;
+			if (steps == 10 && rows == 1)
+				return true;
+			if (steps == 15 && rows == 2)
+				return true;
+			if (steps == 17 && rows == 2)
+				return true;
+			break;
+		case BISHOP:
+			if (steps % 7 == 0) {
+				if (t > o) {
+					for (dx = o + 7; dx < t; dx += 7) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 7; dx > t; dx -= 7) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
+				if (steps == 7 && rows == 1)
+					return true;
+				if (steps == 14 && rows == 2)
+					return true;
+				if (steps == 21 && rows == 3)
+					return true;
+				if (steps == 28 && rows == 4)
+					return true;
+				if (steps == 35 && rows == 5)
+					return true;
+				if (steps == 42 && rows == 6)
+					return true;
+				if (steps == 49 && rows == 7)
+					return true;
+			}
+			if (steps % 9 == 0) {
+				if (t > o) {
+					for (dx = o + 9; dx < t; dx += 9) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 9; dx > t; dx -= 9) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
+				if (steps == 9 && rows == 1)
+					return true;
+				if (steps == 18 && rows == 2)
+					return true;
+				if (steps == 27 && rows == 3)
+					return true;
+				if (steps == 36 && rows == 4)
+					return true;
+				if (steps == 45 && rows == 5)
+					return true;
+				if (steps == 54 && rows == 6)
+					return true;
+				if (steps == 63 && rows == 7)
+					return true;
+			}
+			break;
 
-        case QUEEN:
-            if (steps < 8 && rows == 0) {
-                if (t > o)
-                    for (dx = o + 1; dx < t; dx++) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                else
-                    for (dx = o - 1; dx > t; dx--) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                return true;
-            }
+		case QUEEN:
+			if (steps < 8 && rows == 0) {
+				if (t > o)
+					for (dx = o + 1; dx < t; dx++) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				else
+					for (dx = o - 1; dx > t; dx--) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				return true;
+			}
 
-            if (steps % 8 == 0) {
-                if (t > o) {
-                    for (dx = o + 8; dx < t; dx += 8) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 8; dx > t; dx -= 8) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
+			if (steps % 8 == 0) {
+				if (t > o) {
+					for (dx = o + 8; dx < t; dx += 8) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 8; dx > t; dx -= 8) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
 
-                if (steps == 8 && rows == 1)
-                    return true;
-                if (steps == 16 && rows == 2)
-                    return true;
-                if (steps == 24 && rows == 3)
-                    return true;
-                if (steps == 32 && rows == 4)
-                    return true;
-                if (steps == 40 && rows == 5)
-                    return true;
-                if (steps == 48 && rows == 6)
-                    return true;
-                if (steps == 56 && rows == 7)
-                    return true;
-            }
-            if (steps % 7 == 0) {
-                if (t > o) {
-                    for (dx = o + 7; dx < t; dx += 7) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 7; dx > t; dx -= 7) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
-                if (steps == 7 && rows == 1)
-                    return true;
-                if (steps == 14 && rows == 2)
-                    return true;
-                if (steps == 21 && rows == 3)
-                    return true;
-                if (steps == 28 && rows == 4)
-                    return true;
-                if (steps == 35 && rows == 5)
-                    return true;
-                if (steps == 42 && rows == 6)
-                    return true;
-                if (steps == 49 && rows == 7)
-                    return true;
-            }
+				if (steps == 8 && rows == 1)
+					return true;
+				if (steps == 16 && rows == 2)
+					return true;
+				if (steps == 24 && rows == 3)
+					return true;
+				if (steps == 32 && rows == 4)
+					return true;
+				if (steps == 40 && rows == 5)
+					return true;
+				if (steps == 48 && rows == 6)
+					return true;
+				if (steps == 56 && rows == 7)
+					return true;
+			}
+			if (steps % 7 == 0) {
+				if (t > o) {
+					for (dx = o + 7; dx < t; dx += 7) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 7; dx > t; dx -= 7) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
+				if (steps == 7 && rows == 1)
+					return true;
+				if (steps == 14 && rows == 2)
+					return true;
+				if (steps == 21 && rows == 3)
+					return true;
+				if (steps == 28 && rows == 4)
+					return true;
+				if (steps == 35 && rows == 5)
+					return true;
+				if (steps == 42 && rows == 6)
+					return true;
+				if (steps == 49 && rows == 7)
+					return true;
+			}
 
-            if (steps % 9 == 0) {
-                if (t > o) {
-                    for (dx = o + 9; dx < t; dx += 9) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 9; dx > t; dx -= 9) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
-                if (steps == 9 && rows == 1)
-                    return true;
-                if (steps == 18 && rows == 2)
-                    return true;
-                if (steps == 27 && rows == 3)
-                    return true;
-                if (steps == 36 && rows == 4)
-                    return true;
-                if (steps == 45 && rows == 5)
-                    return true;
-                if (steps == 54 && rows == 6)
-                    return true;
-                if (steps == 63 && rows == 7)
-                    return true;
-            }
-            break;
+			if (steps % 9 == 0) {
+				if (t > o) {
+					for (dx = o + 9; dx < t; dx += 9) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 9; dx > t; dx -= 9) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
+				if (steps == 9 && rows == 1)
+					return true;
+				if (steps == 18 && rows == 2)
+					return true;
+				if (steps == 27 && rows == 3)
+					return true;
+				if (steps == 36 && rows == 4)
+					return true;
+				if (steps == 45 && rows == 5)
+					return true;
+				if (steps == 54 && rows == 6)
+					return true;
+				if (steps == 63 && rows == 7)
+					return true;
+			}
+			break;
 
-        case KING:
-            if ((steps == 1) && (rows == 0))
-                return true;
+		case KING:
+			if ((steps == 1) && (rows == 0))
+				return true;
 
-            if ((steps == 8) && (rows == 1))
-                return true;
+			if ((steps == 8) && (rows == 1))
+				return true;
 
-            if ((steps == 7) && (rows == 1))
-                return true;
+			if ((steps == 7) && (rows == 1))
+				return true;
 
-            if ((steps == 9) && (rows == 1))
-                return true;
+			if ((steps == 9) && (rows == 1))
+				return true;
 
-            if ((steps == 2) && (rows == 0)) {
-                if (isWhiteKing(o)) { /* White: Rochade */
-                    if (isWhiteKing(60) && isEmpty(61) && isEmpty(62) && (t == 62)) {
-                        if ((getType(63) == ROOK) && isWhite(63)) {
-                            white_rochades_small = true;
-                            return true;
-                        }
-                    }
+			if ((steps == 2) && (rows == 0)) {
+				if (isWhiteKing(o)) { /* White: Rochade */
+					if (isWhiteKing(60) && isEmpty(61) && isEmpty(62) && (t == 62)) {
+						if ((getType(63) == ROOK) && isWhite(63)) {
+							white_rochades_small = true;
+							return true;
+						}
+					}
 
-                    if (isWhiteKing(60) && isEmpty(59) && isEmpty(58) && isEmpty(57) && (t == 58)) {
-                        if ((getType(56) == ROOK) && isWhite(56)) {
-                            white_rochades_big = true;
-                            return true;
-                        }
-                    }
-                }
+					if (isWhiteKing(60) && isEmpty(59) && isEmpty(58) && isEmpty(57) && (t == 58)) {
+						if ((getType(56) == ROOK) && isWhite(56)) {
+							white_rochades_big = true;
+							return true;
+						}
+					}
+				}
 
-                if (isBlackKing(o)) { /* Black: Rochade */
-                    if (isBlackKing(4) && isEmpty(5) && isEmpty(6) && (t == 6)) {
-                        if ((getType(7) == ROOK) && isBlack(7)) {
-                            black_rochades_small = true;
-                            return true;
-                        }
-                    }
+				if (isBlackKing(o)) { /* Black: Rochade */
+					if (isBlackKing(4) && isEmpty(5) && isEmpty(6) && (t == 6)) {
+						if ((getType(7) == ROOK) && isBlack(7)) {
+							black_rochades_small = true;
+							return true;
+						}
+					}
 
-                    if (isBlackKing(4) && isEmpty(3) && isEmpty(2) && isEmpty(1) && (t == 2)) {
-                        if ((getType(0) == ROOK) && isBlack(0)) {
-                            black_rochades_big = true;
-                            return true;
-                        }
-                    }
-                }
-            }
-            break;
+					if (isBlackKing(4) && isEmpty(3) && isEmpty(2) && isEmpty(1) && (t == 2)) {
+						if ((getType(0) == ROOK) && isBlack(0)) {
+							black_rochades_big = true;
+							return true;
+						}
+					}
+				}
+			}
+			break;
 
-        case PAWN:
-            if (getColor(o).equals("white")) {
-                if (steps == 7 && rows == 1 && isEnemy(t, o) && t < o)
-                    return true;
+		case PAWN:
+			if (getColor(o).equals("white")) {
+				if (steps == 7 && rows == 1 && isEnemy(t, o) && t < o)
+					return true;
 
-                if (steps == 9 && rows == 1 && isEnemy(t, o) && t < o)
-                    return true;
-            } else {
-                if (steps == 7 && rows == 1 && isEnemy(t, o) && t > o)
-                    return true;
+				if (steps == 9 && rows == 1 && isEnemy(t, o) && t < o)
+					return true;
+			} else {
+				if (steps == 7 && rows == 1 && isEnemy(t, o) && t > o)
+					return true;
 
-                if (steps == 9 && rows == 1 && isEnemy(t, o) && t > o)
-                    return true;
-            }
+				if (steps == 9 && rows == 1 && isEnemy(t, o) && t > o)
+					return true;
+			}
 
-            if (steps % 8 == 0) {
-                if (t > o) {
-                    for (dx = o + 8; dx <= t; dx += 8) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                } else {
-                    for (dx = o - 8; dx >= t; dx -= 8) {
-                        if (getColor(dx) != null)
-                            return false;
-                    }
-                }
+			if (steps % 8 == 0) {
+				if (t > o) {
+					for (dx = o + 8; dx <= t; dx += 8) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				} else {
+					for (dx = o - 8; dx >= t; dx -= 8) {
+						if (getColor(dx) != null)
+							return false;
+					}
+				}
 
-                if (steps == 8 && rows == 1) {
-                    if (getColor(o).equals("white") && t < o)
-                        return true;
-                    if (getColor(o).equals("black") && t > o)
-                        return true;
-                }
+				if (steps == 8 && rows == 1) {
+					if (getColor(o).equals("white") && t < o)
+						return true;
+					if (getColor(o).equals("black") && t > o)
+						return true;
+				}
 
-                if (steps == 16 && rows == 2 && (o >= 8 && o <= 15)) {
-                    if (getColor(o).equals("white") && t < o)
-                        return true;
-                    if (getColor(o).equals("black") && t > o)
-                        return true;
-                }
+				if (steps == 16 && rows == 2 && (o >= 8 && o <= 15)) {
+					if (getColor(o).equals("white") && t < o)
+						return true;
+					if (getColor(o).equals("black") && t > o)
+						return true;
+				}
 
-                if (steps == 16 && rows == 2 && (o >= 48 && o <= 55)) {
-                    if (getColor(o).equals("white") && t < o)
-                        return true;
-                    if (getColor(o).equals("black") && t > o)
-                        return true;
-                }
-            }
-            break;
-        }
-        return false;
-    }
+				if (steps == 16 && rows == 2 && (o >= 48 && o <= 55)) {
+					if (getColor(o).equals("white") && t < o)
+						return true;
+					if (getColor(o).equals("black") && t > o)
+						return true;
+				}
+			}
+			break;
+		}
+		return false;
+	}
 
-    /**
-     * This method must be called immediately after isValidMove(t, o)
-     */
-    boolean rochade() {
-        if (white_rochades_small) {
-            setPiece(61, getPiece(63));
-            setPiece(63, new Piece(null, null, EMPTY, 0));
-            return true;
-        }
+	/**
+	 * This method must be called immediately after isValidMove(t, o)
+	 */
+	boolean rochade() {
+		if (white_rochades_small) {
+			setPiece(61, getPiece(63));
+			setPiece(63, new Piece(null, null, EMPTY, 0));
+			return true;
+		}
 
-        if (white_rochades_big) {
-            setPiece(59, getPiece(56));
-            setPiece(56, new Piece(null, null, EMPTY, 0));
-            return true;
-        }
+		if (white_rochades_big) {
+			setPiece(59, getPiece(56));
+			setPiece(56, new Piece(null, null, EMPTY, 0));
+			return true;
+		}
 
-        if (black_rochades_small) {
-            setPiece(5, getPiece(7));
-            setPiece(7, new Piece(null, null, EMPTY, 0));
-            return true;
-        }
+		if (black_rochades_small) {
+			setPiece(5, getPiece(7));
+			setPiece(7, new Piece(null, null, EMPTY, 0));
+			return true;
+		}
 
-        if (black_rochades_big) {
-            setPiece(3, getPiece(0));
-            setPiece(0, new Piece(null, null, EMPTY, 0));
-            return true;
-        }
+		if (black_rochades_big) {
+			setPiece(3, getPiece(0));
+			setPiece(0, new Piece(null, null, EMPTY, 0));
+			return true;
+		}
 
-        return false;
-    }
+		return false;
+	}
 
-    /**
-     * checks, whether color is in check or not.
-     */
-    public boolean isCheck(String color) {
-        int i;
-        int wking;
-        int bking;
+	/**
+	 * checks, whether color is in check or not.
+	 */
+	public boolean isCheck(String color) {
+		int i;
+		int wking;
+		int bking;
 
-        wking = bking = -1;
+		wking = bking = -1;
 
-        for (i = 0; i < 64; i++) {
-            if (isWhiteKing(i)) {
-                wking = i;
-            }
-            if (isBlackKing(i)) {
-                bking = i;
-            }
-        }
+		for (i = 0; i < 64; i++) {
+			if (isWhiteKing(i)) {
+				wking = i;
+			}
+			if (isBlackKing(i)) {
+				bking = i;
+			}
+		}
 
-        // returns 64 false positives
-        if (wking == -1 || bking == -1)
-            return true;
+		// returns 64 false positives
+		if (wking == -1 || bking == -1)
+			return true;
 
-        if (color.equals("white")) {
-            for (i = 0; i < 64; i++)
-                if (validMove(wking, i)) {
-                    return true;
-                }
+		if (color.equals("white")) {
+			for (i = 0; i < 64; i++)
+				if (validMove(wking, i)) {
+					return true;
+				}
 
-            return false;
-        }
+			return false;
+		}
 
-        if (color.equals("black")) {
-            for (i = 0; i < 64; i++)
-                if (validMove(bking, i)) {
-                    return true;
-                }
+		if (color.equals("black")) {
+			for (i = 0; i < 64; i++)
+				if (validMove(bking, i)) {
+					return true;
+				}
 
-            return false;
-        }
-        return false;
-    }
+			return false;
+		}
+		return false;
+	}
 
-    /**
-     * simulates a "valid" move or returns false. all changes are relative to
-     * pieces and will not be painted. This method sets internal variables for
-     * the rochade() method, which will be overwritten.
-     */
-    public boolean simulateMove(int t, int o) {
-        if (!validMove(t, o)) {
-            return false;
-        }
+	/**
+	 * simulates a "valid" move or returns false. all changes are relative to
+	 * pieces and will not be painted. This method sets internal variables for
+	 * the rochade() method, which will be overwritten.
+	 */
+	public boolean simulateMove(int t, int o) {
+		if (!validMove(t, o)) {
+			return false;
+		}
 
-        push(getPiece(t), t, getPiece(o), o);
+		push(getPiece(t), t, getPiece(o), o);
 
-        if (getType(o) == PAWN) {
-            if (isBlack(o) && t >= 56)
-                setPiece(o, new Piece(black_queen));
+		if (getType(o) == PAWN) {
+			if (isBlack(o) && t >= 56)
+				setPiece(o, new Piece(black_queen));
 
-            if (isWhite(o) && t <= 7)
-                setPiece(o, new Piece(white_queen));
-        }
+			if (isWhite(o) && t <= 7)
+				setPiece(o, new Piece(white_queen));
+		}
 
-        setPiece(t, new Piece(getPiece(o)));
-        setPiece(o, new Piece(null, null, EMPTY, 0));
+		setPiece(t, new Piece(getPiece(o)));
+		setPiece(o, new Piece(null, null, EMPTY, 0));
 
-        if (isCheck(getColor(t))) {
-            /* restore current position */
-            if (UNDO_DEBUG)
-                print("UNDO", t, o, 0);
-            undo();
-            return false;
-        }
+		if (isCheck(getColor(t))) {
+			/* restore current position */
+			if (UNDO_DEBUG)
+				print("UNDO", t, o, 0);
+			undo();
+			return false;
+		}
 
-        return true;
-    }
+		return true;
+	}
 
-    /**
-     * performs a "valid" move or returns false. all changes are relative to
-     * board_pieces and will be painted.
-     */
-    public boolean doMove(int t, int o) {
-        if (!validMove(t, o)) {
-            return false;
-        }
+	/**
+	 * performs a "valid" move or returns false. all changes are relative to
+	 * board_pieces and will be painted.
+	 */
+	public boolean doMove(int t, int o) {
+		if (!validMove(t, o)) {
+			return false;
+		}
 
-        push(getPiece(t), t, getPiece(o), o);
+		push(getPiece(t), t, getPiece(o), o);
 
-        if (getType(o) == PAWN) {
-            if (isBlack(o) && t >= 56)
-                setPiece(o, new Piece(black_queen));
+		if (getType(o) == PAWN) {
+			if (isBlack(o) && t >= 56)
+				setPiece(o, new Piece(black_queen));
 
-            if (isWhite(o) && t <= 7)
-                setPiece(o, new Piece(white_queen));
-        }
+			if (isWhite(o) && t <= 7)
+				setPiece(o, new Piece(white_queen));
+		}
 
-        setPiece(t, new Piece(getPiece(o)));
-        setPiece(o, new Piece(null, null, EMPTY, 0));
+		setPiece(t, new Piece(getPiece(o)));
+		setPiece(o, new Piece(null, null, EMPTY, 0));
 
-        if (rochade())
-            System.out.println("Rochade");
+		if (rochade())
+			System.out.println("Rochade");
 
-        if (isCheck(getColor(t))) {
-            // restore current positions
-            if (UNDO_DEBUG)
-                print("UNDO", t, o, 0);
-            undo();
-            return false;
-        }
+		if (isCheck(getColor(t))) {
+			// restore current positions
+			if (UNDO_DEBUG)
+				print("UNDO", t, o, 0);
+			undo();
+			return false;
+		}
 
-        board_pieces = getPieces();
-        repaint();
+		board_pieces = getPieces();
+		repaint();
 
-        moveNr = stack.size();
+		moveNr = stack.size();
 
-        return true;
-    }
+		return true;
+	}
 
-    /**
-     * converts the internal representation into normal chess notation and
-     * writes it to stdout
-     */
-    public void print(String s, int t, int o, int value) {
-        int row1, col1, row2, col2;
+	/**
+	 * converts the internal representation into normal chess notation and
+	 * writes it to stdout
+	 */
+	public void print(String s, int t, int o, int value) {
+		int row1, col1, row2, col2;
 
-        row1 = o / 8;
-        col1 = o - (8 * row1);
+		row1 = o / 8;
+		col1 = o - (8 * row1);
 
-        row2 = t / 8;
-        col2 = t - (8 * row2);
+		row2 = t / 8;
+		col2 = t - (8 * row2);
 
-        System.out.printf("%s: %C%d-%c%d = %3d%n", s, ('A') + col1, 8 - row1, ('A') + col2, 8 - row2, value);
-    }
+		System.out.printf("%s: %C%d-%c%d = %3d%n", s, ('A') + col1, 8 - row1, ('A') + col2, 8 - row2, value);
+	}
 }
--- a/org/homelinux/largo/schach/KIBoard.java
+++ b/org/homelinux/largo/schach/KIBoard.java
@@ -9,205 +9,205 @@
 import org.homelinux.largo.games.board.chessboard.ChessBoard;
 
 public class KIBoard extends ChessBoard {
-    static final long serialVersionUID = 1L;
-    static final int game_const = 500;
+	static final long serialVersionUID = 1L;
+	static final int game_const = 500;
 
-    protected boolean SIMU_DEBUG = false;
-    private boolean negate_estimation = false;
+	protected boolean SIMU_DEBUG = false;
+	private boolean negate_estimation = false;
 
-    private Move bestMove;
-    private int desired_depth;
+	private Move bestMove;
+	private int desired_depth;
 
-    public KIBoard(int w, int h) {
-        super(w, h);
-        desired_depth = -1;
-    }
+	public KIBoard(int w, int h) {
+		super(w, h);
+		desired_depth = -1;
+	}
 
-    /**
-     * Set the current DEBUG-Level: simu: print all valid, simulated moves undo:
-     * print all undos
-     */
-    public void setDebug(boolean simu, boolean undo) {
-        SIMU_DEBUG = simu;
-        UNDO_DEBUG = undo;
-    }
+	/**
+	 * Set the current DEBUG-Level: simu: print all valid, simulated moves undo:
+	 * print all undos
+	 */
+	public void setDebug(boolean simu, boolean undo) {
+		SIMU_DEBUG = simu;
+		UNDO_DEBUG = undo;
+	}
 
-    public boolean simu_debug() {
-        return SIMU_DEBUG;
-    }
+	public boolean simu_debug() {
+		return SIMU_DEBUG;
+	}
 
-    public boolean undo_debug() {
-        return UNDO_DEBUG;
-    }
+	public boolean undo_debug() {
+		return UNDO_DEBUG;
+	}
 
-    /**
-     * This function flips the sides: Player A maximizes and Player B minimizes
-     */
-    public void negateEstimation(boolean b) {
-        negate_estimation = b;
-    }
+	/**
+	 * This function flips the sides: Player A maximizes and Player B minimizes
+	 */
+	public void negateEstimation(boolean b) {
+		negate_estimation = b;
+	}
 
-    /**
-     * The Minimax-Algorithm works for TWO-PLAYER Games Player A minimizes,
-     * Player B maximizes
-     */
-    public int estimateFunction() {
-        int i;
-        int white = 0;
-        int black = 0;
+	/**
+	 * The Minimax-Algorithm works for TWO-PLAYER Games Player A minimizes,
+	 * Player B maximizes
+	 */
+	public int estimateFunction() {
+		int i;
+		int white = 0;
+		int black = 0;
 
-        for (i = 0; i < 64; i++) {
-            if (isWhite(i))
-                white += getValue(i);
-            else if (isBlack(i))
-                black += getValue(i);
-        }
+		for (i = 0; i < 64; i++) {
+			if (isWhite(i))
+				white += getValue(i);
+			else if (isBlack(i))
+				black += getValue(i);
+		}
 
-        // Bewerte Entwicklung, Anzahl der Steine
-        // Das hier ist alles zu lahm...
-        white += controls("white");
-        black += controls("black");
+		// Bewerte Entwicklung, Anzahl der Steine
+		// Das hier ist alles zu lahm...
+		white += controls("white");
+		black += controls("black");
 
-        /**
-         * solves ticket #3
-         */
-        if (negate_estimation)
-            return white - black;
+		/**
+		 * solves ticket #3
+		 */
+		if (negate_estimation)
+			return white - black;
 
-        return black - white;
-    }
+		return black - white;
+	}
 
-    /**
-     * simulates and returns the next possible move for a Player or null, when
-     * no more moves are possible. The Turn will flip automatically if
-     * "simulate(...)" finds a valid move.
-     */
-    Move simulate(int t, int o) {
-        Move move;
-        int value;
+	/**
+	 * simulates and returns the next possible move for a Player or null, when
+	 * no more moves are possible. The Turn will flip automatically if
+	 * "simulate(...)" finds a valid move.
+	 */
+	Move simulate(int t, int o) {
+		Move move;
+		int value;
 
-        if (validTurn(o)) {
-            while (t < 64) {
-                if (!simulateMove(t, o)) {
-                    t++;
-                    continue;
-                }
+		if (validTurn(o)) {
+			while (t < 64) {
+				if (!simulateMove(t, o)) {
+					t++;
+					continue;
+				}
 
-                value = estimateFunction();
-                if (SIMU_DEBUG)
-                    print("SIMU", t, o, value);
+				value = estimateFunction();
+				if (SIMU_DEBUG)
+					print("SIMU", t, o, value);
 
-                move = new Move(value, t, o);
+				move = new Move(value, t, o);
 
-                /* Flip Sides */
-                setBlacksTurn(!isBlacksTurn());
-                return move;
-            }
-        }
-        return null;
-    }
+				/* Flip Sides */
+				setBlacksTurn(!isBlacksTurn());
+				return move;
+			}
+		}
+		return null;
+	}
 
-    /**
-     * AlphaBeta-Algorithm: the Maximizer
-     */
-    int max_alpha_beta(int depth, int alpha, int beta) {
-        int moveValue;
-        int o, t;
-        Move move;
+	/**
+	 * AlphaBeta-Algorithm: the Maximizer
+	 */
+	int max_alpha_beta(int depth, int alpha, int beta) {
+		int moveValue;
+		int o, t;
+		Move move;
 
-        if (desired_depth == -1)
-            desired_depth = depth;
+		if (desired_depth == -1)
+			desired_depth = depth;
 
-        for (o = 0; o < 64; o++) {
-            t = 0;
-            while ((move = simulate(t, o)) != null) {
-                /* particular move from black */
-                t = move.target;
+		for (o = 0; o < 64; o++) {
+			t = 0;
+			while ((move = simulate(t, o)) != null) {
+				/* particular move from black */
+				t = move.target;
 
-                if (depth == 0 || Math.abs(move.value) > game_const)
-                    moveValue = move.value;
-                else
-                    /* best next move */
-                    moveValue = min_alpha_beta(depth - 1, alpha, beta);
+				if (depth == 0 || Math.abs(move.value) > game_const)
+					moveValue = move.value;
+				else
+					/* best next move */
+					moveValue = min_alpha_beta(depth - 1, alpha, beta);
 
-                undo();
-                t++;
+				undo();
+				t++;
 
-                if (moveValue >= beta)
-                    return beta;
+				if (moveValue >= beta)
+					return beta;
 
-                if (moveValue > alpha) {
-                    alpha = moveValue;
-                    if (depth == desired_depth)
-                        bestMove = move;
-                }
-            }
-        }
+				if (moveValue > alpha) {
+					alpha = moveValue;
+					if (depth == desired_depth)
+						bestMove = move;
+				}
+			}
+		}
 
-        return alpha;
-    }
+		return alpha;
+	}
 
-    /**
-     * AlphaBeta-Algorithm: the Minimizer
-     */
-    int min_alpha_beta(int depth, int alpha, int beta) {
-        int moveValue;
-        int o, t;
-        Move move;
+	/**
+	 * AlphaBeta-Algorithm: the Minimizer
+	 */
+	int min_alpha_beta(int depth, int alpha, int beta) {
+		int moveValue;
+		int o, t;
+		Move move;
 
-        for (o = 0; o < 64; o++) {
-            t = 0;
-            while ((move = simulate(t, o)) != null) {
-                /* particular move from white */
-                t = move.target;
+		for (o = 0; o < 64; o++) {
+			t = 0;
+			while ((move = simulate(t, o)) != null) {
+				/* particular move from white */
+				t = move.target;
 
-                if (depth == 0 || Math.abs(move.value) > game_const)
-                    moveValue = move.value;
-                else
-                    /* best next move */
-                    moveValue = max_alpha_beta(depth - 1, alpha, beta);
+				if (depth == 0 || Math.abs(move.value) > game_const)
+					moveValue = move.value;
+				else
+					/* best next move */
+					moveValue = max_alpha_beta(depth - 1, alpha, beta);
 
-                undo();
-                t++;
+				undo();
+				t++;
 
-                if (moveValue <= alpha)
-                    return alpha;
+				if (moveValue <= alpha)
+					return alpha;
 
-                if (moveValue < beta)
-                    beta = moveValue;
-            }
-        }
+				if (moveValue < beta)
+					beta = moveValue;
+			}
+		}
 
-        return beta;
-    }
+		return beta;
+	}
 
-    /**
-     * Evaluates the next, best Move after search_depth half-moves. When the
-     * Machine has Black, set negateEstimation(false); When the Machine has
-     * White, set negateEstimation(true);
-     */
-    public boolean doBestMove(int search_depth) {
-        int value;
-        desired_depth = -1;
-        bestMove = null;
+	/**
+	 * Evaluates the next, best Move after search_depth half-moves. When the
+	 * Machine has Black, set negateEstimation(false); When the Machine has
+	 * White, set negateEstimation(true);
+	 */
+	public boolean doBestMove(int search_depth) {
+		int value;
+		desired_depth = -1;
+		bestMove = null;
 
-        value = max_alpha_beta(search_depth, Integer.MIN_VALUE, Integer.MAX_VALUE);
+		value = max_alpha_beta(search_depth, Integer.MIN_VALUE, Integer.MAX_VALUE);
 
-        if (bestMove == null) {
-            System.err.println("Computing once more...");
-            value = max_alpha_beta(--search_depth, Integer.MIN_VALUE, Integer.MAX_VALUE);
-            if (bestMove == null) {
-                System.out.println("Check Mate " + value);
-                return false;
-            }
-        }
+		if (bestMove == null) {
+			System.err.println("Computing once more...");
+			value = max_alpha_beta(--search_depth, Integer.MIN_VALUE, Integer.MAX_VALUE);
+			if (bestMove == null) {
+				System.out.println("Check Mate " + value);
+				return false;
+			}
+		}
 
-        if (doMove(bestMove.target, bestMove.origin)) {
-            print(getColor(bestMove.target), bestMove.target, bestMove.origin, bestMove.value);
-            return true;
-        }
+		if (doMove(bestMove.target, bestMove.origin)) {
+			print(getColor(bestMove.target), bestMove.target, bestMove.origin, bestMove.value);
+			return true;
+		}
 
-        print("Check Mate", bestMove.target, bestMove.origin, bestMove.value);
-        return false;
-    }
+		print("Check Mate", bestMove.target, bestMove.origin, bestMove.value);
+		return false;
+	}
 }
--- a/org/homelinux/largo/schach/Schach.java
+++ b/org/homelinux/largo/schach/Schach.java
@@ -22,214 +22,215 @@
 import org.homelinux.largo.utils.BrowserLaunch;
 
 public class Schach extends JFrame implements Runnable {
-    static final long serialVersionUID = 1L;
-    static final String helpURL = "http://largo.homelinux.org/cgi-bin/gitweb.cgi?p=games/Schach.git;a=summary";
+	static final long serialVersionUID = 1L;
+	static final String helpURL = "https://www.4customers.de/hg/Schach";
 
-    MouseListener listener;
-    KIBoard board;
-    Point p;
-    JLabel human = new JLabel("<html><font size='5' color='#FFFFFF'>Human</font></html>");
-    JLabel computer = new JLabel("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-    JButton neu = new JButton("Play");
-    JButton pconly = new JButton("PC-PC");
-    JButton back = new JButton("Back");
-    JButton forward = new JButton("For");
-    JButton help = new JButton("Source");
+	MouseListener listener;
+	KIBoard board;
+	Point p;
+	JLabel human = new JLabel("<html><font size='5' color='#FFFFFF'>Human</font></html>");
+	JLabel computer = new JLabel("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+	JButton neu = new JButton("Play");
+	JButton pconly = new JButton("PC-PC");
+	JButton back = new JButton("Back");
+	JButton forward = new JButton("For");
+	JButton help = new JButton("Source");
 
-    SpinnerNumberModel model = new SpinnerNumberModel(4, 1, 8, 1);
-    JSpinner combo = new JSpinner(model);
+	SpinnerNumberModel model = new SpinnerNumberModel(4, 1, 8, 1);
+	JSpinner combo = new JSpinner(model);
 
-    JPanel panel;
-    JPanel fpanel;
+	JPanel panel;
+	JPanel fpanel;
 
-    int search_depth;
+	int search_depth;
 
-    boolean pc_only;
+	boolean pc_only;
 
-    public Schach(int w, int h) {
-        super("Chess by Largo Enterprises");
-        setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
-        board = new KIBoard(w, h);
+	public Schach(int w, int h) {
+		super("Chess by 4customers.de");
+		setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
+		board = new KIBoard(w, h);
 
-        fpanel = new JPanel();
-        fpanel.add(back);
-        fpanel.add(neu);
-        fpanel.add(combo);
-        fpanel.add(pconly);
-        fpanel.add(help);
-        fpanel.add(forward);
+		fpanel = new JPanel();
+		fpanel.add(back);
+		fpanel.add(neu);
+		fpanel.add(combo);
+		fpanel.add(pconly);
+		fpanel.add(help);
+		fpanel.add(forward);
 
-        panel = new JPanel();
-        panel.setLayout(new BorderLayout());
-        panel.add(human, "West");
-        panel.add(fpanel, "Center");
-        panel.add(computer, "East");
+		panel = new JPanel();
+		panel.setLayout(new BorderLayout());
+		panel.add(human, "West");
+		panel.add(fpanel, "Center");
+		panel.add(computer, "East");
 
-        fpanel.setBackground(new Color(50, 100, 200));
-        panel.setBackground(new Color(50, 100, 200));
+		fpanel.setBackground(new Color(50, 100, 200));
+		panel.setBackground(new Color(50, 100, 200));
 
-        getContentPane().setLayout(new BorderLayout());
-        getContentPane().add(panel, "North");
-        getContentPane().add(board, "Center");
+		getContentPane().setLayout(new BorderLayout());
+		getContentPane().add(panel, "North");
+		getContentPane().add(board, "Center");
 
-        neu.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                pc_only = false;
-                board.init();
-                board.negateEstimation(false);
-            }
-        });
+		neu.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				pc_only = false;
+				board.init();
+				board.negateEstimation(false);
+			}
+		});
 
-        pconly.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                pc_only = true;
-            }
-        });
+		pconly.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				pc_only = true;
+			}
+		});
 
-        back.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                board.backwards();
-            }
-        });
+		back.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				board.backwards();
+			}
+		});
 
-        forward.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                board.forward();
-            }
-        });
+		forward.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				board.forward();
+			}
+		});
 
-        help.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent actionevent) {
-                BrowserLaunch browser = new BrowserLaunch();
-                browser.openURL(helpURL);
-            }
-        });
+		help.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent actionevent) {
+				BrowserLaunch browser = new BrowserLaunch();
+				browser.openURL(helpURL);
+			}
+		});
 
-        listener = board.getMouseListener();
+		listener = board.getMouseListener();
 
-        pc_only = false;
-        search_depth = 3;
-        pack();
-    }
+		pc_only = false;
+		search_depth = 3;
+		pack();
+	}
 
-    public void computer_play() {
-        while (pc_only) {
-            search_depth = model.getNumber().intValue() - 1;
+	public void computer_play() {
+		while (pc_only) {
+			search_depth = model.getNumber().intValue() - 1;
 
-            if (!board.isBlacksTurn()) {
-                human.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
-                board.negateEstimation(true);
-                if (!board.doBestMove(search_depth)) {
-                    pc_only = false;
-                    return;
-                }
-                board.negateEstimation(false);
-                human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                board.setBlacksTurn(true);
-            } else {
-                computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
-                if (!board.doBestMove(search_depth)) {
-                    pc_only = false;
-                    return;
-                }
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                board.setBlacksTurn(false);
+			if (!board.isBlacksTurn()) {
+				human.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
+				board.negateEstimation(true);
+				if (!board.doBestMove(search_depth)) {
+					pc_only = false;
+					return;
+				}
+				board.negateEstimation(false);
+				human.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				board.setBlacksTurn(true);
+			} else {
+				computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
+				if (!board.doBestMove(search_depth)) {
+					pc_only = false;
+					return;
+				}
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				board.setBlacksTurn(false);
 
-                if (board.simu_debug()) {
-                    for (int i = 0; i < 64; i++) {
-                        if ((i + 1) % 8 == 0)
-                            System.err.printf("%2d=%d%n", i, board.getValue(i));
-                        else
-                            System.err.printf("%2d=%d ", i, board.getValue(i));
-                    }
-                }
+				if (board.simu_debug()) {
+					for (int i = 0; i < 64; i++) {
+						if ((i + 1) % 8 == 0)
+							System.err.printf("%2d=%d%n", i, board.getValue(i));
+						else
+							System.err.printf("%2d=%d ", i, board.getValue(i));
+					}
+				}
 
-                try {
-                    Thread.sleep(10);
-                } catch (InterruptedException e) {
-                    System.err.println("computer_play: " + e.getLocalizedMessage());
-                    System.err.println("========================================================================");
-                    e.printStackTrace();
-                    System.err.println("========================================================================");
-                    return;
-                }
-            }
-        }
-    }
+				try {
+					Thread.sleep(10);
+				} catch (InterruptedException e) {
+					System.err.println("computer_play: " + e.getLocalizedMessage());
+					System.err.println("========================================================================");
+					e.printStackTrace();
+					System.err.println("========================================================================");
+					return;
+				}
+			}
+		}
+	}
 
-    public void run() {
-        for (;;) {
+	public void run() {
+		for (;;) {
 
-            /* is this thread safe */
-            search_depth = model.getNumber().intValue() - 1;
+			/* is this thread safe */
+			search_depth = model.getNumber().intValue() - 1;
 
-            if (pc_only) {
-                computer_play();
-            }
+			if (pc_only) {
+				computer_play();
+			}
 
-            if (!board.isBlacksTurn()) {
-                if (listener.isSelected()) {
-                    p = listener.getSelection();
-                    if (board.move(p))
-                        board.setBlacksTurn(true);
-                }
-                try {
-                    Thread.sleep(50);
-                } catch (InterruptedException e) {
-                    System.err.println("Schach::run: " + e.getLocalizedMessage());
-                    System.err.println("========================================================================");
-                    e.printStackTrace();
-                    System.err.println("========================================================================");
-                    return;
-                }
-            } else {
-                human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
-                computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
-                board.doBestMove(search_depth);
-                human.setText("<html><font size='5' color='#FF3333'>Human</font></html>");
-                computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
-                board.setBlacksTurn(false);
+			if (!board.isBlacksTurn()) {
+				if (listener.isSelected()) {
+					p = listener.getSelection();
+					if (board.move(p))
+						board.setBlacksTurn(true);
+				}
+				try {
+					Thread.sleep(50);
+				} catch (InterruptedException e) {
+					System.err.println("Schach::run: " + e.getLocalizedMessage());
+					System.err.println("========================================================================");
+					e.printStackTrace();
+					System.err.println("========================================================================");
+					return;
+				}
+			} else {
+				human.setText("<html><font size='5' color='#FFFFFF'>Human</font></html>");
+				computer.setText("<html><font size='5' color='#FF3333'>Computer</font></html>");
+				board.doBestMove(search_depth);
+				human.setText("<html><font size='5' color='#FF3333'>Human</font></html>");
+				computer.setText("<html><font size='5' color='#FFFFFF'>Computer</font></html>");
+				board.setBlacksTurn(false);
 
-                if (board.simu_debug()) {
-                    for (int i = 0; i < 64; i++) {
-                        if ((i + 1) % 8 == 0)
-                            System.out.printf("%2d=%d%n", i, board.getValue(i));
-                        else
-                            System.out.printf("%2d=%d ", i, board.getValue(i));
-                    }
-                }
-            }
-        }
-    }
+				if (board.simu_debug()) {
+					for (int i = 0; i < 64; i++) {
+						if ((i + 1) % 8 == 0)
+							System.out.printf("%2d=%d%n", i, board.getValue(i));
+						else
+							System.out.printf("%2d=%d ", i, board.getValue(i));
+					}
+				}
+			}
+		}
+	}
 
-    public static void main(String args[]) {
-        Schach s = new Schach(74, 74);
+	public static void main(String args[]) {
+		Schach s = new Schach(74, 74);
 
-        s.setResizable(false);
-        s.setVisible(true);
+		s.setResizable(false);
+		s.setVisible(true);
+		s.pack();
 
-        if (args.length == 1) {
-            if (args[0].equals("full"))
-                s.board.setDebug(true, true);
-            else if (args[0].equals("simu"))
-                s.board.setDebug(true, false);
-            else if (args[0].equals("undo"))
-                s.board.setDebug(false, true);
-            else if (args[0].equals("none"))
-                s.board.setDebug(false, false);
-            else {
-                System.out.println("   Chess: java -jar games.jar [full|simu|undo|none]");
-                System.out
-                        .println("Checkers: java -cp games.jar org.homelinux.largo.checkers.Checkers [full|simu|undo|none]");
-            }
-        }
+		if (args.length == 1) {
+			if (args[0].equals("full"))
+				s.board.setDebug(true, true);
+			else if (args[0].equals("simu"))
+				s.board.setDebug(true, false);
+			else if (args[0].equals("undo"))
+				s.board.setDebug(false, true);
+			else if (args[0].equals("none"))
+				s.board.setDebug(false, false);
+			else {
+				System.out.println("   Chess: java -jar games.jar [full|simu|undo|none]");
+				System.out.println(
+						"Checkers: java -cp games.jar org.homelinux.largo.checkers.Checkers [full|simu|undo|none]");
+			}
+		}
 
-        Thread t = new Thread(s);
-        t.setPriority(Thread.NORM_PRIORITY - 1);
-        t.start();
-    }
+		Thread t = new Thread(s);
+		t.setPriority(Thread.NORM_PRIORITY - 1);
+		t.start();
+	}
 }
--- a/org/homelinux/largo/utils/BrowserLaunch.java
+++ b/org/homelinux/largo/utils/BrowserLaunch.java
@@ -13,43 +13,33 @@
  * Cross-Platform Browserlaunch
  */
 public class BrowserLaunch {
-    private static final String errMsg = "Error attempting to launch web browser";
+	private static final String errMsg = "Error attempting to launch web browser";
 
-    /**
-     * This method opens the URL in a native platform browser
-     */
-    public void openURL(String url) {
-        String osName = System.getProperty("os.name");
-        try {
-            if (osName.startsWith("Mac OS")) {
-                Class<?> fileMgr = Class.forName("com.apple.eio.FileManager");
-                Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] {
-                    String.class
-                });
-                openURL.invoke(null, new Object[] {
-                    url
-                });
-            } else if (osName.startsWith("Windows"))
-                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
-            else {
-                String[] browsers = {
-                        "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape"
-                };
-                String browser = null;
-                for (int count = 0; count < browsers.length && browser == null; count++)
-                    if (Runtime.getRuntime().exec(new String[] {
-                            "which", browsers[count]
-                    }).waitFor() == 0)
-                        browser = browsers[count];
-                if (browser == null)
-                    throw new Exception("Could not find web browser");
-                else
-                    Runtime.getRuntime().exec(new String[] {
-                            browser, url
-                    });
-            }
-        } catch (Exception e) {
-            JOptionPane.showMessageDialog(null, errMsg + ":\n" + e.getLocalizedMessage());
-        }
-    }
+	/**
+	 * This method opens the URL in a native platform browser
+	 */
+	public void openURL(String url) {
+		String osName = System.getProperty("os.name");
+		try {
+			if (osName.startsWith("Mac OS")) {
+				Class<?> fileMgr = Class.forName("com.apple.eio.FileManager");
+				Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
+				openURL.invoke(null, new Object[] { url });
+			} else if (osName.startsWith("Windows"))
+				Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
+			else {
+				String[] browsers = { "chome", "chromium", "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
+				String browser = null;
+				for (int count = 0; count < browsers.length && browser == null; count++)
+					if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
+						browser = browsers[count];
+				if (browser == null)
+					throw new Exception("Could not find web browser");
+				else
+					Runtime.getRuntime().exec(new String[] { browser, url });
+			}
+		} catch (Exception e) {
+			JOptionPane.showMessageDialog(null, errMsg + ":\n" + e.getLocalizedMessage());
+		}
+	}
 };
--- a/org/homelinux/largo/utils/ImgComponent.java
+++ b/org/homelinux/largo/utils/ImgComponent.java
@@ -8,24 +8,24 @@
 import javax.swing.ImageIcon;
 
 public class ImgComponent extends Canvas {
-    static final long serialVersionUID = 1L;
-    private Image img;
+	static final long serialVersionUID = 1L;
+	private Image img;
 
-    public ImgComponent(String sFile) {
-        ClassLoader cl = getClass().getClassLoader();
-        URL url = cl.getResource(sFile);
-        img = new ImageIcon(url).getImage();
-    }
+	public ImgComponent(String sFile) {
+		ClassLoader cl = getClass().getClassLoader();
+		URL url = cl.getResource(sFile);
+		img = new ImageIcon(url).getImage();
+	}
 
-    public Image getImage() {
-        return img;
-    }
+	public Image getImage() {
+		return img;
+	}
 
-    public Dimension getPreferredSize() {
-        return new Dimension(img.getWidth(this), img.getHeight(this));
-    }
+	public Dimension getPreferredSize() {
+		return new Dimension(img.getWidth(this), img.getHeight(this));
+	}
 
-    public Dimension getMinimumSize() {
-        return getPreferredSize();
-    }
+	public Dimension getMinimumSize() {
+		return getPreferredSize();
+	}
 }