1、 C 语言程序设计语言程序设计 课程设计(论文)课程设计(论文) 题目:题目: 黑白棋游戏黑白棋游戏 学 号 000000 学生姓名 0000 专业班级 程序设计 (报告) 题目 黑白棋游戏 程 序 设 计 ( 报 告 ) 任 务 程序设计的任务与要求:程序设计的任务与要求: (1)掌握 C 语言编程的基础知识。 (2)较熟练地编写 C 语言应用程序。 (3)了解 C 语言的常用标准函数、编程技巧、异常处理。 (5)联系已学过的内容,巩固所学的理论,增强独立工作能力。 (6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能 力都有一个很大的提高。 (7)通过本次设计,进一步培养学
2、生热爱专业的思想,同时对本专业综合素 质的提高起一个积极的推动作用。 课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。 正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。 指 导 教 师 评 语 及 成 绩 成绩: 指导教师签字: 2012 年 1 月 13 日 目 录 第 1 章 课程设计的目的与要求 . 1 1.1 课程设计目的 1 1.2 课程设计的实验环境 1 1.3 课程设计的预备知识 1 1.4 课程设计要求 1 第 2 章 课程设计内容 2 2.1 程序功能介绍 2 2.2 程序整体设计说明 3 2.2.1 设计思路 3 2.2.2 数据结构设计及
3、用法说明 4 2.2.3 程序结构(流程图) 6 2.2.4 各模块的功能及程序说明 8 2.2.5 程序结果 8 2.3 程序源代码及注释 9 第 3 章 课程设计总结. 21 参考资料 . 22 1 第 1 章 课程设计的目的与要求 1.1 课程设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程 序设计语言(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对 C 语言课程的基本知识的理解和掌握 2. 掌握 C 语言编程和程序调试的基本技能 3. 利用 C 语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高
4、运用 C 语言解决实际问题的能力 1.2 课程设计的实验环境 硬件要求能运行 Windows 2000/XP 操作系统的微机系统。C 语言程序设计及相应的 开发环境。 1.3 课程设计的预备知识 熟悉 C 语言及 C 语言开发工具。 1.4 课程设计要求 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告 2 第 2 章 课程设计内容 2.1 程序功能介绍 只有在可以吃到对方棋子的方格里落子。 吃子规则:采用夹吃的原则,左图用红色标记的是黑方可落子的位置。当黑方落子 之后,则夹
5、在两黑子中间的白子都将变为黑子。右图是落子后的棋盘布局,蓝色标记的 是白方可落子的位置。 夹子的方向包含:水平、竖直、斜对角。 1 点击“新游戏”,将从新初始化棋局。 2 打开游戏存档,默认是.bwc 文件 3 保存当前游戏,默认扩展名为.bwc 4 后退一步,即悔棋 5 前进一步,只有在前面的操作存在后退的基础上,该按钮才有效。 6 “与或图”按钮,当选择与或法与电脑博弈时会显示与或图。 7 点击设置按钮后,会出现以下对话框,可以修改设置,点击确定按钮后生效。 3 2.2 程序整体设计说明 程序设计的组成框图: 吃子规则:采用夹吃的原则,左图用红色标记的是黑方可落子的位置。当黑方落子 之后,
6、则夹在两黑子中间的白子都将变为黑子。右图是落子后的棋盘布局,蓝色标记的 是白方可落子的位置。 夹子的方向包含:水平、竖直、斜对角 2.2.1 设计思路 从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可 以表示棋盘上的位置,数组元素的值代表棋格上的状态,共有三种情况,分别是 0 代表 空格,1 代表白棋,2 代表黑棋。这样程序的主要工作是接收棋手按键操作,棋手用 Up、 4 Down、Left、Right 控制光标移动,回车键表示落子。如果无棋可走则显示停步信息。 一旦接收到回车键或空格键,说明棋手落子,先判断是否是有效位置,也就是说已经有 棋子的位置不能重叠落子,然后再判断该位置能否吃掉对方的棋子(根据黑白棋的游戏 规则,只能将棋子落子能吃掉对方棋子的位置上) ,如果条件满足则在该位置落子,落子 时执行这样几个步骤,先调用画棋子函数,将棋盘的相应位置上画上棋子,再调用吃棋 子函数,将对手的棋子变成自己颜色的棋子,然后根据吃掉对手棋子的个数,给自己加 上相应的分数和