山东凯文科技职业学院
});
}
for(int i=0;i<19;i++){ } if(isPC){
//人机对弈模式
for(int j=0;j<19;j++){ }
if(i==0||j==0||i==(qipan.length-1)||j==(qipan.length-1)){
qipan[i][j] = -1;
}else{ }
qipan[i][j]=0;
label.setText(\游戏开始,请玩家先下棋!\
//人人对弈模式
}else{ }
label.setText(\游戏开始,请\黑\白\方先下棋!\
printqipan(row,col); addEventHandler();
jit[0][1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
row=prow=0;col=pcol=0; isBlack = true; isEnd = false; for(int i=0;i<19;i++){ } if(isPC){
//人机对弈模式
for(int j=0;j<19;j++){ }
//重新开始
if(i==0||j==0||i==(qipan.length-1)||j==(qipan.length-1)){
qipan[i][j] = -1;
}else{ }
qipan[i][j]=0;
label.setText(\游戏开始,请玩家先下棋!\
18
山东凯文科技职业学院
}
}else{ }
//人人对弈模式
label.setText(\游戏开始,请\黑\白\方先下棋!\
printqipan(row,col); addEventHandler();
});
//给模式选项添加事件监听
mode[0].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
cMode = false;
label.setText(\已选择人\机\人\对弈模式,重新开局将生效!\
});
}
mode[1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
cMode = true;
label.setText(\已选择人\机\人\对弈模式,重新开局将生效!\
});
}
jit[0][2].addActionListener(new ActionListener(){ });
jit[1][1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(!isPC){
huiqi();
19
//结束游戏
public void actionPerformed(ActionEvent e) { }
label.setText(\游戏结束,请按开局开始游戏!\isEnd=true;
//悔棋
山东凯文科技职业学院
//
}
}
}else{ }
pchuiqi();
});
jit[1][2].addActionListener(new ActionListener() { });
public void actionPerformed(ActionEvent e) { }
Color cc=JColorChooser.showDialog(frame,\棋盘背景颜色\
new Color(226,189,0));
//背景颜色
if(cc!=null){ }
c=cc;
panel.setBackground(c);
监听鼠标事件,下棋以及判断本盘是否结束,电脑是白方,玩家是黑方 public void addEventHandler(){
panel.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e) { }
if(!isEnd){ }
int x=(e.getX()-5)/30; int y=(e.getY()-5)/30;
if(qipan[y+1][x+1]==0){
load(x+1,y+1);
}else{ }
label.setText(\此处已经有棋子,请重新下子!\
});
20
山东凯文科技职业学院
}
//电脑下棋
public void pcLoad(){ qixing(); int count = 0; int hang = 0; int lie = 0;
for(int i=0;i<17;i++){ for(int j=0;j<17;j++){
if(qixingPC[i][j]>count)
21
山东凯文科技职业学院
结 论
论文行文至此,已基本完成。本论文研究主要完成了如下工作:
回顾了Java的发展历程及一些基本概念;对“五子棋游戏”进行了分析设计。对此游戏的算法进行了设计。算法是在每个项目中都会出现的都需要去设计的,故一个好的算法设计是必不可少的。 介绍了此游戏的功能模块。经典游戏的发展前景还是十分好的,总结制作过程中的经验和教训,有几点体会:
1、 要准备充分,在系统分析与设计阶段要做到尽可能详细、全面,以免在后阶段返工,浪费人力、物力、财力。
2、 做好版本控制和备份,一旦出现故障,能尽快恢复到最近最新的版本中,在此基础上修改。
22