资源简介
Java写的西洋跳棋人机对战,由于算法原因,机器主要实现防御功能
代码片段和文件信息
package checker;
import javax.swing.*;
import java.awt.event.*;
public class Checkers extends Jframe implements ActionListener{
// Checkers类是主类,它主要用来监听上面的几个按钮
private static final long serialVersionUID = 6827040500650074373L;
ChessBoard cb;
Robot robot;
JPanel top = new JPanel();
JButton start = new JButton(“New“);
JButton bar = new JButton();
JComboBox box = new JComboBox();
JLabel level = new JLabel(“Level: “);
JButton sound = new JButton(“Audio: ON“);
JButton about = new JButton(“About“);
JButton quit = new JButton(“Quit“);
public static void main(String[] args){
new Checkers();
}
public Checkers(){
robot = new Robot();
cb = new ChessBoard(robot);
robot.setBorad(cb);
this.setLayout(null);
cb.setLocation(035);
top.setBounds(0048035);
top.setLayout(null);
top.add(start);
top.add(box);
top.add(bar);
top.add(level);
top.add(about);
top.add(quit);
top.add(sound);
start.setBounds(008030);
start.addActionListener(this);
level.setBounds(9006030);
bar.setBounds(0304805);
bar.setEnabled(false);
box.setBounds(13508030);
box.addItem(“Easy“);
box.addItem(“Normal“);
box.addItem(“Hard“);
box.addActionListener(this);
sound.setBounds(22509530);
sound.addActionListener(this);
about.setBounds(33007030);
about.addActionListener(this);
quit.setBounds(41007030);
quit.addActionListener(this);
this.add(top);
this.add(cb);
this.setBounds(100100490545);
this.settitle(“AI Checkers“);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() instanceof JButton){
JButton jb = (JButton)e.getSource();
if(jb.equals(start)){ //新游戏
Util.win = false;
cb.init();
cb.setVisible(true);
cb.repaint();
}
else if(jb.equals(about)){
JOptionPane.showMessageDialog(null “Copyright: ICRC HIT\r\n QQ: 284688168“);
}
else if(jb.equals(quit)){
int i = JOptionPane.showConfirmDialog(null “Are you sure to quit?“);
if(i==0)
System.exit(0);
}
else if(jb.equals(sound)){//声音开关
if(sound.getText().equals(“Audio: ON“)){
sound.setText(“Audio: OFF“);
Util.mute = true;
}
else{
sound.setText(“Audio: ON“);
Util.mute = false;
}
}
}
if(e.getSource() instanceof JComboBox){//设置难度
int index = box.getSelectedIndex();
robot.setLevel(index);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 35789 2009-03-31 19:28 images\bg.jpg
文件 47531 2009-04-26 15:45 images\bg1.jpg
文件 5465 2009-03-31 22:17 images\black.png
文件 7656 2009-04-13 21:51 images\black1.png
文件 7339 2009-03-31 22:17 images\blackKing.png
文件 9538 2009-04-13 21:52 images\blackKing1.png
文件 6005 2009-03-31 22:09 images\red.png
文件 8085 2009-04-13 21:53 images\red1.png
文件 7799 2009-03-31 22:13 images\redKing.png
文件 9859 2009-04-13 21:53 images\redKing1.png
文件 2622 2009-04-27 00:05 src\Checkers.java
文件 18769 2009-04-27 00:21 src\CheckerState.java
文件 1635 2009-04-27 00:01 src\Chess.java
文件 7173 2009-04-27 00:22 src\ChessBoard.java
文件 7728 2009-04-27 00:00 src\Robot.java
文件 7859 2009-04-27 00:23 src\Util.java
文件 19340 2009-04-28 00:20 Checkers.jar
文件 22 2009-04-26 23:19 start.bat
文件 2566 2009-04-13 14:10 audio\beep.au
目录 0 2017-10-07 15:05 images
目录 0 2017-10-07 15:05 src
目录 0 2017-10-07 15:05 audio
----------- --------- ---------- ----- ----
212780 22
- 上一篇:Spark最全操作完整
- 下一篇:基于客户端通信的DES加密的java实现
评论
共有 条评论