当前位置:首页 > 五子棋JAVA语言课程设计报告
四、课程设计心得体会
通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。对于文中出现的不足和系统中出现的问题敬请老师指导。
五、参考文献
1. 吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社 2. 柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社 3.丁振凡 Java 语言实用教程 :北京邮电大学出版社
12
附录 (源代码)
import java.net.*; import java.io.*; import java.applet.*; import java.awt.*;
import java.awt.event.*; import java.applet.Applet; import java.awt.Color; Public class wuziqi extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener{ int color_Qizi=0;//旗子的颜色标识 0:白子 1:黑子 int intGame_Start=0;//游戏开始标志 0未开始 1游戏中
int intGame_Body[][]=new int[16][16]; //设置棋盘棋子状态
int m=-1;
Button b1=new Button(\开始\ Button b2=new Button(\重新开始\ Label lblWin=new Label(\ Checkbox ckbHB[]=new Checkbox[3]; Button exist = new Button(\退出\ CheckboxGroup ckgHB=new CheckboxGroup(); public void init(){ setLayout(null); addMouseListener(this); add(b1); b1.setBounds(330,50,80,30); b1.addActionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB[0]=new Checkbox(\执白\ ckbHB[0].setBounds(320,20,60,30); ckbHB[1]=new Checkbox(\执黑\ ckbHB[1].setBounds(380,20,60,30); ckbHB[2]=new Checkbox(\观看\ add(ckbHB[0]); add(ckbHB[1]); add(ckbHB[2]); ckbHB[0].addItemListener(this); ckbHB[1].addItemListener(this); add(lblWin); lblWin.setBounds(330,180,80,30); lblWin.setBackground(Color.red);
13
e.getY()<20 || e.getY()>300){
lblWin.setText(\胜利者!\没有显示? ckbHB[2].setBounds(440, 20,60, 30); add(exist);
exist.setBounds(330,130,80,30); exist.addActionListener(this); Game_start_csh(); setSize(500,600); setVisible(true); }
public void itemStateChanged(ItemEvent e){ if (ckbHB[0].getState()) //选择黑子还是白子 {
color_Qizi=0; } else {
color_Qizi=1; } }
public void mousePressed(MouseEvent e){} public void mouseClicked(MouseEvent e){ Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY();
if (e.getX()<20 || e.getX()>300 || return; }
if (x1 >10){ x1+=10; }
if(y1 >10){ y1+=10; }
x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); m*=(-1) }
public void actionPerformed(ActionEvent e){ Graphics g=getGraphics(); if (e.getSource()==b1){ Game_start();
14
} else{
// 输了!\
赢了!\
Game_re(); }
if(e.getSource()==exist){ Game_re(); color_Qizi=m;
lblWin.setText(Get_qizi_color(color_Qizi)+\
intGame_Start=0; } }
public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseDragged(MouseEvent e){} public void mouseMoved(MouseEvent e){} public void paint(Graphics g){ draw_qipan(g); }
public void set_Qizi(int x,int y){ //落子 if (intGame_Start==0) {//判断游戏未开始 return; }
if (intGame_Body[x/20][y/20]!=0){ return; }
Graphics g=getGraphics();
if (color_Qizi==1){//判断黑子还是白子 g.setColor(Color.black); color_Qizi=0; } else{
g.setColor(Color.white); color_Qizi=1; }
g.fillOval(x-10,y-10,20,20);
intGame_Body[x/20][y/20]=color_Qizi+1; if (Game_win_1(x/20,y/20)){ //判断输赢1 lblWin.setText(Get_qizi_color(color_Qizi)+\
intGame_Start=0;
15
共分享92篇相关文档