汉诺塔游戏java编程.doc

上传人:灯火****19 文档编号:138025726 上传时间:2020-07-13 格式:DOC 页数:21 大小:125KB
返回 下载 相关 举报
汉诺塔游戏java编程.doc_第1页
第1页 / 共21页
汉诺塔游戏java编程.doc_第2页
第2页 / 共21页
汉诺塔游戏java编程.doc_第3页
第3页 / 共21页
汉诺塔游戏java编程.doc_第4页
第4页 / 共21页
汉诺塔游戏java编程.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《汉诺塔游戏java编程.doc》由会员分享,可在线阅读,更多相关《汉诺塔游戏java编程.doc(21页珍藏版)》请在金锄头文库上搜索。

1、辽 宁 工 业 大 学JAVA语言程序设计 课程设计(论文)题目: 汉诺塔游戏设计 院(系): 软件学院 专业班级: 计算机网络技术091班 学 号: 091406015 学生姓名: 张铎赢 指导教师: 赵 凯 教师职称: 讲 师 起止时间: 2010.12.13至2010.12.24 程序设计专题(报告)任务及评语院(系):软件学院 教研室:软件教研室学 号091406015学生姓名张铎赢专业班级计算机网络技术091班程序设计(报告)题目 汉诺塔游戏设计程序设计(报告)任务程序设计专题的任务与要求:(1)掌握Java编程、面向对象的基础知识。(2)较熟练地编写Java应用程序Applicat

2、ion。(3)了解Java的常用标准类库、编程技巧、异常处理。(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。指导教师评语及成绩成绩: 指导教师签字: 2010 年12月 24 日目 录第1章 课程设计的目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3

3、 课程设计的预备知识11.4 课程设计要求1第2章 课程设计内容22.1课程设计主要内容22.2概要设计22.2.1自定义类说明22.3详细设计32.4.1程序运行情况132.4.2程序异常处理16第3章 课程设计总结17附录参考资料18第1章 课程设计的目的与要求1.1 课程设计目的JAVA程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完JAVA程序设计课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中

4、的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。1.3 课程设计的预备知识熟悉JAVA语言及ECLIPSE开发工具。1.4 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分

5、析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。第2章 课程设计内容2.1课程设计主要内容该程序是简单的汉诺塔游戏,其界面主要采用了awt包,程序实现了汉诺塔游戏的可玩性,使用鼠标操作,并且有菜单支持,游戏界面简洁直观,可玩性极高,可满足玩家的需求。2.2概要设计2.2.1自定义类说明class MyData主要数据及逻辑fr.addWindowListener(new MyWindowAd

6、apter();给窗口加入windows事件监听器fr.setResizable(false)设为用户不可改变窗体大小fr.setBackground(Color.WHITE);框架fr的背景颜色设置为白色汉诺塔系统流程图,如图2.1操作系统游戏功能处理程序鼠标游戏难度文件显示器图2.12.3详细设计源代码及注释:import java.awt.*;/GUI支持import java.awt.event.*;/GUI事件支持import javax.swing.JOptionPane;/对话框支持class MyData/主要数据及逻辑 private int m_top;/拿起的方块 pri

7、vate int m_size;/方块总数-1 private int m_room;/方块数组 private int m_pos;/每组方块最顶的位置 public MyData() m_room = new int83; m_pos = new int3; Start(4); /end method MyData public void Start(int x) m_size = x-1; for(int i=0;i=2;i+) for(int j=0;j8;j+) m_roomji = 0; m_posi=-1; for(int i=0;i m_roomm_posxx) return

8、false; m_posx+; m_roomm_posxx = m_top; m_top = 0; return true; /end method Drop public boolean TestFull() if(m_pos1=m_size)return true; if(m_pos2=m_size)return true; return false; /end method TestFull public boolean Click(int x) if(TestFull()return false; if(m_top = 0) Take(x);else Drop(x); /JOption

9、Pane.showMessageDialog(null,+x); return true; /end method Click public int GetTop() return m_top; /end method GetTop public int GetBlock(int x,int group) return m_roomxgroup; /end method GetBlock/end class MyDataclass MyWindowAdapter extends WindowAdapter/只实现需要的方法 public void windowClosing(WindowEve

10、nt e) System.exit(0);/terminate application /end method windowClosing/end class MyWindowAdapterclass MyMouseAdapter extends MouseAdapter public void mouseClicked(MouseEvent e) /JOptionPane.showMessageDialog(null,x+e.getX()+y+e.getY(); Main fr = (Main)e.getSource(); Dimension frSize = fr.getSize(); int x = e.getX(); int w = frSize.width/3; if(x w) fr.mdta.Click(0); else if(x (2*w) fr.mdta.Click(1); else fr.mdta.Click(2); fr.repaint(); /end mrthod mouseClicked/end class MyMouseAdapterpublic class Main extends Frame static MyData mdta; public M

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号