c语言课程设计之黑白棋游戏,c语言课程设计黑白棋游戏.doc

本文档详细介绍了使用C语言进行黑白棋游戏的课程设计,旨在巩固C语言基础知识,提升编程和调试技能。游戏功能包括新游戏、保存/加载、悔棋、与或图显示以及设置。程序设计涉及夹吃规则、棋盘状态判断和分数计算。通过此次设计,学生能够提高解决实际问题的能力并熟悉软件设计流程。
摘要由CSDN通过智能技术生成

您所在位置:网站首页 > 海量文档

&nbsp>&nbsp学术论文&nbsp>&nbsp大学论文

7e3e25dd1884ce9b7725a69a698d5758.gif

c语言课程设计黑白棋游戏.doc26页

本文档一共被下载:2377011b61454b208b34ad77b4c31088.gif次,您可全文免费在线阅读后下载本文档。

072ad097814a33d1ad18e33ca14a5a9e.png

9ec2792a743ebdf4575ee09a03c275ea.png

7af312d1be2cfc1e59f15880bb7a7e7a.png

5f207613e329ca76dc87c76d3ff77e64.png

adf7aa3071c520b8a2063089f549261c.png

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

C语言程序设计 课程设计(论文)题目:程序设计(报告)任务

程序设计的任务与要求:

(1)掌握C语言编程的基础知识。

(2)较熟练地编写C语言应用程序。

(3)了解C语言的常用标准函数、编程技巧、异常处理。

(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。

(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。

(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。

指导教师评语及成绩

成绩: 指导教师签字:

2009 年 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数据结构设计及用法说明4

2.2.3程序结构(流程图)6

2.2.4各模块的功能及程序说明8

2.2.5程序结果8

2.3程序源代码及注释9

第3章 课程设计总结21

参考资料22

第1章 课程设计的目的与要求

1.1 课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:

1. 巩固和加深学生对C语言课程的基本知识的理解和掌握

2. 掌握C语言编程和程序调试的基本技能

3. 利用C语言进行基本的软件设计

4. 掌握书写程序设计说明文档的能力

5. 提高运用C语言解决实际问题的能力

1.2 课程设计的实验环境

硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。

1.3 课程设计的预备知识

熟悉C语言及C语言开发工具。

1.4 课程设计要求

1. 分析课程设计题目的要求

2. 写出详细设计说明

3. 编写程序代码,调试程序使其能正确运行

4. 设计完成的软件要便于操作和使用

5. 设计完成后提交课程设计报告

2.1程序功能介绍

??? 只有在可以吃到对方棋子的方格里落子。

吃子规则:采用夹吃的原则,左图用红色标记的是黑方可落子的位置。当黑方落子之后,则夹在两黑子中间的白子都将变为黑子。右图是落子后的棋盘布局,蓝色标记的是白方可落子的位置。

夹子的方向包含:水平、竖直、斜对角1.??? 点击“新游戏”,将从新初始化棋局。

2.??? ?打开游戏存档,默认是.bwc文件

3.??? ?保存当前游戏,默认扩展名为.bwc

4.??? ?后退一步,即悔棋

5.??? 前进一步,只有在前面的操作存在后退的基础上,该按钮才有效。

6.??? “与或图”按钮,当选择与或法与电脑博弈时会显示与或图7.??? 点击设置按钮后,会出现以下对话框,可以修改设置,点击确定按钮后生效。

2.2程序整体设计说明

吃子规则:采用夹吃的原则,左图用红色标记的是黑方可落子的位置。当黑方落子之后,则夹在两黑子中间的白子都将变为黑子。右图是落子后的棋盘布局,蓝色标记的是白方可落子的位置。

夹子的方向包含:水平、竖直、斜对角2.2.1设计思路

2.2.2数据结构设计及用法说明

在主函数中,通过调用绘制棋盘、棋手对战,判断棋盘变化、改变棋子颜色等函数的调用来实现主函数的相应的功能 ,以下是有关于主函数的流程图。

绘制棋盘和初始棋子

rawQp

棋手对战 playtoplay

判断棋盘变化(能否分出胜负)

QpChange

计算棋手的成绩

输出胜利者信息

Y1

DrawQp

绘制棋盘和初始棋子

在界面上绘制320*320的棋盘,并在棋盘中绘制8*8的格子,初始棋子

2

SetPlay

设置棋子第一次的颜色

先走棋者持白子,后走棋黑子,每次交替

3

Playtoplay

人人对战函数

俩棋手交替走棋,定义键盘操作等

4

MoveColor

恢复原来棋盘状态

棋子由初始位置到落子位置的路径不改变颜色

5

QpChange

判断棋盘的变化

改变棋子的颜色

走棋后判断棋盘的变化情况,根据变化情况判断是否可以输出分数

6

DoScore

处理分数

根据棋盘上旗子的多少进行分数的处理

2.2.3程序结构(流程图)输出最后的胜利者结果

2.2.4各模块功能及程序说明落子后棋盘的变化判断输出哪个棋手的分,在不同的

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

c9f2bced460b0329ba0aadbbc3f0fc71.png

匿名?

发表评论

黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋或翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。 棋子:黑白棋棋子每颗由黑白两色组成,一面白,一面黑,共64个(包括棋盘中央的4个)。棋子呈圆饼形。    棋盘:黑白棋棋盘由64格的正方格组成,游戏进行时棋子要下在格内。棋盘可分为“角”、“边”以及黑白棋“中腹”。现今的棋盘多以8x8较为普遍。 棋钟:正式的比赛中可以使用棋钟对选手的时间进行限制。非正式的对局中一般不使用棋钟。 黑白棋的棋盘是一个有8*8方格的棋盘。下棋时将棋下在空格中间,而不是像围棋一样下在交叉点上。开始时在棋盘正中有两白两黑四个棋子交叉放置,黑棋总是先下子。    下子的方法把自己颜色的棋子放在棋盘的空格上,而当自己放下的棋子在横、竖、斜八个方向内有一个自己的棋子,则被夹在中间的全部翻转会成为自己的棋子。 并且,只有在可以翻转棋子的地方才可以下子。  如果玩家在棋盘上没有地方可以下子,则该玩家对手可以连下。双方都没有棋子可以下时棋局结束,以棋子数目来计算胜负,棋子多的一方获胜。在棋盘还没有下满时,如果一方的棋子已经被对方吃光,则棋局也结束。将对手棋子吃光的一方获胜。     每个“翻转棋”游戏开始时,棋盘上已经交叉放好了四颗棋子。其中两颗是黑棋,另两颗是白棋。黑棋总是先走。    当您的棋子在某一直线方向包围了对手的棋子时,就可以翻转这些棋子的颜色,使它们成为您方的颜色。例如,如果您执黑棋,并且看到在一排白棋的某一端是一颗黑棋,那么当您将一颗黑棋放在这一排的另一端时,所有的白棋都将翻转并变为黑棋!   所有的直线方向均有效:水平、垂直和斜线方向。    走棋的唯一规则是只能走包围并翻转对手的棋子。每一回合都必须至少翻转一颗对手的棋子。    按规则不能再走棋时,这一回合弃权。计算机会自动将控制权交给对方。 得分 “翻转棋”的计分方法非常简单。游戏过程中随时都显示黑棋数与白棋数。结束时棋数最多的一方就是赢家。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值