ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:428.88KB ,
资源ID:27575713      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27575713.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课程设计报告五子棋.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java课程设计报告五子棋.docx

1、java课程设计报告五子棋第一章 软件平台游戏设计思路第二章 小游戏五子棋的开发过程第一节 JAVA基础知识第二节 启动程序的分析第三节 游戏设计过程第三章 总结第四章 参考文献第五章 附录第一章 游戏设计思路 : 第二章 第一节 java程序基础知识本系统有4个程序每个程序都导入了不同的包和类运用了不同的所学知识。不同的类和包提供的方法、类型等都不同,本程序还使用了继承。以至使其能够完成不同的功能。本节主要讲述本系统所使用的基础知识。1、 类的基础1、类的定义 JAVA中的类实质上是一种对象类型,它是对具有相同属性和相同行为对象的一种抽象。类是java程序中最小的组成单位。 2、 Java中

2、类定义的格式为:类修饰符 class 类名 extends 基类 implements 接口/ 成员变量声明 (Member variable declaration) / 成员方法声明 (Member method declaration)其中,class、extends和implements都是Java的关键字。类修饰符、extends和implements是关于修饰符、继承和接口的内容。 2、继承继承性是面向对象程序设计语言的一个重要特征,通过继承可以实现代码的复用。Java语言中,所有的类都是直接或间接的继承 java.lang.object类而得到的。被继承的类称为基类或父类,继承而

3、的来的类成为子类。子类继承基类的方法和属性,同时也可以修改基类的方法和属性 ,并增加自己新的属性和方法。Java不支持多重继承。即一个子类不能拥有两个或以上的父类。3、包1、包的定义 在Java中,把相关的代码组织到一起,称为“包”。包市一种将相关类、接口或其他包组织起来的集合体,目的是为了将包含类代码的文件组织起来,易于查找和使用。2、包的语法及导入:Package PackageName; /包的定义Import java.awt.Color /导入包关键字Import4、接口 1、接口的定义Java中的接口可以看成是一种抽象类,它是一些抽象方法和常量的集合,其主要作用是使得处于不同层次上

4、以至于互不相干的类能够执行相同的操作,引用相同的值,而且在一个类中可以同时实现来自不同接口中的多种方法。 2、接口的定义和实现Interface 接口名/抽象方法 /定义接口Class 类名 implements 接口名称/ 类体 实现接口5、线程1、线程的定义 即同时执行多个程序段,每个程序段都是一个线程。2、线程的周期线程的周期包括新建(new)、就绪(start())、执行(run())、阻塞(sleep()、wait()、suspend()、输入/输出流中发生线程阻塞)、死亡(stop()、destroy())。创建线程的方法:一种是创建Thread类的子类。另一种是实现Runnabl

5、e接口.而本系统采用的是接口的方式。6.Applet小应用程序1、 小应用程序与应用程序的区别:小应用程序没有主方法不能单独运行。而应用程序是拥有主方法的是可以单独运行的。2、Applet 的执行方式它有两种:一种是浏览器中执行,另一种是使用Appletviewer()命令执行。本系统的两个小应用程序都是采用编制html以浏览器形式执行。3、Applet主类的一般框架结构图Import java.awt.*;Import java.applet.*;Public class 类名 extends AppletPublic void init()/初始化变量、设置字体、装载图片Public vo

6、id start()/启动程序执行或恢复程序执行Public void stop()/挂起正在执行的程序,暂停程序Public viod destroy()终止程序的执行释放资源Public viod paint(Graphics g)/ 完成绘制图形等操作7、异常处理 1、异常处理概念异常是Java程序运行出现的错误。 2、异常处理机制异常处理机制:当try子句中抛出的异常属于某个catch子句的异常类时,该catch子句捕获到异常,并且系统自动将异常类的实例传递给catch子句的异常类对象。在catch子句中,可以从异常类对象中获取异常细节,并可通过该对象使用异常类中的方法,对异常进行相应

