软件工程课设六子棋(21页).doc
《软件工程课设六子棋(21页).doc》由会员分享,可在线阅读,更多相关《软件工程课设六子棋(21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-软件工程课设六子棋-第 17 页编号: 软件工程课程设计说明书题 目: 六子棋游戏软件开发 学 院: 计算机科学与工程学院 专 业: 信息安全 学生姓名: 马文亭 学 号: 1200360204 指导教师: 谢 武 2015年10月8日摘 要 六子棋是流传于中国民间的一类版图游戏。是一种双人对弈搏杀的一种游戏,交战双方棋子数均为六颗,故称六子棋。六子棋不同于五子棋,没有过多的棋子无论是从感观上还是公平性上都要优先于五子棋,六子棋的规则简单易懂,不像国际棋规则中的繁复规则,适用于各个年龄段的人玩。规则简单明了,游戏对环境的要求不高,孩子们大都是在光滑的地面或石板上画上方格,以石子或木棍、草节等
2、为棋子,并有简单的比赛,可以锻炼脑力。随着经济的发展和人们的生活水平的提高,每个人的业余休闲时间越发增多。人们也已经开始厌烦这灯红酒绿的生活,所以有许多的青年人多一起老一辈们所玩的游戏越发的感兴趣,其中六子棋就是再度兴起的一种小型的游戏,各种网站关于六子棋的网页版游戏频繁出现,令人耳目一新啊,例如3366小游戏,手机版的六子棋游戏也开始渐渐走入各种类型的手机中,为人民增添了生活的乐趣丰富了大家的娱乐时间。让很多人重温70、80后玩家儿时的感动,让小孩子感受到父母儿时的乐趣。根据社会上人们对游戏的热切程度,把以前的游戏通过科学技术转换成现代的小游戏软件。设计该软件采用了JAVA技术并且借鉴了很多
3、小的游戏网站的六子棋游戏,制作了一个简单方便的游戏。具体实现了这个游戏更加方便了喜欢六子棋的人群,不需要反反复复的花棋盘找棋子。不仅仅丰富了人们的生活,增加了娱乐项目,有为人民带去便利,让大众的生活充满欢乐。目 录第1章 绪论1 课题背景和意义1111.2 国内发展现状21.3 论文的主要工作21.4 论文章节的安排2第2章 可行性分析和需求分析2 可行性分析332.1.2 经济可行性32.1.3 政策的可行性42.2 用户分类及功能说明4第3章 系统实现5 模块实现553.1.2 游戏界面103.2 打包与安装18第4章 测试19 软件测试191920 结果分析26第5章 结束语28 总结2
4、8285.1.2 系统使用价值28 展望285.2.1 未完成系统的功能285.2.2 未来的工作29参考文献30第1章 绪论 课题背景和意义 六子棋是流传于中国民间的一类版图游戏。是一种双人对弈搏杀的一种游戏,交战双方棋子数均为六颗,故称六子棋。六子棋的棋盘为3乘以3的方格。棋子可信手拿来,只要互相区分即可。 据传,六子冲游戏源自中国古代战争的士兵阵型训练,后逐渐演变为一种棋类游戏。六子冲规则简单,上手容易,但变化无穷,是一种让人玩起来就欲罢不能的智力对抗游戏。六子冲游戏在上世纪主要流行于中国四川一带。在中国山区农村流传甚广,由于规则简单,工具可信手拈来,是我国乡间常见的棋类游戏。在商洛镇安
5、,涪城等地农村流行。重庆潼南乡村地区也盛行。在江西省宁都县农村,一直流传有“六子棋”这一棋类游戏。由于笔者是从自己的祖母那里学会该棋类,而笔者的祖母应当也是从他人那里学会的该棋类。有近百年或以上历史。棋盘。棋盘是4*4。棋子摆放比较自由。假设以一条平行于底线的横线将棋盘对半而分,对战双方可以将自己所持的6子任意的摆放在己方半边3个方格的8个顶点的任意6个顶点上。吃子。设对战双方各持黑子与白子。以黑子吃掉白子为例,若黑子的行棋应当在棋盘上形成某条棋盘线上两个黑子紧靠着顶着一个紧挨着某个黑子的白子,且同一条棋盘线上只有那两个黑子和一个白子,那么白子将被吃掉。若由于白子的行走造成的双黑字顶一个白子,
6、则不构成黑子吃白子的条件。反之,白子吃黑字亦然。胜负。在某一方最后只剩一个棋子时,比赛结束,以剩下棋子较多的一方为胜。若最终,步入僵局,双方都无法再吃对方棋子时,则以剩下棋子较多的一方为胜,若双方棋子数量一样,那么视为平局。旧时,农闲时,或是在人们在地里劳动停下来休息时,大家在地上画方格为棋盘,拾碎石、折树枝作为棋子,以对弈。 六子棋不同于五子棋,没有过多的棋子无论是从感观上还是公平性上都要优先于五子棋,六子棋的规则简单易懂,不像国际棋规则中的繁复规则,适用于各个年龄段的人玩。规则简单明了,游戏对环境的要求不高,孩子们大都是在光滑的地面或石板上画上方格,以石子或木棍、草节等为棋子,并有简单的比
7、赛,可以锻炼脑力。1.2 国内发展现状 随着经济的发展和人们的生活水平的提高,每个人的业余休闲时间越发增多。人们也已经开始厌烦这灯红酒绿的生活,所以有许多的青年人多一起老一辈们所玩的游戏越发的感兴趣,其中六子棋就是再度兴起的一种小型的游戏,各种网站关于六子棋的网页版游戏频繁出现,令人耳目一新啊,例如3366小游戏,手机版的六子棋游戏也开始渐渐走入各种类型的手机中,为人民增添了生活的乐趣丰富了大家的娱乐时间。让很多人重温70、80后玩家儿时的感动,让小孩子感受到父母儿时的乐趣。1.3 论文的主要工作 虽然六子棋并不算是一个小型软件,但是要做到工作也是相当的多啊。在该论文中要对软件进行可行性分析和
8、需求分析,同时还要进行系统设计和系统的功能说明,要对系统的实现进行具体的演示和打包安装,最后还要对该软件进行测试和结果分析,总结该系统的功能和不足之处和未来的工作发展。1.4 论文章节的安排第一章也就是本章对整个论文进行了大体的归纳,阐明了课题的背景和意义。我们在第二章中主要对整个软件进行可行性分析:技术可行性分析,经济可行性分析,政策可行性分析。同时还要进行需求分析:功能说明。第三章要介绍系统设计:概念结构设计,各个功能的实现。第四章是对系统的实现:算法,UI,关键代码,打包安装。第五章是整体的测试功能和结果分析,最后一章是结束语也就是课设的总结。第2章 可行性分析和需求分析 可行性分析 该
9、软件采用JAVA语言开发,使用的开发工具的Eclipse,Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C+和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE
10、软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和静态的语言。Java 平台是基于 Java 语言的平台。这样的平台非常流行。因
11、此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。2.1.2 经济可行性系统的经济方面的可行性应该从项目开发的投入金额、收益、收益投资比、投资回收周期和敏感性分析来考虑。该软件的开发工具使用的是Eclipse 它是一个开放源代码的、基于Java的可扩展开发平台。所有在开发软件方面根本不需要经济的支撑,所有项目的开发投入金额为0,本系统是一个娱乐性软件,会免费为大众提供使用。2.1.3 政策的可行性 六子棋属于一种适应于大众的小型娱乐性游戏,不但操作简单成本低廉同时不涉及到国家的经济问题和政治问题。不传
12、播任何的不良思想只是简单的供给大众娱乐消遣的小游戏。2.2 用户分类及功能说明 该软件属于一个免费行软件,可供任何一个人免费使用。该软件实现了该游戏本应该有的游戏方法同时也人性化的添加了初始界面的设定,让整个软件看起来更加的美观。其功能有游戏功能其中包括人人对抗,重新开始和认输功能。游戏简介功能,让用户了解该游戏并且能够快速的掌握游戏技巧和攻略。2.3 系统层次方框图图 2.1 系统层次方框图第3章 系统实现 模块实现UI设计:主界面采用的是类似于手机游戏界面设计的,完美的融合了古代棋类游戏的那种古典的,优美的画风。在搭配上古典音乐真有种和古代一起把酒言欢之感。背景图画采用水墨画的形式更增添了
13、韵味。如图4.1所示:图3.1 UI(主界面)算法和代码:因为模块一主要是所涉及的界面的设计所以涉及的算法几乎是没有,那接下来我们就讲讲代码部分,主要的代码只有2个部分一个是音乐部分的代码,另一个是背景图片载入的代码。代码1:public void Play(String fileurl) try AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileurl); AudioFormat aif = ais.getFormat();System.out.println(aif); final SourceDataL
14、ine sdl; DataLine.Info info = new DataLine.Info(SourceDataLine.class, aif); sdl = (SourceDataLine) AudioSystem.getLine(info); sdl.open(aif); sdl.start(); FloatControl fc=(FloatControl)sdl.getControl(FloatControl.Type.MASTER_GAIN); double value=2; float dB = (float) (Math.log(value=0.0?0.0001:value)/
15、Math.log(10.0)*20.0); fc.setValue(dB); int nByte = 0; int writeByte = 0; final int SIZE=1024*64; byte buffer = new byteSIZE; while (nByte != -1) nByte = ais.read(buffer, 0, SIZE); sdl.write(buffer, 0, nByte); sdl.stop(); catch (Exception e) e.printStackTrace();代码2: private void setBackgroundImage()
16、ImageIcon background = new ImageIcon(getClass().getResource(c.png); JLabel label = new JLabel(background);/背景图片显示在一个标签里 /把标签的大小位置设置为图片刚好填充 label.setBounds(0, 0, background.getIconWidth(), background.getIconHeight(); /把内容窗格转化为JPanel,否则 不能用方法setOpaque()来使内容透明 JPanel imagePanel = (JPanel) this.getConte
17、ntPane(); imagePanel.setOpaque(false); this.getLayeredPane().setLayout(null); this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE);游戏规则:为了让用户更加的了解六子棋小游戏,在主界面添加了游戏规则的按钮。用户只需要点击按键就可以查看游戏规则和了解游戏的由来。图3.1 游戏规则界面代码:import javax.swing.*;import java.awt.BorderLayout;import java.awt.event.*;import
18、 javax.swing.*;import java.awt.*;import java.io.*;public class Read extends JFrame protected String message;JPanel Panel5 = new JPanel();JLabel jt=new JLabel();JLabel jt1=new JLabel();JTextArea textarea;String s; public Read() this.setBackgroundImage(); textarea = new JTextArea(); add(textarea); tex
19、tarea.setOpaque(false); this.setSize(700, 600); read(); private void read()BufferedReader br=null; try br=new BufferedReader(new FileReader(game.txt); String str; while(str=br.readLine()!=null) textarea.append(str+rn); catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.prin
20、tStackTrace(); finally try if(br!=null) br.close(); catch (IOException e) e.printStackTrace(); public static void main(String args) Read r=new Read();r.show();3.1.2 游戏界面(1) UI设计:模块二即游戏部分,游戏界面因为背景图画里面的棋子是黑白的,所以为了区分此处的棋子我采用了显眼的黄色和绿色棋子,蓝色线行棋盘。界面上还会显示黄绿双方走棋的步数和所剩的棋子数。这样更加有利于走棋。如图4.2所示: UI(游戏界面)(2) 算法设计:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课设六子棋 21
限制150内