五子棋课程设计及源代码

上传人:飞*** 文档编号:12961482 上传时间:2017-09-04 格式:PDF 页数:23 大小:674.73KB
返回 下载 相关 举报
五子棋课程设计及源代码_第1页
第1页 / 共23页
五子棋课程设计及源代码_第2页
第2页 / 共23页
五子棋课程设计及源代码_第3页
第3页 / 共23页
五子棋课程设计及源代码_第4页
第4页 / 共23页
五子棋课程设计及源代码_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《五子棋课程设计及源代码》由会员分享,可在线阅读,更多相关《五子棋课程设计及源代码(23页珍藏版)》请在金锄头文库上搜索。

1、计算机系课程设计报告 1 五子棋课程设计项目研究报告一 项目简介1.1 项目名称简单的多用户五子棋游戏程序1.2 开发人员1.3 指导教师二 项目设计要求2.1 项目要求通过课程设计完成一个五子棋游戏,程序中要实现 GUI图形界面的棋盘、黑子、白子功能,实现开始、重来、认输等功能,实现输赢自动判别算法,实现游戏对战。2.2 项目概述五子棋是源于中国古代的传统黑白棋之一,五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助与修身养性。本程序是一款棋类益智游戏程序,是采用 Java 语言编写娱乐小游戏。该程序面向广大棋类游戏的爱好者,能够提供方便,实现基本智能控制的游戏环境。本程序可以实现人人对

2、话,棋手可用鼠标来操作,点击界面退出按钮终止游戏。游戏开始后,选择模式,可进入相应界面,左方显示 15*15 的棋盘,右方会有游戏相关操作说明, 本游戏由棋手自行选择黑白方, 五子连珠者胜, 程序会提示当前下棋的棋手,结束时会显示对战双方胜负情况。2.3 开发平台Java 是由 Sun 微系统公司所发展出来的程序语言,它本身是一种对象导向( Object-Oriented )的程序语言。 JAVA目前在手机上应用最多的就是 JAVA游戏。本文使用功能强大的 Eclipse 开发工具和 java 开发语言开发出一款拥有自己特色的五子棋小程序,计算机系课程设计报告 2 其中 Eclipse 是一个

3、开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务, 用于通过插件组件构建开发环境。 幸运的是, Eclipse 附带了一个标准的插件集, 包括 Java 开发工具( Java Development Tools , JDT) 。三 设计思路及功能3.1 设计思路棋盘 设计 为 15*15 格 ,玩 家选 择黑 白方 后 , 点 击“ 开始 ”, 轮 流落 子, 当一方连 成五 子或 下满 棋 盘时,游戏 结束( 连 成五 子的 一方 获胜,下满 棋盘 为和 棋)。当游 戏一 方胜 利后 显 示胜 利信 息。 从程序表面看,这是一个二维平面图,所以数据用二维

4、数组来表示, 数组两个下标可以表示棋盘上的位置, 数组元素的值代表棋格上的状态,共有三种情况,分别是, 0 代表白棋, 1 代表黑棋。落子成功后,马上判断以该位置为中心的八个方向:上、下、左、右、左上、左下、右上、右下是否有相同颜色的棋子连成五子,如果连成五子,则游戏结束,输出相应的信息。3.2 流程图计算机系课程设计报告 3 3.3 功能的规划1 . 建立一个棋盘类, 绘制棋盘的样式, 在棋盘面板上添加各种按钮及相应胡触发事件。同时注意面板的设计,使面板设计的尽量胡的合理美观。a. 棋盘的绘制public void draw_qipan(Graphics G) /画棋盘 15*15 G.se