7、的处理。第二节 启动程序的分析 本程序主要是为了启动主程序所使用。让使用者有个等待时间。本程序运用了多线程机制使其能同时进行多个任务。导入的各包详细见后附录。public class Exec /测试类public static void main(String args) / 显示带有启动进度条的欢迎窗体new DemoWindow(); /实例化一个对象class DemoWindow extends JWindow implements Runnable / 带有启动进度条的欢迎窗体类private JProgressBar progress = new JProgressBar(1,

8、100); / 进度条ImagePanel ip = new ImagePanel(); / 图片面板public DemoWindow() / 构造函数add(ip, BorderLayout.CENTER); / 窗体布局add(progress, BorderLayout.SOUTH); /将进度条放在边界布局管理器南边progress.setStringPainted(true); / 设置进度条progress.setBorderPainted(false);progress.setString(正在启动应用程序.);progress.setForeground(Color.blue

9、);progress.setBackground(Color.white);setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR); / 设置窗体光标/ 设置窗体正好显示整个图片 pack();/ 设置窗体居中显示Toolkit theKit = getToolkit();Dimension wndSize = theKit.getScreenSize();setLocation(wndSize.width - ip.getWidth() / 2, (wndSize.height - ip .getHeight() / 2);setVi

10、sible(true); / 设置窗体为可见this.toFront();/ 将当前窗体置于屏幕所有窗体的前面Thread splashThread = new Thread(this); /新建线程splashThread.start(); / 启动改变进度条的线程public void run() / 改变进度条的线程方法try /异常处理机制for (int i = 0; i 100; i+) / 循环100次Thread.sleep(100); / 暂停0.1秒progress.setValue(progress.getValue() + 1); / 累加进度条的进度if (progr

11、ess.getValue()=100) 判断进度条的值是否是100 jsb dd=new jsb(我的记事本); 若是则实例化jsb对象即启动主程序 catch (Exception e) 若出现异常则打印出相应的消息 System.out.println(e.getMessage();this.dispose(); / 释放窗体资源class ImagePanel extends JPanel / 图片面板Image image = null; / 图片内容public ImagePanel() / 构造函数MediaTracker tracker = new MediaTracker(th

12、is); / 创建MediaTracker类变量,以加载图片,它可以保证图片加载完毕后才会进行下一步操作try /异常处理image = Toolkit.getDefaultToolkit().getImage(images/tl.jpg); / 加载图片tracker.addImage(image, 0); / 等待图片加载完毕tracker.waitForID(0);catch (Exception e) /若出现异常则打印出消息System.out.println(e.getMessage();setPreferredSize(new Dimension(image.getWidth(t

13、his), image.getHeight(this); / 设置图片面板的大小正好容纳整个图片public void paintComponent(Graphics g) / 重载的绘图函数,绘制指定图片super.paintComponent(g); /调用基类的方法g.drawImage(image, 0, 0, this); 第三节 游戏设计过程本程序是根据小游戏五子棋开发出来的,从游戏开始到结束,此下为小部分代码分析:1 新建一个java文件:2. 编写代码3. 运行4. 总分析:设计了游戏按照棋子的二维数组进行绘制棋子,玩家下棋后,程序修改数组相应位置,设置isPlayer1值,然

14、后重新绘制(repaint),就更新了棋盘界面。由于游戏的功能简单,也为了使游戏的操作尽可能的简便,我不在游戏进入时设计菜单,而是直接开始对战,在对战界面,设置了重新开始和退出的按钮。即运行即玩,可以悔档,存档,取档,重开 总结1.Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open NetEnvironment)体系。2.Java语法:I/O包,Util包,Lang包.3.Servlet:就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servle

15、t,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。4.Javabean:可以把你的JSP中的Java代码封装起来,便于调用也便于重用参考文献1、Java语言程序设计 主编: 贾振华 副主编:黄荣盛 贾振旺2、 查询相关资料3、王克宏.Java技术及其应用 北京:高等教育出版社,19944、林邦杰,彻底研究Java2。北京:电子工业出版社,20025、温平进、张威等。Instant Java2 实例解析。北京:北京希望电子出版社,20026、林建铭.精通Java2.北京:科学出版社,20017、王胜捷.Java程序设计。北京:中国铁道出版社,200

16、28、东方华人.Java2入门与提高.北京:清华大学出版社,20009、洪威恩.Java2面向对象程序设计.北京:中国铁道出版社 200210、杜江、沈应逵。Java2实例教程.北京:清华大学出版社,200311、金勇化、曲俊生等.Java网络高级教程.北京:北京希望电子出版社,200212、张利国.Java实用案例教程。北京:清华大学出版社, 200313、孙一林.Java语言程序设计.北京:清华大学出版社,200114、殷兆麟.Java语言程序设计.北京:高等教育出版社,200215、殷兆麟.Java网络编程基础.北京大学出版社,200416、教育部考试中心.全国计算机等级考试大纲(200

17、4年)版.北京:高等教育出版社,200417、孙燕.Java程序设计培训教程.北京:清华大学出版社,2002附录(代码)import java.util.*;import java.io.*;import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.*;class Gobang extends JFrame implements Runnable, ActionListener final static int Player=1; final static int AI =-1; Clas

18、sLoader cl = this.getClass().getClassLoader(); Toolkit tk = Toolkit.getDefaultToolkit(); int length=14, game_state, winner, check, step; int grid = new intlengthlength; int locX, locY /* 囱 竚 */, count /* 硈囱计 */, x, y /* 既 竚 */, displace_x=0, displace_y=0 /* 簿秖 */, direction; ArrayList steps = new Ar

19、rayList(); /* 癘魁囱 */JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem command = new JMenuItem4; String command_str= 囱, 郎, 弄郎, 秨;int dir = -1, -1, -1, 0, -1, 1, 0, -1, 0, 1, 1, -1, 1, 0, 1, 1 ; boolean dir2 = new boolean8; boolean turn; String message; final JDialog dialog = new JDialog

20、(this, 叫匡 , true);Font font=new Font(new_font, Font.BOLD, 20); Grid grids = new Gridlengthlength; Image white= tk.getImage(cl.getResource(res/white.png); Image black= tk.getImage(cl.getResource(res/black.png); Image title= tk.getImage(cl.getResource(res/title.png); Image temp; JPanel boardPanel, big

21、panel; JRadioButton choice = new JRadioButton2;final static int Start =0; final static int Select =1; final static int Playing =2; final static int End =3;final static int nil=-1; /* 礚 */ final static int oblique_1 =0; /* */ final static int oblique_2 =1; /* */ final static int horizontal =2; /* 绢 *

22、/ final static int vertical=3; /* */ Gobang ( ) super( 囱); boardPanel = new JPanel(); boardPanel.setLayout(new GridLayout(length, length, 0, 0);boardPanel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); for(int i=0; ilength; i+) for(int j=0; jlength; j+) gridsij = new Grid(i, j); boardP

23、anel.add(gridsij); bigpanel = new JPanel(); bigpanel.add(boardPanel, BorderLayout.CENTER); getContentPane().add(bigpanel, BorderLayout.SOUTH); game_state=Start; ThreadStart(); dialog.setSize(160, 100); dialog.setResizable(false); dialog.setLocationRelativeTo(null); ButtonGroup choice_group = new But

24、tonGroup(); JPanel choice_menu = new JPanel(); choice0 = new JRadioButton(堵 , new ImageIcon(black), true); choice1 = new JRadioButton( , new ImageIcon(white); for(int i=0; ichoice.length; i+) choice_menu.add(choicei); choice_group.add(choicei); for(int i=0; i=0 & x=0 & y=0 & x=0 & y=5) game_state=End; winner=chec

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1