基于C语言的五子棋程序毕业课程设计报告

更新时间:2023-10-21 17:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(此文档为WORD格式,下载后您可任意编辑修改!)

石家庄铁道学院课程设计

基于C语言的五子棋程序课程设计

单 位:数0901分院(系) 专 业 :数学与应用数学 学 号 : 学生姓名 :许晓倩 指导教师 :石玉晶

完成日期 2010年 07月 14日

1

摘 要

本程序是一款棋类益智游戏程序,与五子棋游戏相近,是由C语言编写的可在WINDOWS 系统下运行的娱乐游戏平台。该程序面向广大棋类游戏的爱好者,能够提供方便,实现基本智能控制的游戏环境。本程序可以实现人人对战,用户可以根据需要自行选择不同维数的棋盘。对战中,为方便双方棋手,采用键盘上的上下左右键控制棋子的上下左右移动,由空格键控制下棋,双方都可通过ESC键终止游戏。游戏开始后,红、白双方轮流下棋,程序会根据双方下棋的先后顺序自动显示不同颜色的棋子,提示当前下棋的棋手,任何一方由三子连成一线时,游戏结束,结束时会显示对战双方胜负情况。

关键词:五子棋游戏应用程序,C语言,图形函数。

2

目录

1. 选题的意义4 2. 系统功能需求分析

2.1设计思想-5 2.2功能模块-5 2.3流程图说明6

3. 系统设计---7

3.1流程图---7 3.2数据结构-7 3.3中心算法代码说明v

4. 系统实现---9

4.1程序代码--9 4.2系统使用--24 4.3运行效果说明4

5. 总结

5.1设计收获--25 5.2存在的主要问题 5.3参考文献--25

3

第1章 选题的意义

总的来说,通过五子棋的设计,能使我掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能并熟悉分支、循环、数组、函数等的综合运用。

这次课程设计我们在学习了C语言之后第一次一个人设计程序,以前在完成作业时虽然也写程序,但当时的程序通常都是很短的,涉及到的知识点也通常比较单一。这次的课程设计则是对我们这半年学习的C语言的中分支、循环、数组、函数等知识的综合运用,也是对我们所学知识的一个综合考察。在运用这些知识的时候也锻炼了软件开发所需要的问题分析、系统设计、程序编码、测试等基本方法和技能,为我们以后从事软件开发打下基础。另外,在这个五子棋游戏的设计过程中还会涉及到我们在C语言课堂上没有涉及到的图形设计,这又未尝不是一个学习新知识的好机会。我希望自己通过查阅资料,在编写程序,调试程序的过程中,独立掌握这一知识,并将它正确运用到我的程序中来。

其次,五子棋是一款非常简单的棋类游戏,我从小学六年级就就开始玩五子棋,那时候用的还是自己画的棋盘,到大学有了更多的充裕时间,我开始经常的玩QQ游戏中的五子棋,对五子棋浓厚的兴趣使我在看到这一课题的时候马上选择了它,虽然五子棋游戏的应用程序已经普遍,但身为棋迷的我希望将自己所学的知识应用到五子棋游戏中,设计出一款我自己的五子棋。

4

第2章 系统功能需求分析

2.1 设计思想

该系统为五子棋应用程序的简版,功能上要求玩家可以自己选择3到9维的棋盘,玩家通过键盘上的上下左右键来实现棋子的移动,通过空格键输入棋子,每一步都可以通过ESC键,退出游戏,当一方三子连成一线时,这一方赢棋,并结束游戏。

2.2 功能模块

分析:程序总共包括5个模块,分别是初始化棋盘模块,判断结果模块,键盘功能控制模块,流程控制模块。

初始化棋盘模块:该模块的主要功能是根据玩家的选择初始化棋盘维数。 键盘功能控制模块:该模块根据玩家输入的上下左右键来控制棋盘上棋子的移动,根据enter键控制棋子的输入。

判断结果模块:该模块的功能是根据玩家输入的棋盘上的棋子,判定是否某一方存在三子连成一线。

游戏控制模块:该模块用来控制游戏的开始,在任意阶段任一方按ESC结束游戏,任一方三子连成一线,该方赢棋,输出结果,结束游戏。

流程控制模块:控制整个程序的运行,包括开始,结束以及各个模块的运行顺序各个函数之间的调用。

2.3功能结构图

5

本文来源:https://www.bwwdw.com/article/0igf.html

Top