Linux环境下五子棋游戏设计(毕业设计论文)终稿文档格式.doc
- 文档编号:14175444
- 上传时间:2022-10-19
- 格式:DOC
- 页数:38
- 大小:561KB
Linux环境下五子棋游戏设计(毕业设计论文)终稿文档格式.doc
《Linux环境下五子棋游戏设计(毕业设计论文)终稿文档格式.doc》由会员分享,可在线阅读,更多相关《Linux环境下五子棋游戏设计(毕业设计论文)终稿文档格式.doc(38页珍藏版)》请在冰豆网上搜索。
五子棋是一种两人对弈的纯策略型棋类游戏,应用C语言编写程序可以在计算机上实现二人对弈五子棋功能。
二人对弈五子棋程序由图像生成、光标移动与落子、判断胜负和系统帮助等子程序构成;
程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。
程序通过棋盘和棋子图像生成、二人移子与落子和判断胜负等功能的实现,在计算机上实现了二人五子棋对弈。
关键词:
C语言;
五子棋;
数组;
图形编程
abstract
GobanggameisoriginatedinancientChina,developmentinJapan,popularinEurope,notonlyforitssimpleproperties,asthemasseslovetoseeandhear,butalsohasaprofoundskillsandahighlevelofinternationalcompetition.Itschesscultureoriginislong,hastheEasternmysticismandwesternvisual,both"
field"
concept,alsohasa"
point"
connection,itisthepointofculturalcommunication,isthecrystallizationofancientandmodernphilosophy.
Gobangisatraditionalchecker-typegameinwhichtheliningupoffivepiecesinastraightlinescoresvictory.AndClanguagecanaccomplisha2-playergobangoncomputers.This2-playergobangprogramcontains4mainsections,theyare,graphics,movementandselection,victoryjudgmentandhelpingsystem.SeveralelementsandsentencesofCprogramminglanguagesuchasstructuralelement,array,globalvariables,pressprocessingandGraphicsProgrammingarealsoappliedintheprogram.Withtheaccomplishmentofthethreemainsubprograms,namely,checkerboardandpiecesconstruction,players’step-selectionandvictoryjudgment,awholeprogramofgobangisestablishedandgobangisavailableoncomputers.
Keywords:
Cprograminglanguage,Gobang,Array,GraphicsProgramming,
33
目录
摘要 II
abstract III
1概述 1
1.1开发背景 1
1.2开发目的和意义 1
1.3开发目标 2
2程序的介绍与规划 3
2.1程序设计 3
2.3程序的实现目的 3
3程序分析与总体设计 4
3.1程序需求分析 4
3.1.1用户需求分析 4
3.1.2功能需求分析 4
3.1.3程序稳定性分析 6
3.2程序总体方案的设计 6
3.3 程序开发方法与开发平台 8
3.3.1开发方法 8
3.4本章小结 8
4程序设计与算法实现 9
4.1数据模块 9
4.1.1数据结构 9
4.1.2数据定义 10
4.2.1界面设计——创建棋盘 10
4.2.2界面设计——创建菜单 12
4.2.3相关功能函数 13
4.3核心功能函数模块 16
4.3.1相关功能 16
4.4游戏功能模块 18
4.4.1游戏主要操作流程图 18
4.4.2人人对战模块 19
4.4.3人机对战模块 20
4.4.4网络对战模块 23
4.4.5其他功能模块 25
4.5本章小结 26
5系统测试及成果展示 27
5.1测试流程 27
5.2功能测试 27
5.2.1界面功能测试 27
5.2.2输入功能测试 27
5.2.3游戏功能测试 27
5.3成果展示 28
5.4总结 31
参考文献 32
致谢 33
武汉轻工大学2014届毕业设计论文
———————————————————————————————————————
1概述
1.1开发背景
游戏软件是当今世界发展最迅速,最有影响力,最有潜力与活力的领域之一。游戏软件深受广大青年人喜爱,而且在发达国家中老年人也有大部分喜欢游戏的,因此游戏软件在很大程度上给予绝大部分人精神上的娱乐。第二次世界大战以后,电子计算机技术得到了突飞猛进的发展。先是由晶体管代替了笨重的真空管,后来出现了集成电路和大规模集成电路,使电子子计算机一代一代实现更新,同时软件技术也发展迅速。在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力。这种“游戏”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”、“判断”能力反过来与人较量。由于不断修改更新,使计算机的“智力”水平与人难分高低。到了90年代,游戏软件已经为世界各国的人使用,BLACKISLAND和Blizzard.这两个强大的游戏制作组起到了巨大的带动作用,还有中国的洛河工作室在国内也起到了巨大作用,他们让很多很多人喜欢上了游戏软件,打开了这个市场。
如今游戏软件产业已经受到了广泛的关注,它年轻有潜力而且吸引人,让人们日益丰富的生活需求得以满足。
五子棋游戏更是吸引着不同年龄段的人群,无论男女老少都可以玩,都喜欢玩,而当前微型计算机已经是在广大人群中流行着,用电脑来下五子棋更是一种时尚。
五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。
有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。
在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:
“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。
”李善注引三国魏邯郸淳《艺经》中曰:
“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。
可见,五子棋颇有渊源。
亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来,可以说五子棋是我们的国粹之一了。
而当前五子棋程序的发展也非常快,从最初的双人发展到人机(有AI),然后到现在的网络对战,已经受到越来越多人的喜爱和重视。
1.2开发目的和意义
随着游戏行业正在逐渐成熟并多远化,前途一片光明,Linux操作系统图形化界面的出现,其使用越来越广泛,然而,Linux环境下的游戏处于一种缺乏状态,当你在Linux下工作的时候,休息期间玩一下游戏也是一种放松的方式,在Linux环境下开发游戏(以经典的五子棋为例)有其重要的经济价值和战略意义,也可以借此课题对自己所学的知识进行一次综合的运用和拓展,加强自己的专业知识水平和综合运用能力以及动手能力。
在人机智能方面其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;
其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱;
本系统注重人机对弈和网络对战功能的开发,人机对弈只有一个通用等级,未作详细分化,网络对战,借助SOCKET建立连接,进行网络传输,实时显示,并有比较简单的界面系统,简单而使用,完备又不奢华。
1.3开发目标
基于Ncurses库的Linux环境下五子棋游戏的设计与实现,使五子棋游戏的人人对战、人机对战和网络对战组合在一起。
为此,我设计是会做如下工作:
(1)Ncurses库的使用,使用Ncurses字符终端图形化处理的功能,实现界面的绘制(包括棋盘的绘制、光标的绘制、菜单的绘制、文字的显示等图形化实现功能);
(2)链表栈的实现,栈的创建、入栈、出栈与栈的销毁,栈用于记录落子的情况(包括颜色与位置);
(3)判断胜负算法的实现;
(4)人机对战算法的实现;
(5)网络编程,采用TCP的传输方式,用于网络对战的实现。
2程序的介绍与规划
2.1程序设计
本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连,首先实现五子相连的一方获胜。
程序执行过程中,要求棋盘、棋子时时可见,并且人可以通过按键盘按键移动光标,摆放棋子。
本系统在Linux环境下,运用C语言知识进行系统的编码,主要实现三大功能模块,人人对战模块、人机对战模块和网络对战模块。
用菜单的功能和按键获取进行选择需要进入的游戏模块。
2.2程序的基本功能
1.显示一个十三行十四列的围棋棋盘。
2.在棋盘上面在对应位置通过点击鼠标下子,棋盘上将在相应的位置上显示棋子,并且棋子在横纵交点上。
3.可以自动判断游戏是否结束,是否黑方或者是白方已经胜利。
4.在游戏棋盘上方会有一个游戏信息,这个游戏信息是用来提示当前是黑白双方的哪一方下子,玩家可以根据这个提示来相应的下棋,而不会导致不清楚轮到哪一方下棋。
5.具有悔棋功能,在下棋时可以悔棋。
6.主要的模块功能:
人人对战,人机对战,网络对战。
2.3程序的实现目的
五子棋游戏程序所要实现的目的是让我们可以在电脑上下棋,而不需要去买,可以随时玩,方便快捷。
而且能更好的推广五子棋于世界各地,此软件也在于提供给爱好五子棋的人,也吸引更多的人喜欢上五子棋,也具有很大很大的商业价值。
使五子棋游戏程序在以后的制作中功能越来越强大,外观越来越好看。
3程序分析与总体设计
3.1程序需求分析
3.1.1用户需求分析
通过程序功能的分析,根据五子棋爱好者的需求,得出以下需求信息:
1.具有基本开始功能;
;
2.具有提示该轮到哪一方下棋的功能;
3.退出游戏功能;
4.判断胜负功能;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 环境 五子棋 游戏 设计 毕业设计 论文 终稿