author | Markus Bröker<broeker.markus@googlemail.com> |
Fri, 27 Jan 2017 21:25:15 +0100 | |
changeset 16 | 55b0d5006e7b |
parent 15 | d4b2b9a87d80 |
permissions | -rw-r--r-- |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
1 |
/** |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
2 |
* $Id: Board.java 148 2008-04-25 22:05:48Z mbroeker $ |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
3 |
* $URL: http://localhost/svn/eclipse/Schachspiel/trunk/org/homelinux/largo/games/board/Board.java $ |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
4 |
*/ |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
5 |
|
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
6 |
package org.homelinux.largo.games.board; |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
7 |
|
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
8 |
import java.awt.Color; |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
9 |
import java.awt.Dimension; |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
10 |
import java.awt.Graphics; |
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
11 |
import java.awt.Image; |
15
d4b2b9a87d80
ArrayList replaces Vector
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
14
diff
changeset
|
12 |
import java.util.ArrayList; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
13 |
|
12
d28c1e402d82
A JPanel instead of a Canvas reduces the flickering.
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
7
diff
changeset
|
14 |
import javax.swing.JPanel; |
d28c1e402d82
A JPanel instead of a Canvas reduces the flickering.
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
7
diff
changeset
|
15 |
|
d28c1e402d82
A JPanel instead of a Canvas reduces the flickering.
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
7
diff
changeset
|
16 |
public class Board extends JPanel { |
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
17 |
static final long serialVersionUID = 1L; |
13
f83884cc7d2f
Source Code re-formatted
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
12
diff
changeset
|
18 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
19 |
protected boolean UNDO_DEBUG = false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
20 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
21 |
protected Piece board_pieces[]; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
22 |
private Piece pieces[]; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
23 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
24 |
protected ArrayList<History> stack; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
25 |
protected int moveNr; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
26 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
27 |
protected static final int EMPTY = 0; |
13
f83884cc7d2f
Source Code re-formatted
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
12
diff
changeset
|
28 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
29 |
Color color_black; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
30 |
Color color_white; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
31 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
32 |
int iHeight; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
33 |
int iWidth; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
34 |
int xPos; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
35 |
int yPos; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
36 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
37 |
boolean black; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
38 |
boolean blacksTurn; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
39 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
40 |
MouseListener listener; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
41 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
42 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
43 |
* The init method initializes an empty board with a history. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
44 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
45 |
public void init() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
46 |
int i; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
47 |
pieces = new Piece[64]; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
48 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
49 |
for (i = 0; i < 64; i++) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
50 |
pieces[i] = new Piece(null, null, EMPTY, 0); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
51 |
} |
13
f83884cc7d2f
Source Code re-formatted
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
12
diff
changeset
|
52 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
53 |
xPos = 0; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
54 |
yPos = 0; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
55 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
56 |
black = false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
57 |
blacksTurn = false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
58 |
board_pieces = getPieces(pieces); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
59 |
stack = new ArrayList<History>(); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
60 |
moveNr = 0; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
61 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
62 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
63 |
public Board(int w, int h) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
64 |
iWidth = w; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
65 |
iHeight = h; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
66 |
color_white = new Color(255, 255, 255); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
67 |
color_black = new Color(50, 100, 200); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
68 |
setPreferredSize(new Dimension(8 * iWidth, 8 * iHeight)); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
69 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
70 |
init(); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
71 |
listener = new MouseListener(iWidth, iHeight); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
72 |
addMouseListener(listener); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
73 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
74 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
75 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
76 |
* getPiece returns a Piece-Object from the Board Cache. It might not be |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
77 |
* visible on the current board. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
78 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
79 |
public Piece getPiece(int t) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
80 |
return pieces[t]; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
81 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
82 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
83 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
84 |
* setPiece sets a Piece-Object into the Board Cache and will not be |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
85 |
* visible. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
86 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
87 |
protected void setPiece(int t, Piece p) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
88 |
pieces[t] = p; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
89 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
90 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
91 |
protected Piece[] getPieces() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
92 |
return getPieces(pieces); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
93 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
94 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
95 |
private Piece[] getPieces(Piece[] which_pieces) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
96 |
Piece[] p = new Piece[64]; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
97 |
int i; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
98 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
99 |
for (i = 0; i < 64; i++) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
100 |
p[i] = new Piece(which_pieces[i]); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
101 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
102 |
return p; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
103 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
104 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
105 |
protected void setPieces(Piece[] p) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
106 |
pieces = p; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
107 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
108 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
109 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
110 |
* needed in paint(Graphics g) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
111 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
112 |
private Image getBoardImage(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
113 |
return board_pieces[i].image; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
114 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
115 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
116 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
117 |
* getMouseListener returns a valid MouseListener for this Board. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
118 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
119 |
public MouseListener getMouseListener() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
120 |
return listener; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
121 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
122 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
123 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
124 |
* currentMove returns the current stack.size(). |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
125 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
126 |
public int currentMove() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
127 |
return stack.size(); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
128 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
129 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
130 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
131 |
* returns the color of piece[i]. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
132 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
133 |
public String getColor(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
134 |
return pieces[i].color; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
135 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
136 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
137 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
138 |
* returns the current Value of a particular piece. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
139 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
140 |
public int getValue(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
141 |
return pieces[i].value; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
142 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
143 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
144 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
145 |
* Defined Integer Constants: EMTPY = 0 |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
146 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
147 |
public int getType(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
148 |
return pieces[i].type; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
149 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
150 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
151 |
public boolean isEmpty(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
152 |
if (pieces[i].type == EMPTY) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
153 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
154 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
155 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
156 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
157 |
boolean BoardisEmpty(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
158 |
if (board_pieces[i].type == EMPTY) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
159 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
160 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
161 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
162 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
163 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
164 |
* blacksTurn = true -> Black moves blacksTurn = false -> White moves |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
165 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
166 |
public boolean isBlacksTurn() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
167 |
return blacksTurn; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
168 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
169 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
170 |
public void setBlacksTurn(boolean b) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
171 |
blacksTurn = b; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
172 |
} |
13
f83884cc7d2f
Source Code re-formatted
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
12
diff
changeset
|
173 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
174 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
175 |
* returns true, when piece[i] is white |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
176 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
177 |
public boolean isWhite(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
178 |
if (isEmpty(i)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
179 |
return false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
180 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
181 |
if (pieces[i].color.equals("white")) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
182 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
183 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
184 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
185 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
186 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
187 |
* returns true, when piece[i] is black |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
188 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
189 |
public boolean isBlack(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
190 |
if (isEmpty(i)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
191 |
return false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
192 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
193 |
if (pieces[i].color.equals("black")) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
194 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
195 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
196 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
197 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
198 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
199 |
* returns true, when both pieces have opposite colors |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
200 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
201 |
public boolean isEnemy(int t, int o) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
202 |
if (isEmpty(t)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
203 |
return false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
204 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
205 |
if (!pieces[t].color.equals(pieces[o].color)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
206 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
207 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
208 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
209 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
210 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
211 |
* returns true, when both pieces have the same color |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
212 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
213 |
public boolean isSamePiece(int t, int o) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
214 |
if (isEmpty(t)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
215 |
return false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
216 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
217 |
if (pieces[t].color.equals(pieces[o].color)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
218 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
219 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
220 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
221 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
222 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
223 |
* This function checks for the color of the piece at piece[i] and returns |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
224 |
* true, if the color matches the current Turn. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
225 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
226 |
public boolean validTurn(int i) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
227 |
if (isEmpty(i)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
228 |
return false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
229 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
230 |
if (getColor(i).equals("white") && isBlacksTurn()) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
231 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
232 |
if (getColor(i).equals("black") && !isBlacksTurn()) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
233 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
234 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
235 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
236 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
237 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
238 |
* simulates a "valid" move or returns false. all changes are relative to |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
239 |
* pieces and will not be painted. This method sets internal variables for |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
240 |
* the rochade() method, which will be overidden. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
241 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
242 |
public boolean simulateMove(int t, int o) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
243 |
if (!validMove(t, o)) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
244 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
245 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
246 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
247 |
push(pieces[t], t, pieces[o], o); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
248 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
249 |
pieces[t] = new Piece(pieces[o]); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
250 |
pieces[o] = new Piece(null, null, EMPTY, 0); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
251 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
252 |
return true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
253 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
254 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
255 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
256 |
* Moves a Piece on the Board at Point p |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
257 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
258 |
public boolean move(Point p) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
259 |
int t; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
260 |
int o; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
261 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
262 |
t = (p.endy * 8) + p.endx; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
263 |
o = (p.starty * 8) + p.startx; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
264 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
265 |
if (t < 0 || t > 63) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
266 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
267 |
if (o < 0 || o > 63) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
268 |
return false; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
269 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
270 |
if (validTurn(o)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
271 |
return doMove(t, o); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
272 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
273 |
System.out.println("It's not your turn!"); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
274 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
275 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
276 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
277 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
278 |
* Moves one half-move backward. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
279 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
280 |
public void backwards() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
281 |
History h1; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
282 |
History h2; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
283 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
284 |
if (moveNr < 2) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
285 |
return; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
286 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
287 |
moveNr -= 2; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
288 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
289 |
h1 = stack.get(moveNr); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
290 |
h2 = stack.get(moveNr + 1); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
291 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
292 |
board_pieces[h1.pos] = h1.piece; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
293 |
board_pieces[h2.pos] = h2.piece; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
294 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
295 |
repaint(); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
296 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
297 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
298 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
299 |
* Moves one half-move forward. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
300 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
301 |
public void forward() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
302 |
History h1; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
303 |
History h2; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
304 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
305 |
if (moveNr > stack.size() - 2) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
306 |
return; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
307 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
308 |
h1 = stack.get(moveNr); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
309 |
h2 = stack.get(moveNr + 1); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
310 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
311 |
board_pieces[h1.pos] = h2.piece; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
312 |
board_pieces[h2.pos] = new Piece(null, null, EMPTY, 0); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
313 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
314 |
moveNr += 2; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
315 |
repaint(); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
316 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
317 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
318 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
319 |
* pushes 2 pieces onto the stack. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
320 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
321 |
public void push(Piece p1, int t, Piece p2, int o) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
322 |
stack.add(new History(p1, t, isBlacksTurn())); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
323 |
stack.add(new History(p2, o, isBlacksTurn())); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
324 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
325 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
326 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
327 |
* pop: undo the push operation. |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
328 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
329 |
public void undo() { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
330 |
History h1; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
331 |
History h2; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
332 |
int size = stack.size(); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
333 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
334 |
if (size < 2) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
335 |
return; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
336 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
337 |
h1 = stack.remove(size - 1); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
338 |
h2 = stack.remove(size - 2); |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
339 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
340 |
pieces[h1.pos] = h1.piece; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
341 |
pieces[h2.pos] = h2.piece; |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
342 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
343 |
/* Reset the current player */ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
344 |
setBlacksTurn(h2.turn); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
345 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
346 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
347 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
348 |
* This method must be implemented in your "GameBoard" Return value: TRUE: |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
349 |
* the move IS possible Return value: FALSE: the move IS NOT possible |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
350 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
351 |
public boolean validMove(int t, int o) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
352 |
System.out.println("public boolean validMove(int t, int o): Implement me"); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
353 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
354 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
355 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
356 |
/** |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
357 |
* This method must be implemented in your "GameBoard" Return value: TRUE: |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
358 |
* the move was performed Return value: FALSE: the move was not performed |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
359 |
*/ |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
360 |
public boolean doMove(int t, int o) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
361 |
System.out.println("public boolean doMove(int t, int o): Implement me"); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
362 |
return false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
363 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
364 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
365 |
public void update(Graphics g) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
366 |
paint(g); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
367 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
368 |
|
16
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
369 |
public void paint(Graphics g) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
370 |
for (int i = 0; i < 8; i++) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
371 |
for (int j = 0; j < 8; j++) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
372 |
if (black == true) { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
373 |
g.setColor(color_black); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
374 |
g.fillRect(xPos, yPos, iWidth, iHeight); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
375 |
black = false; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
376 |
} else { |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
377 |
g.setColor(color_white); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
378 |
g.fillRect(xPos, yPos, iWidth, iHeight); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
379 |
black = true; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
380 |
} |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
381 |
if (!BoardisEmpty((i * 8) + j)) |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
382 |
g.drawImage(getBoardImage((i * 8) + j), xPos + 5, yPos, this); |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
383 |
xPos += iWidth; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
384 |
} |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
385 |
xPos = 0; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
386 |
yPos += iHeight; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
387 |
black = !black; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
388 |
} |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
389 |
xPos = 0; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
390 |
yPos = 0; |
55b0d5006e7b
Sourcecode neu formatiert und ins Jahr 2017 migriert
Markus Bröker<broeker.markus@googlemail.com>
parents:
15
diff
changeset
|
391 |
} |
0
e0dbaef72362
svn copy of the chess engine
Markus Bröker <mbroeker@largo.homelinux.org>
parents:
diff
changeset
|
392 |
} |