




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java课程设计课程设计报告实验时间: 2011年12月26日实验班级: 10级(2)班姓 名: 丁远扬课程设计报告简单的游戏五子棋二、开发环境(实验编译以及测试环境)硬件环境:CPU:Intel 奔腾双核E5200 主频 2.5GHz内存:2G软件环境:操作系统:Windows xp编程环境 JDK7.0开发工具:Eclipse SDK三、使用环境(用户运行环境)硬件环境:CPU主频在500MHZ以上,内存在128M以上软件环境:JAVA运行环境 + Windows XP或Windows 2000 以上操作系统目 录第一章 总体设计1.1设计的目的1.2本系统的主要功能1.3 Java源文件及其内部类的功能1.4项目构建思路第二章 模块功能介绍2.1主类Chess第三章 总结3.1参考文献3.2工作总结33渤海大学 信息科学与技术学院 Java课程设计报告第一章 总体设计1.1设计的目的java程序设计课程设计是计算机科学与技术专业集中实践性环节之一,是学习完java程序设计课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对面向对象基础理论和基本知识的理解,掌握面向对象程序设计的基本方法,进一步使学生综合运用所学知识和增强实际动手能力。通过课程设计,学生在下述各方面的能力应该得到锻炼:1. 通过本次设计,实现对本学期内容的回顾与综合运用,包括类的建立,用类创建对象,方法的调用,图形组件的使用方法,图形界面的布局形式,事件处理机制,对话框的使用,文件操作的基本方法,数据读写的基本用法等。2. 对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 3. 掌握自顶而下的设计方法,将大问题进行模块化、对象化,领会面向对象程序设计的方法。4. 熟练掌握JAVA语言的基本语法,灵活运用各种预定义类、线程和事件处理。1.2本系统的主要功能 本系统可以实现两人对战,能实现有次序的下棋,但是不能判断胜负,只是实现了一个五子棋可执行界面。1.3 Java源文件及其内部类的功能表1-1 java源文件及其功能序号文件名主要功能备注1Chess本程序的主函数初始化棋盘2ChessPad绘制五子棋面板画出界面3ChessPoint_black画黑棋棋子黑棋与白棋顺次下 4ChessPoint_white画白棋棋子黑棋与白棋顺次下5About关于查看显示制作信息1.4目构建思路此程序旨在打造一个小型五子棋娱乐游戏,游戏编辑思路,五子棋是一种互动性的益智游戏。需要棋盘、棋子、棋手、裁判。但是,我并没有给出裁判算法。首先,我们绘制一个五子棋棋盘,关键代码如下:/绘制棋盘函数 public void paint(Graphics g) for (int i=40;i=400;i=i+20) g.drawLine(40,i,400,i); /绘制棋盘 行 for(int j=40;j=400;j=j+20) g.drawLine(j,40,j,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); 其次,我们生成两种颜色不一样的棋子,关键代码如下:黑色棋子代码如下:/ChessPoint_black 类 继承 Canvas类class ChessPoint_black extends Canvas implements MouseListener ChessPad chesspad=null; ChessPoint_black(ChessPad p) setSize(20,20); /设置棋盘每一小格的长宽 addMouseListener(this); chesspad=p; public void paint(Graphics g) g.setColor(Color.BLACK); /设置黑色棋子的颜色 g.fillOval(0,0,20,20); /使用黑色填充椭圆棋子 白色棋子代码如下: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);/填充白子 最后,我们最终的程序是急于可视化的,所以,需要容器及组建来实现,关键代码如下:/ChessPad继承了Jpanel类实现了鼠标监听器和事件监听器德尔接口class ChessPad extends JPanel implements MouseListener,ActionListenerint x=-1,y=-1,chessColor=1;JTextField text1=new JTextField(请黑方下棋), text2=new JTextField();ChessPad()setSize(440,440);setLayout(null);addMouseListener(this);public void paint(Graphics g)/绘制棋盘for(int i=40;i=380;i+=20)g.drawLine(40,i,400,i);g.drawLine(40,400,400,400);for(int j=40;j=380;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);setEnabled(false);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/202|y/2019|y/2019)/画棋子的范围也就是在棋盘内画棋子elseif(chessColor=1)/判断该谁下棋如果chessColor=1是黑棋下this.add(chesspoint_black);chesspoint_black.setBounds(a*20-10, b*20-10, 20, 20);chessColor*=-1;text2.setText(请白方下棋);text1.setText();else if(chessColor=-1)/如果chessColor=-1是白棋下this.add(chesspoint_white);chesspoint_white.setBounds(a*20-10, b*20-10, 20, 20);chessColor*=-1;text1.setText(请黑方下棋);text2.setText();/实现所有鼠标监听器的接口public void mouseReleased(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mouseClicked(MouseEvent e)/About继承了Jdialog(对话窗口)class About extends JDialog public About(Chess owner) super(owner,关于 双人五子棋的简单界面,true); JPanel txtPanel=new JPanel(); txtPanel.add(new JLabel(双人五子棋简单界面学号:10060031姓名:丁远扬谢谢使用! 完成日期:2011.12.24),BorderLayout.CENTER);/使用标签嵌入网页制作思想 add(txtPanel,BorderLayout.CENTER); setSize(300,200); setResizable(false); 第二章 模块功能介绍2.1主类Chess(1)方法表表2-2 主要方法方法名称返回类型功能备注ChessPad()初始化棋盘设置棋盘颜色,ChessPad()Void paint (Graphics g)对棋子等图像进行初始化设置棋子大小,颜色等Void paint (Graphics g)Public void mousePressed(MouseEvent e)鼠标的实践监听单击实践public void mousePressed(MouseEvent e)public void paint(Graphics g)画出图像控制图像的大小范围public void paint(Graphics g)public void mousePressed(MouseEvent e)处理按下鼠标的事件选中下棋的位置public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)处理鼠标离开的事件本步下棋结束public void mouseReleased(MouseEvent e)public void mouseExited(MouseEvent e)处理鼠标离开棋盘时鼠标离开组件不实现任何事件public void mouseExited(MouseEvent e)public void mouseClicked(MouseEvent e)处理发生单击的事件实现下棋以及重新开始游戏public void mouseClicked(MouseEvent e)(3)源代码见文件Chess.java中的公共类 Chess第三章 总结3.1参考文献面向对象程序设计Java(第二版).西安电子科技大学出版社2006【教材】沈泽刚. Java语言程序设计 北京:清华大学出版社,20103.2工作总结一个编程语言最强大的地方不是它是容易学,或者难学,而是它拥有一个强大的库。JAVA是一个完全面向对象的语言,JAVA的命名规则是很容易让人接受的。而且容易被编程人员记住。经过实践训练,对JAVA的综合应用能力有了较大的提高,另外对JAVA的特点有了更深层次的认识。这次实践中使用的代码虽然不长,但类与类之间也有很强的逻辑关系,这就是面向对象语言的最大优势,这样可使我们更轻松的运用JAVA。经过努力,查阅相关资料,终于完成该课题,虽然效果不是很好,但亲手做过之后还是很有成就感的。通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产抵押合同
- vda考试试题及答案
- smt目检考试及答案
- INCB126503-生命科学试剂-MCE
- 2-O-MOE-UTP-生命科学试剂-MCE
- 禁烟知识培训总结内容课件
- 禁毒知识培训项目计划书课件
- DB61T 552-2012 地理标志产品 潼关酱笋
- 2025年中公试题及答案
- 2025年德育情景题目及答案
- 虚拟健康咨询接受度分析-洞察及研究
- 多发性周围神经病护理查房
- 口腔医保政策解读
- 2025年河北省廊坊市三河市小升初数学试卷
- 2024浙江艺术职业学院单招《数学》模拟题库附答案详解(精练)
- 2025年高警示药品管理试题(附答案)
- 脑动脉瘤术后护理查房
- 消防法制业务培训课件
- 油菜病虫害防治课件
- 湖南省2024-2025学年高一下学期期末考试英语试题【含答案解析】
- 安徽省蚌埠市2024-2025学年七年级下学期期末考试英语试卷(含答案无听力原文及音频)
评论
0/150
提交评论