5、tColor(Color. lightGray ); G.fill3DRect(10,10,300,300, true ); G.setColor(Color. black ); for (int i=1;i300 | e.getY()300) return ; if (x1%2010) x1+=10; if (y1%2010) y1+=10; x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); d. 按钮的触发事件public void actionPerformed(ActionEvent e) Graphics g=getGraphics(); if (

6、e.getSource()=b1) Game_start(); else Game_re(); if(e.getSource()=exist) Game_re(); lblWin.setText(Get_qizi_color1(color_Qizi)+ 输了 !); intGame_Start=0; 计算机系课程设计报告 5 Public String Get_qizi_color1(int x) if (x=0) return “ 白子 ” ; else Return “ 黑子 ” ; 2. 编写一个功能判断落子的位置及画出相应的黑白棋子public void set_Qizi(int x,

7、int y) / 落子 if (intGame_Start=0) / 判断游戏未开始 return; if (intGame_Bodyx/20y/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_Bodyx/20y/20=color_Qizi+1; 3. 判断胜负if (

8、Game_win_1(x/20,y/20) /判断输赢 1 lblWin .setText(Get_qizi_color( color_Qizi )+赢了 !); intGame_Start =0; if (Game_win_2(x/20,y/20) /判断输赢 2 lblWin .setText(Get_qizi_color( color_Qizi )+赢了 !); intGame_Start =0; if (Game_win_3(x/20,y/20) /判断输赢 3 计算机系课程设计报告 6 lblWin .setText(Get_qizi_color( color_Qizi )+赢了 !

9、); intGame_Start =0; if (Game_win_4(x/20,y/20) /判断输赢 4 lblWin .setText(Get_qizi_color( color_Qizi )+赢了 !); intGame_Start =0; 3.4 游戏程序缺陷:在界面制作上有些简陋, 不是很漂亮, 操作上还不是很人性化, 实现鼠标菜单操作, 让游戏进行起来不方便, 同时这个程序也有很多的缺陷, 运行时也有一些小错误发生。 不过,我们经历课设还会找时间对其进行一定完善,不让自己留有遗憾。四 运行结果4.1 进入游戏的界面计算机系课程设计报告 7 分析:游戏开始的界面有两个选择项,用户可

10、以选择相应的角色,选择完毕后点击开始进入游戏。4.2 选择角色,点击开始,开始下棋分析:首先达到五个棋子连在一块的赢了,并在红色区域显示谁赢了!4.3 下完后点击重新开始计算机系课程设计报告 8 分析:下完一盘后游戏停止,点击重新开始,界面回到初始界面,选择角色继续游戏4.4 游戏过程中认输,自动判输分析:在下棋的过程当中谁中途认输,即点击认输,系统自动判断谁输计算机系课程设计报告 9 五 课程设计项目进度表日期 完成的工作2012-5.21 项目可行性研究,研究报告2012-5.22 系统开发技术,运行环境2012-5.23 子模块的程序设计和调试2012-5.24 系统联合调试,撰写课程设

11、计总结报告2012-5.25 答辩、交课程设计六 课程设计任务分配表成员 学号 项目内容 序号1、按钮功能设计2、棋子设计3、编写实验心得 01 1、棋盘设计2、判断输赢3、实验报告 02 计算机系课程设计报告 10 七 设计体会与总结这个课设题对我们来说有一定的挑战性,因为我们自己也不知道自己到底学到了一个什么样的境界。但可以肯定,这个课设题的要求绝对在我们的能力范围以上。之所以选择这个题目是想逼着自己去查更多的资料,学到更多的东西。结果也确实是这样的,我们在这次设计中学到了不少东西,也理解了许多原来不理解的东西。尽管这个系统做的并不是那么的完善。对于 Java 中的图形用户界面等,开始我并

12、不理解,也不知道怎样能实现相应的功能,但是真正的要用 Java 去做一个东西不理解它是不行的。 而且这个设计涉及到了 Java 中的绝大多数的知识点,如 Java 图形用户界面设计、 Java 的异常处理机制、 Java 中的多线程程序设计、 Java 输入输出流,要应用这些东西更要求我去好好理解 Java 的这些规则。总结这次课设,我们还是收获不少。虽然界面也不是很美观,有点功能间的连接做的也不是特别的好,但是我们能认识到自己的不足,并且在跟同学的交流中也学到了一些他们的设计思路,也知道今后要加强哪些方面的知识 。八 参考文献1. 吴其庆编著 .Java 程序设计实例教程 . 北京:冶金工业

13、出版社2. 柳西玲 . 许斌编著 .Java 语言应用开发基础 . 北京:清华大学出版社3. (美) CayS.Horsttmann Gary Cornell JAVA 核心技术卷 i :基础知识(原书第七版) :机械工业出版社4丁振凡 Java 语言实用教程 :北京邮电大学出版社5. 张亦辉 java 面向对象程序设计 :人民邮电出版社计算机系课程设计报告 11 源代码:import java.io.*; import java.applet.*; import java.awt.*; import java.awt.event.*; import java.applet.Applet; i

14、mport 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 int1616; / 设置棋盘棋子状态Button b1=new Button( 开始 ); Button b2=new Button( 重置

15、游戏 ); Label lblWin=new Label( ); Checkbox ckbHB=new Checkbox2; 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); 计算机系课程设计报告 12 ckbHB0=new Checkbox( 执白 ,ckgHB,false); ckbHB0.setBounds(320,20,60,30); ckbHB1=new Checkbox( 执黑 ,ckgHB,false); ckbHB1.setBounds(380,20,60,30); add(ckbHB0); add(ckbHB1); ckbHB0.addItemListener(this); ckbHB1.addItemListener(this); add(l

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

当前位置:首页 > 商业/管理/HR > 其它文档

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