import java.awt.*;
import java.awt.event.*;
class ChessPad extends Panel implements MouseListener, ActionListener {
int x = -1, y = -1, 棋子颜色 = 1;
Button button = new Button("重新开局");
TextField text_1 = new TextField("请黑棋下子"), text_2 = new TextField();
ChessPad() {
setSize(440, 440);
setLayout(null);
setBackground(Color.orange);
addMouseListener(this);
add(button);
button.setBounds(10, 5, 60, 26);
button.addActionListener(this);
add(text_1);
text_1.setBounds(90, 5, 90, 24);
add(text_2);
text_2.setBounds(290, 5, 90, 24);
text_1.setEditable(false);
text_2.setEditable(false);
}
public void paint(Graphics g) {
for (int i = 40; i <= 380; i = i + 20) {
g.drawLine(40, i, 400, i);
}
g.drawLine(40, 400, 400, 400);
for (int j = 40; j <= 380; j = j + 20) {
g.drawLine(j, 40, j, 400);
}
g.drawLine(400, 40, 400, 400);
g.fillOval(97, 97, 6, 6);
g.fillOval(337, 97, 6, 6);
g.fillOval(97, 337, 6, 6);
g.fillOval(337, 337, 6, 6);
g.fillOval(217, 217, 6, 6);
}
public void mousePressed(MouseEvent e) {
if (e.getModifiers() == InputEvent.BUTTON1_MASK) {
x = (int) e.getX();
y = (int) e.getY();
ChessPoint_black chesspoint_black = new ChessPoint_black(this);
ChessPoint_white chesspoint_white = new ChessPoint_white(this);
int a = (x + 10) / 20, b = (y + 10) / 20;
if (x / 20 < 2 || y / 20 < 2 || x / 20 > 19 || y / 20 > 19) {
} else {
if (棋子颜色 == 1) {
this.add(chesspoint_black);
chesspoint_black
.setBounds(a * 20 - 10, b * 20 - 10, 20, 20);
棋子颜色 = 棋子颜色 * (-1);
text_2.setText("请白棋下子");
text_1.setText("");
} else if (棋子颜色 == -1) {
this.add(chesspoint_white);
chesspoint_white
.setBounds(a * 20 - 10, b * 20 - 10, 20, 20);
棋子颜色 = 棋子颜色 * (-1);
text_1.setText("请黑棋下子");
text_2.setText("");
}
}
}
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public void actionPerformed(ActionEvent e) {
this.removeAll();
棋子颜色 = 1;
add(button);
button.setBounds(10, 5, 60, 26);
add(text_1);
text_1.setBounds(90, 5, 90, 24);
text_2.setText("");
text_1.setText("请黑棋下子");
add(text_2);
text_2.setBounds(290, 5, 90, 24);
}
}
class ChessPoint_black extends Canvas implements MouseListener {
ChessPad chesspad = null;
ChessPoint_black(ChessPad p) {
setSize(20, 20);
chesspad = p;
addMouseListener(this);
}
public void paint(Graphics g) {
g.setColor(Color.black);
g.fillOval(0, 0, 20, 20);
}
public void mousePressed(MouseEvent e) {
if (e.getModifiers() == InputEvent.BUTTON3_MASK) {
chesspad.remove(this);
chesspad.棋子颜色 = 1;
chesspad.text_2.setText("");
chesspad.text_1.setText("请黑棋下子");
}
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() >= 2)
chesspad.remove(this);
}
}
class ChessPoint_white extends Canvas implements MouseListener {
ChessPad chesspad = null;
ChessPoint_white(ChessPad p) {
setSize(20, 20);
addMouseListener(this);
chesspad = p;
}
public void paint(Graphics g) {
g.setColor(Color.white);
g.fillOval(0, 0, 20, 20);
}
public void mousePressed(MouseEvent e) {
if (e.getModifiers() == InputEvent.BUTTON3_MASK) {
chesspad.remove(this);
chesspad.棋子颜色 = -1;
chesspad.text_2.setText("请白棋下子");
chesspad.text_1.setText("");
}
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() >= 2)
chesspad.remove(this);
}
}

项目花园范德彪
- 粉丝: 8423
- 资源: 258
最新资源
- 数据分析_Python技术_全面资料汇总_学习与实践_1741400354.zip
- navinreddy20_Python_1741403174.zip
- gregmalcolm_python_koans_1741399104.zip
- dida_wins_setup_release_x64_6210.exe
- 考研数据结构笔记知识点
- CIBASetup_v3.0.3.exe
- anki-25.02-windows-qt6.exe
- Notion Setup 4.5.0.exe
- Notion Calendar Setup 1.127.0 - x64.exe
- sunshine-windows-installer.exe
- PicGo-Setup-2.4.0-beta.9-x64.exe
- tcmd1150x64.exe
- Trae CN-Setup-x64.exe
- Trae-Setup-x64_2.exe
- uTools-6.1.0.exe
- YoudaoDict_fanyiweb_navigation.exe
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


