基于java的五子游戏的开发设计毕业论文(编辑修改稿)内容摘要:

运行)。 编译只进行一次,而解释在每次运行程序时都会进行。 编译后的字节码采用一种针对 JVM 优化过的机器码形式;解释器是 JVM 的实现。 这段是摘自网上的,编译原理学的不是很好,对这门语言的背后运行机制理解到这样了。 Java平台是一种纯软件平台,它有三个版本 Java SE、 JavaEE、 Java ME。 Java SE( Java Platform, Standard Edition)这个版本以前叫做 J2SE,后来版本号从 直接跳到 ,其实也就是 ,所以就叫成 Java SE。 目前 Java开发人员使用较多的版本是,当然还有 Java SE。 它允许开发 和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。 Java SE还包含了支持 Java Web服务开发的类,并为 Java EE这个版本提供基础。 虽说桌面应用程序, Java一直不被看好,但也稍微提一下,负责桌面 GUI开发的类库我知道的有: JDK自带的主要是 AWT/SWING这个 Java原生类库;也可以使用 IBM的 SWT/JFace这个第三方类库。 开发工具我了解的有: NetBeans(最近已经是 ,做 GUI有使用 VB的感觉), Eclipse( SWT/JFace这个项目其实就 是做 Eclipse项目时扩展出来的,所以对 SWT/JFace支持的也不错)。 Java EE( Java Platform, Enterprise Edition)这个版本以前叫做 J2EE,也就是大家可能听得比较多的,也是 Java比较流行的领域, Java的企业级版本。 Java EE下有很多流行的开发框架,像 Struts、 Spring、 Hibernate这种流行的所谓 SSH组合等。 根据项目大小、应用领域,技术平台的选择面还是很多的,除了 Java EE,还有 .Net, LAMP组合( Linux、 Apatch、 MySql、 PHP组合),相对来说比较新 Ruby在 Ruby on Rails的框架应用,后两者可能在相对来说比较轻量级的 Web领域运用成功案例比较多,更重量的企业级潜力还有待挖掘。 Java ME( Java Platform, Micro Edition)这个版本以前叫做 J2ME。 应用领域像各种移动设备和嵌入式设备,比如:手机、 PDA、电视机顶盒和打印机。 山东凯文科技职业学院 8 Java ME不是太熟悉,不过移动设备和嵌入式设备的开发个人觉得算是比较有意思的领域,最近比较瞩目的业界新闻有一个就是 Google发布开源智能手机操作系统开发平 台 Android,也就是前一阵子炒得很火的 GPhone(原来 Google出的不是手机,而是一个手机操作系统开发平台)。 这个平台貌似会对 Java ME有些冲击,按照网上的消息, Android包括: 高度定制的 Linux操作系统内核及智能手机硬件驱动支持; 经过 Google修改过的 Java虚拟机 Dalvik,这里的性能比SUN的 Hotspot高,支持大部分 Java核心类库; 大量智能手机开发核心类库; 大量现成的智能手机应用软件; 基于 Eclipse的开发环境。 也是按照网上的说法, Java EE提供了 统一的编程平台,但不能调用操作系统的资源;而 Android下直达操作系统,上直达应用软件,如:浏览器、日历、地图等。 Java开发工具很多,个人使用的 IDE有 Eclipse和 NetBeans。 Eclispe比较流行,各种插件也多,当然用起来也不错; NetBeans现在也是越做越好了,介绍这两个 IDE主要是开源的,当然还有其它工具如 JBuilder、 IntelliJ、 JCreator。 这些 IDE各有优势劣势,根据你开发的项目来选择了。 JAVA 编程环境 环境变量 (1)java(TM) SE Development Kits,即 JDK。 (2)设置环境变量: 右击 我的电脑 属性 高级 环境变量,这时候可以看到以下的环境变量: Path:系统在任何路径下都可以识别 Java 命令。 classPath:为 Java 加载类 (包括 class, lib)的路径,只有类在 classPath 中, Java 命令才能识别。 JAVA_HOME: Java 的安装路径。 这三个变量是必须正确设置的,否则 Java 命令将可能不会正常运行,具体设置如下: Path:。 C:\Progran Files\java\\bin classpath: .。 Progran Files\java\\lib\。 Progran Files\java\\lib\ JAVA_HOME: Progran Files\java\ Eclipse 插件 (1) XMLBuddy:编辑 xml 文件。 下载地址为 (2) Fat Jar:打包插件 ,可以方便的完成各种打包任务,可以包含外 部的包等。 (3) Log4E:Log4j 插件,提供各种与 log4j 相关的任务 ,Log4j 专用于为程序输入调试信息。 山东凯文科技职业学院 9 (4) Lomboz:Ecilpse 的一个 J2EE 的插件,可以将很多 java 应用服务器 ,J2EE 组件和 web 应用开发集成到 Eclipse 中,可以帮助 Java 开发者使用 Eclipse 建立,测试和部署 J2ee 应用。 支持 jsp 编写,包括语法着色和语法检查 :。 (5) MyEclipse: J2EE 开发插件,支持 jsp, EJB,数据库操作。 (6) TomcatPlugin:支持 Tomcat 插件。 山东凯文科技职业学院 10 第五章 详细设计 程序设计思路 .设计思想 ,必须先有一个棋盘,所以,通过继承 JPanel,然后在 JPanel上画出一个 17*17 的棋盘,另外还有三个按钮:重新开局、请黑方下子和请白方下子,提醒用户进行相应的操作。 当然, JPanel 必须放在 JFrame 中,所以,又通过继承 JFrame 得到一个实例。 ,通过对 JPanel 增加鼠标事件监听器 MouseListener,每次当用户点击鼠标时,先取得点击的坐标值,然后换算成对应棋盘上 (即棋盘数组)的位置(数组的下标)。 ,如果有则提示玩家重新下子,否则通过 java 里的画图函数在此处画上棋子,重新刷新输出棋盘。 ,是的话提醒相应玩家获胜,不是的话,更换玩家下棋。 ,每次用户点击鼠标后,若本局还未结束则会变换玩家,从而画出对应黑方白方的棋子,直到有一方获胜程序技术。 .程序设计分析 1. 本款游戏有“游戏”和“选项”两个选项,其中“游戏”包括开局、重新开始、结束游戏几个 选项;选项里边则包括对弈模式、悔棋、更改背景颜色几个选项,玩家可以根据具体需要选择使用。 2. 绘制棋盘, 17 条横线, 17 条竖线,在直线交点处下棋子(实心黑白圆形)。 3. 首先程序会判断对弈模式是人机对弈还是人人对弈模式,若是人机对弈则是玩家先下,玩家是黑方,电脑是白方。 若是人人对弈,则是黑方先下,黑白交替下子。 4. 棋盘处于鼠标监听状态,当鼠标在棋盘上有点击操作的时候,程序会获得鼠标点击的坐标然后换算成对应的棋盘的位置,再判断此处是否有棋子,假如没有,那么在此处画出对应颜色的实心棋子,假如已经有棋子了,则提示玩家此处已经有棋子请重新下棋。 5. 当选择的是人机对弈模式的时候,轮到电脑下子时,电脑会通过算法计算每个没有棋子的位置的重要性来选择最重要的位置下子。 6. 人机对弈算法简介: 本款游戏最核心的地方就是算法,因为这是整个程序最难的模块。 算法的中心思想是:利用分数代表每个位置的重要程度,越重 要的位置的分数值会越高,当电脑下棋时会先将电脑和玩家山东凯文科技职业学院 11 棋型的分数分别计算一遍,然后选择二者中分数最高的点下子。 如果玩家的分数高,那么代表电脑应该防守,如果电脑的分数高,那么代表电脑应该进攻。 具体的分数值赋值如下: 分数 电脑 玩家 活二 60 50 半活二 40 35 死二 10 10 半死二 10 10 活三 950 700 半活三 900 650 死三 100 100 半死三 100 100 活四 6000 3500 半活四 5000 3000 死四 4000 800 半死 四 3600 750 活五 20200 15000 半活五 10000 3300 死五 20200 15000 半死五 10000 3300 解释一下其中的活,半活,死,半死: 活:代表几个子是相连的,中间没有空格,两端都至少有一个空格。 半活:代表几个子不是相连的,几个子中间有一个空格,两端都至少有一个空格。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。