五子棋程序设计说明书
程序使用说明书-五子棋

五子棋游戏使用说明书
程序操作说明
(1)在机器上装好TC2.0环境,读者在下载后直接解压到C盘即可。
(2)进入源码所在目录,选中源码右键选择选项“打开方式”,然后再选择子选项“TC”,选中后出现如下图所示界面。
tc界面
(3)按键盘“F9”进行编译,然后按“Ctrl+F9”组合键运行程序。
五子棋游戏的基本规则:本游戏棋的颜色分为蓝色和红色,哪种颜色棋子先满足下列任意一个条件即为获胜,条件如下:
1.水平方向五个棋子无间断相连
2.垂直方向五个棋子无间断相连
3.斜方向五个棋子无间断相连
运行结果分别如下面两个图所示。
五子棋游戏开始界面
五子棋游戏界面。
C++课程设计说明书(五子棋)

C++课程设计说明书(五⼦棋)课程设计说明书五⼦棋游戏The Game of Gobang学院名称:机械⼯程学院专业班级:测控10xx学⽣姓名:江x指导教师姓名:张xx指导教师职称:副教授2012年6⽉⽬录第⼀章需求分析 (5)1.1系统概述 (5)1.1.1概述: (5)1.2系统运⾏环境 (5)1.2.1运⾏环境 (5)1.3功能需求描述 (6)1.3.1功能需求 (6)第⼆章总体设计 (6)2.1开发与设计的总体思想 (6)2.1.1总体设计思路 (6)2.1.2屏幕的组成 (7)2.1.3形状的组成 (8)2.1.4形状的统⼀ (8)第三章概要设计 (9)3.1系统流程图 (9)3.2 软件功能模块 (10)3.3 系统功能模块 (11)第四章详细设计 (11)4.1.界⾯的设计 (11)4.1.1总体界⾯的设计 (11)4.1.2界⾯棋⼦的设计 (11)4.2.显⽰界⾯的准备 (13)4.2.1在窗体类中添加存放⿊⽩棋两维数组和背景棋盘、⿊棋、⽩棋位图对象 (13)4.2.2 在窗体构造函数中初始化wb,装⼊棋盘、⿊棋、⽩棋位图 (13)4.3. 显⽰棋盘和棋⼦代码 (13)4.4. 轮流下⼦代码 (14)4.5. 判断输赢 (17)4.5.1判断是否⽩棋胜代码 (17)4.5.2判断是否⿊棋胜代码 (18)4.5.3判断是否平局代码 (19)4.6. 悔棋 (19)4.7. 重新开始 (20)4.8. 背景⾳乐 (21)4.9. 保存读取游戏⽂件 (21)4.9.1保存⽂件: (22)4.9.2读取⽂件: (23)第五章测试分析 (24)结论和⼼得体会 (25)致谢 (26)参考⽂献: (27)课程设计任务书⼀、课程设计⽬的课程设计是⼯科各专业的主要实践性教学环节之⼀,是围绕⼀门主要基础课或专业课,运⽤所学课程的知识,结合实际应⽤设计⽽进⾏的⼀次综合分析设计能⼒的训练。
课程设计旨在培养学⽣在本课程范围内,初步掌握解决实际应⽤问题时所应具有的查阅资料、综合运⽤所学知识的能⼒,为课程设计及今后从事专业⼯作打下基础。
五子棋 游戏 设计文档

1引言1.1五子棋介绍五子棋是起源于中国古代的传统黑白棋种之一。
现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。
它是中西文化的交流点,是古今哲理的结晶。
1.2开发背景当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和网络对战不能够一起实现,所以我决定开发[1]一个既能够人机对战,又能够进行网络对战的五子棋系统。
1.3开发环境及运行环境1.3.1开发环境●Intel®Pentium®42.0GHz,512M内存,80G硬盘●Microsoft®Windows™2000Professional●Microsoft®Visual C++6.0●Microsoft®Developer Network for Visual 2003●Visual Assist X10.1.1301.01.3.2运行环境●Intel®Pentium®2及以上处理器,32M以上内存,4G以上硬盘●Microsoft®Windows™9X/NT操作系统●800*600或以上的屏幕分辨率2软件架构软件的总体架构如图2.1:图2.1软件架构考虑到整个的下棋过程(无论对方是电脑抑或其他网络玩家)可以分为:己方落子、等待对方落子、对方落子、设置己方棋盘数据这一系列过程,因此一人游戏类、二人游戏类和棋盘类之间的关系参考了AbstractFactory(抽象工厂)模式,以实现对两个不同模块进行一般化的控制。
五子棋游戏课程设计说明书

学校代码: 10128学号:************课程设计说明书题目:五子棋****:**学院:理学院班级:信计13-1****:***二〇一六年一月二十一日内蒙古工业大学课程设计(论文)任务书课程名称:面向对象的程序设计学院:理学院班级:信计13-1 学生姓名:杨震学号: 201320905020 指导教师:白莲花摘要随着经济的发展,社会竞争的激烈,现在社会进入了竞争的时代。
上班族为了完成公司业务,每天超负荷的工作;学生为了不落后他人每天早起晚睡不断地学习,压力巨大。
所以为了缓解大家的压力,使大家在工作、学习之余娱乐一下,活跃大脑,提高工作、学习效率,因此益智性游戏越来越受人们的关注,五子棋作为益智类游戏之一,倍受人们的喜爱,所以对于五子棋的开发也有了很多关注。
C++语言即是进行软件开发的直接工具,又是“数据结构”、“操作系统”、“编译原理”以及其他相关课程的先修课程,因此,在整个教学体系中占据十分重要的地位[1]。
本文主要讲的是利用VC++6.0软件开发一个界面简洁、直观、实用性比较高的AI功能的五子棋游戏,游戏程序实现人人对弈,在对弈过程中当用户和用户比赛时电脑利用搜索算法计算出落子的最佳位置,是先人人对弈,而且程序能够完成具有重新开始、认输、提示该轮到哪一方下棋的、游戏、判断胜负、悔棋等功能。
关键词:人工智能;自动处理;五子棋目录第一章任务概述 (1)1.1问题概述 (1)1.2 需求分析 (1)第二章概要设计 (2)2.1功能设计 (2)2.2 程序结构 (2)2.3 基本流程 (3)第三章程序实现 (4)3.1主要变量及函数说明 (4)3.1.1 主要变量 (4)3.1.2 主要函数 (4)3.2 主要功能实现 (4)3.2.1棋盘类的声明 (4)3.2.2玩家类的声明 (4)3.2.3棋盘显示为方形 (5)3.2.4判断棋子显示位置是否合理 (5)3.2.5判断输赢 (5)第四章结果与总结 (6)4.1.运行过程及截图 (6)4.1.1棋盘初始化模块 (6)4.1.2输入错误提示 (8)4.1.3 结局判断模块 .............................. 错误!未定义书签。
程序设计课程设计五子棋实验报告(附代码)

程序设计课程设计报告书
1、引言
1.1 编写目的
学会 MFC 的一些基本操作,会使用其中的部分函数,编写一个五子连珠的小游戏, 游戏由两人对弈,用鼠标操作,执黑子者先下。
1.2 读者对象
计算机专业的学生或对编程感兴趣的学生
1.3 软件项目概述
项目名称:五子棋游戏 简称:五子棋 项目代号:无 软件项目的大致功能和性能要求
4、界面要求
人机界面要容易操作,有比较舒适的背景,遇到禁手、悔棋、保存、胜利 等可弹出对话框。人机交互和谐。
5、测试方案
1. 检验判断胜利:
6
程序设计课程设计报告书
若胜利,则弹出对话框,并显示是何种胜利 2. 检验禁手
7
程序设计课程设计报告书
以上仅列出六种禁手,当然还有跟多情况 3. 检验保存
当按下“保存”图标菜单时,会弹出对话框,可给棋局取个文件名,如“1” 然后单击“保存(S)” 4. 检验打开 重现打开游戏,按下“打开”图标菜单,现在打开“1” 会显示对话框,选择要打开的文件“1” 单击“打开”,则会复盘,显示上次未完成的游戏,继续对弈 5. 悔棋(有个撤销按钮,不便验收展示) 6. 综上,基本实现新局、保存棋局、打开棋局、悔棋、禁手、判断胜利
1.1 编写目的..............................................................................................................................4 1.2 读者对象..............................................................................................................................4 1.3 软件项目概述......................................................................................................................4 1.4 文档概述..............................................................................................................................4 1.5 定义......................................................................................................................................5 1.6 参考资料..............................................................................................................................5 2、任务概述....................................................................................................................................... 5 2.1 目标....................................................................................................................................... 5 2.2 软件的开发和运行环境.......................................................................................................5 2.3 用户特征..............................................................................................................................5 2.4 假设与约束..........................................................................................................................5 2.5 进度要求..............................................................................................................................5 2.6 验收要求...............................................................................................................................5 3、功能需求描述............................................................................................................................... 6 3.1 基本功能........................................................................................... 错误!未定义书签。 3.2 增加功能........................................................................................... 错误!未定义书签。 4、界面要求....................................................................................................................................... 6 5、测试方案....................................................................................................................................... 6 6、功能设计..................................................................................................................................... 10 6.1 类的关系描述.....................................................................................................................10 6.2 类的设计............................................................................................................................. 11 7、使用指南..................................................................................................................................... 11 8、维护接口..................................................................................................................................... 11 9、总结............................................................................................................................................. 12
五子棋程序设计课程设计报告书

目录1、引言 (3)1.1 编写目的 (3)1.2 读者对象 (3)1.3 软件项目概述 (3)1.4 文档概述 (4)1.5 定义 (4)1.6 参考资料 (4)2、任务概述............................................................... 错误!未定义书签。
2.1目标 (4)2.2软件的开发和运行环境 (5)2.3 用户特征 (5)2.4 假设与约束 (5)2.5 进度要求 (6)2.6验收要求 (6)3、功能需求描述与测试方案: (7)4、界面要求 (20)5、功能设计 (21)5.1类的关系描述 (21)5.2类的设计 (21)6、使用指南 (23)7、总结 (23)8、附录 (24)1、引言1.1 编写目的本文档为用户和软件设计者提供一个交流的平台。
在其中包含了用户所要求完成的功能,软件设计师实现的初步设想并最终实现的代码。
同时,为用户提供了使用的约束条件、使用手册,方便用户更好的使用本软件。
1.2 读者对象本文档的读者是最终验收者(教员和辅导员)。
1.3 软件项目概述●项目名称:五子棋游戏●简称:五子棋●项目代号:无●软件项目的大致功能和性能要求为:1)设计一个五子连珠类;2)记录游戏双方的游戏过程,允许悔棋;3)实现保存棋谱和根据棋谱复盘的功能;4)判断双方输赢,先走出五子连珠的一方胜;5)响应用户的鼠标消息,并显示棋盘信息;6)判断先下者落子时不允许走禁手。
1.4 文档概述本文档向用户和验收人员提供了一个很好的了解效果。
在文档中,有用户提出的需求(功能),有整个框架的具体描述,有每一个添加功能的具体实现代码以及测试结果。
最终具体描述了软件使用的说明。
1.5 定义五1.6 参考资料【1】《程序设计课程设计》国防科大印刷厂【2】《面向对象程序设计与Visual C++ 6.0教程》清华大学出版社【3】《Visual C++ 6.0 》人民邮电大学出版社【4】《Visual C++ 实用教程》电子工业出版社2、任务概述2.1目标用户提出需要设计出一个五子棋游戏,可以在任何的情况下都可以独立的运行。
五子棋概要设计说明书

1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (3)1.4参考资料 (3)2总体设计 (4)2.1需求规定 (4)2.2运行环境 (4)2.3基本设计概念和处理流程 (5)2.4结构 (6)2.5功能器求与程序的关系 (6)2.6人工处理过程 (6)2.7尚未问决的问题 (6)3接口设计 (7)3.1用户接口 (7)3.2外部接口 (11)3.3内部接口 (11)4运行设计 (12)4.1运行模块组合 (12)4.2运行控制 (13)4.3运行时间 (14)5系统数据结构设计 (14)5.1逻辑结构设计要点 (14)5.2物理结构设计要点 (15)5.3数据结构与程序的关系 (15)6系统出错处理设计 (17)6.1出错信息 (17)6.2补救措施 (17)6.3系统维护设计 (17)概要设计说明书1引言1.1编写目的本文档主要描述系统的模块的具体功能以及实现构想,明确标识了各功能的实现过程,阐述了系统使用范围及背景,提供达成用户需求的条件,为后续开发阶段提供一个衡量的标准。
本文档的预期读者为:软件工程师;测试工程师。
使得读者能够通过此文档快速准确地实现系统的各个模块功能,减少系统的BUG代码率,使各模块各部门之间衔接协调,接口一致。
1.2背景a.项目名称:enjoy五子棋b.项目提出者、开发者和用户:Project Proponent: Name: Cao Xiaopeng项目提出者:姓名:曹小鹏Project Develo per: Name:Xi yin,Ge Yimeng,Tian Hui,Cheng Binbin项目开发者:姓名:郗银戈艺萌田辉程彬彬Source of Staff人员来源:西安邮电大学1号软酷作业实验室Actors 用户:游戏玩家。
1.3定义List of abbreviations 缩略语清单:MFC:MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。
五子棋游戏程序设计

五子棋游戏程序设计五子棋游戏程序设计1、引言在本文档中,我们将介绍一个五子棋游戏的程序设计方案。
五子棋是一种非常古老的策略性棋类游戏,玩家通过在一个棋盘上下子,目标是先在横、竖、斜线上连成五个子的一方获胜。
2、需求分析在这一部分,我们将详细描述五子棋游戏的功能需求和技术限制。
2.1 游戏规则- 棋盘是一个 15x15 的格子矩阵,玩家轮流在格子中下子。
- 黑方和白方交替进行下子。
- 当任意一方在横、竖、斜线上连成五个子时,获得胜利。
- 如果棋盘填满且没有任何一方连成五个子,则游戏平局。
2.2 用户界面- 游戏应提供一个交互式的用户界面,玩家可以通过鼠标或键盘进行操作。
- 游戏界面应友好,清晰地显示当前的棋盘状态和玩家轮次。
- 游戏应提供一些额外的功能(如悔棋、重新开始等)来增加用户体验。
2.3 技术限制- 本程序设计使用面向对象的方法实现。
- 棋盘的显示和用户交互部分应采用图形界面。
- 游戏应具备较好的性能,可以在合理的时间内响应用户操作。
3、模块设计在这一部分,我们将详细描述五子棋游戏的各个模块,并给出相应的设计方案。
3.1 棋盘模块- 这个模块负责管理棋盘的状态和提供相关的操作方法。
- 棋盘可以表示为空、为黑子、为白子的状态,并提供下子和撤销子的方法。
- 这个模块还需要提供检查胜利条件的方法。
3.2 玩家模块- 这个模块负责管理玩家的状态和提供相关的操作方法。
- 玩家可以选择下黑子或白子,并提供下子的方法。
- 这个模块还需要提供获取玩家输入的方法。
3.3 用户界面模块- 这个模块负责显示棋盘和处理用户交互。
- 用户界面应提供可视化的棋盘,并允许玩家通过鼠标选择下子的位置。
- 这个模块还需要处理玩家的输入,并将其转发给棋盘和玩家模块。
4、测试计划在这一部分,我们将描述五子棋游戏的测试计划,以确保游戏的正确性和稳定性。
4.1 单元测试- 棋盘模块应进行单元测试,测试其提供的下子和撤销子的方法是否正确。
中国风五子棋详细设计说明书

中国风五子棋的设计与实现项目开发计划开发团队:BlastWe are Blast, we are at full blast!详细设计说明书1 引言1.1 编写目的本详细设计说明书是针对编程方面的课程作业而编写的。
目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细的介绍系统的各个模块,未进行后面的实现和测试做准备。
本详细设计说明书的预期读者为本项目开发小组的成员以及对该项目感兴趣、在以后想对该项目进行扩展和维护的人员。
1.2 背景说明:a.待开发软件系统的名称;中国风五子棋b.本项目的任务提出者:**、**、**本项目的开发者:**、**、**用户:所有对该项目感兴趣的并想通过该五子棋提高智力水平感受中国古风的人员1.3 定义中国风五子棋游戏:本项目拟开发的游戏软件,软件的整体风格属于中国风。
【对局相关术语】〖黑方〗执黑棋一方的简称。
〖白方〗执白棋一方的简称。
〖胜局〗有一方获胜的对局。
〖和局〗分不出胜负的对局。
〖终局〗对局结束。
〖复盘〗对局双方将本盘对局全过程的再现。
【行棋相关术语】〖阳线〗棋盘上可见的横纵直线。
〖阴线〗棋盘上无实线连接的隐形斜线。
〖交叉点〗阳线垂直相交的点,简称“点”。
〖落子〗棋子直接落于棋盘的空白交叉点上。
〖轮走方〗即“行棋方”,有权利落子的黑方或白方。
〖着〗在对局过程中,行棋方把棋子落在棋盘无子的交点上,不论落子的手是否脱离棋子,均被视为一着。
〖回合〗双方各走一着,称为一个回合。
〖开局〗在对局开始阶段形成的布局。
〖连〗在一条阳线或阴线上的同色棋子相邻成一排。
〖五连〗在一条阳线或阴线上的五枚同色棋子相邻成一排。
〖长连〗在一条阳线或阴线上的五枚以上同色棋子相邻成一排。
〖成五〗含有五枚同色棋子所形成的连,包括五连和长连。
〖四〗在一条阳线或阴线上连续相邻的5个点中有四枚同色棋子的棋型。
〖活四〗有两个点可以成五的四。
〖冲四〗只有一个点可以成五的四。
〖死四〗不能成五的四。
五子棋游戏的设计说明书及源代码

*******************实践教学*******************软件学院2012年秋季学期C语言课程设计说明书题目:五子棋游戏的设计专业班级:姓名:学号:指导教师:成绩:目录目录 (I)摘要 (I)序言 (II)1、需求分析 (1)1.1总体分析 (1)1.2初始化 (1)1.3主循环控制模块 (1)1.4玩家下子 (1)1.5盘面分析填写棋型表 (2)1.6对方下子 (2)1.7胜负判断 (2)2、设计思路 (3)2.1五子棋的起源与发展 (3)2.2五子棋的基本术语及规则 (3)2.2.1五子棋的基本术语: (3)2.2.2五子棋的规则 (4)2.3功能描述 (5)3、详细设计 (6)3.1流程图 (6)4、运行调试与分析讨论 (7)4、运行调试与分析讨论 (8)4.1运行结果 (8)4.2分析讨论 (12)5、设计体会与小结 (13)5.1课设中的体会及小结 (13)参考文献 (14)致谢 (15)附录一源代码 (16)摘要游戏设计已经成为现在社会的一种热门行业。
五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,只需两人即可进行,非常富有趣味性和消遣性。
这里设计和实现了一个双人对下的黑白五子棋单机游戏。
主要应用了Visual C++编程来完成这个游戏的设计的。
本文主要介绍了本游戏开发环境Microsoft Visual C++ 6.0,使用当前优秀的开发工具VC++编程。
包含了五子棋程序的棋盘初始化、游戏规则、胜负判断方法,及帮助等。
关键词:五子棋;初始化;VC++编程;判断;单机游戏。
序言五子棋是起源于中国古代的传统黑白棋种之一,是一种训练人逻辑思维严密性的游戏。
该设计以五子棋游戏业务为背景,设计、开发一套“五子棋游戏”软件。
通过该题目的设计过程,可以提高基本编程能力和游戏开发的技巧,熟悉C语言图形模式下的编程。
本程序中涉及很多图形函数,包括:坐标定位;颜色设置(背景色和文本颜色设置),线条颜色、填充颜色;直线风格、文本风格、填充风格;画线、画圆、画矩形函数;图形系统的初始化和关闭;图形屏幕和文字屏幕的消除;从键盘获取键值等。
五子棋概要设计说明书

多功能五子棋的设计与实现概要设计说明书开发团队:FlyingWe are flying, but not flies!目录1 引言 (3)1.1编写目的 (3)1.2背景 (3)1.3定义 (3)1.4参考资料 (4)2 总体设计 (5)2.1需求规定 (5)2.2运行环境 (6)2.3软件基本处理流程 (6)2.4软件控制结构 (8)2.5功能需求与程序的关系 (9)2.6人工处理过程 (9)2.7尚未解决的问题 (9)3 系统数据结构设计 (11)4 系统出错处理设计 (12)1 引言1.1编写目的本文档是《多功能五子棋的设计与实现》(以下简称“本项目”)的概要设计说明书,为本项目的详细设计提供主要依据。
本文档描述系统在功能上的主要设计和思想;预先估计以后系统可能达到的目标。
本文档的预期读者为本项目的开发人员。
1.2背景本项目所开发的软件系统全称为“多功能五子棋游戏”。
本项目为《高级软件工程》课程大作业选题,由项目客户(姜明老师)提出并由Flying团队组织开发,本项目开发主要目的为学习并熟悉软件工程项目开发流程,本项目的预期用户是中国科学技术大学软件学院软件工程专业06级(硕)嵌入式系统设计专业方向所有五子棋游戏爱好者。
本项目所开发游戏软件拟在Windows98及以上版本操作系统下运行,拟基于C/S架构提供网络对弈(二人对弈)模式在小型局域网运行。
1.3定义本系统可能用到的专门术语的定义见表1.1。
1.4参考资料[1] GB8567——88. 概要设计说明书.[2] 王志新. 五子棋实战技巧. 江苏科学技术出版社, 2002.[3] 中国五子棋网. /2 总体设计2.1需求规定系统需求规定见表2.1。
表2.1 系统需求规定2.2运行环境硬件环境CPU:Intel x86 200Mhz以上,或其他处理器内存:32MB 以上显卡:标准VGA 256色显示模式以上分辨率:1024×768其他:声卡软件环境操作系统:Win98/2000/XP或更高版本2.3软件基本处理流程软件基本处理流程见图2.1。
C语言五子棋游戏程序课程设计

C语言五子棋游戏程序课程设计C++五子棋游戏程序设计一、课设内容1. 掌握C++基本编程风格。
2. 编写程序代码,实现各个模块的功能。
3. 完成小型游戏应用系统的设计开发.4. 关键语句写注释。
5. 测试程序,写出测试报告。
6. 在实验报告写出综合设计心得。
二、实验内容在此次大作业中,我学习设计一个五子棋游戏的程序,源代码及分析如下:#include#includevoid shuchu(char a[15][15]){int x,y,i;cout<<" ";for(i=0;i<15;i++)cout<<setw(3)<<i;< p="">cout<<endl;< p="">for(x=0;x<15;x++){cout<<setw(2)<<x;< p="">for(y=0;y<15;y++)cout<<setw(3)<<a[x][y];< p="">cout<<endl;< p="">}}bool osheng(char a[15][15]){int x,y;for(x=0;x<15;x++)for(y=0;y<11;y++)if(a[x][y]=='o'&&a[x][y+1]=='o'&&a[x][y+2]=='o'&&a[x][y+ 3]=='o'&&a[x][y+4]=='o') return 1;for(x=0;x<11;x++)for(y=0;y<15;y++)if(a[x][y]=='o'&&a[x+1][y]=='o'&&a[x+2][y]=='o'&&a[x+3][ y]=='o'&&a[x+4][y]=='o') return 1;for(x=0;x<11;x++)for(y=0;y<11;y++)if(a[x][y]=='o'&&a[x+1][y+1]=='o'&&a[x+2][y+2]=='o'&&a [x+3][y+3]=='o'&&a[x+4][y+4]=='o' )return 1;for(x=15;x>4;x--)return 0;}bool xsheng(char a[15][15]){int x,y;for(x=0;x<15;x++)for(y=0;y<11;y++)if(a[x][y]=='x'&&a[x][y+1]=='x'&&a[x][y+2]=='x'&&a[x][y+ 3]=='x'&&a[x][y+4]=='x') return 1;for(x=0;x<11;x++)for(y=0;y<15;y++)if(a[x][y]=='x'&&a[x+1][y]=='x'&&a[x+2][y]=='x'&&a[x+3][ y]=='x'&&a[x+4][y]=='x') return 1;for(x=0;x<11;x++)for(y=0;y<11;y++)if(a[x][y]=='x'&&a[x+1][y+1]=='x'&&a[x+2][y+2]=='x'&&a[ x+3][y+3]=='x'&&a[x+4][y+4]=='x' )return 1;for(x=15;x>4;x--)for(y=15;y>4;y--)if(a[x][y]=='x'&&a[x+1][y-1]=='x'&&a[x+2][y-2]=='x'&&a[x+3][y-3]=='x'&&a[x-4][y+4]=='x') return 1;return 0;}bool he(char a[15][15]){int x,y;for(x=0;x<15;x++)for(y=0;y<15;y++)if(a[x][y]=='-')return 0;return 1;}void main(){int x,y,s,q;char a[15][15];for(x=0;x<15;x++)for(y=0;y<15;y++)cin>>q;if(q==1)goto two;/* elsegoto one; */two:cout<<"请选择是否进入悔棋模式:1.是;2.否\n";cin>>q;if(q==2)goto three;shuchu(a);while(1){s: while(1){cout<<"请玩家1输入下子的坐标"<<endl;< p="">cin>>x>>y;if(a[x][y]=='o'||a[x][y]=='x')cout<<"此处已经有字,请重下"<<endl;< p="">else{a[x][y]='o';break;}}shuchu(a);cout<<"是否需要悔棋?是请输入:1;否请输入:0"<<endl;< p=""> cin>>s;switch(s){case 1:a[x][y]='-';goto s;break;case 0:break;}s1: if(osheng(a)){cout<<"玩家1胜";break;}s2: while(1){cout<<"请玩家2输入下子的坐标"<<endl;< p="">cin>>x>>y;if(a[x][y]=='o'||a[x][y]=='x')cout<<"此处已经有字,请重下"<<endl;< p="">else{a[x][y]='x';break;}}shuchu(a);cout<<"是否需要悔棋?是请输入:1;否请输入:0"<<endl;< p=""> cin>>s;switch(s){case 1:a[x][y]='-';goto s2;break;case 0:break;}s3: if(xsheng(a)){cout<<"玩家2胜";if(he(a)){cout<<"平局";break;}}three: shuchu(a);while(1){while(1){cout<<"请玩家1输入下子的坐标"<<endl;< p=""> cin>>x>>y;if(a[x][y]=='o'||a[x][y]=='x')cout<<"此处已经有字,请重下"<<endl;< p=""> else{a[x][y]='o';break;}}shuchu(a);if(osheng(a)){cout<<"玩家1胜"; break;}}shuchu(a);if(xsheng(a)){cout<<"玩家2胜"; break;}if(he(a)){cout<<"平局"; break;}}}三、感想体会本实验是用C++来设计完成了五子棋游戏。
五子棋游戏详细设计

五子棋游戏详细设计1、窗体设计利用MFC AppWin zard生成五子棋游戏应用程序框架具体步骤如下:(1)执行VC程序,选择File|N ew命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFC AppWiz ard(exe)选项,然后在Projectname文本框中输入F ivech ess_44 。
Lacati on文本框是指项目的本地路径。
(2)单击按钮,弹出MFC AppWin zard_Step1对话框。
选中单选按钮,如图所示。
(3)单击完成按钮,则建立一个单文档应用框架。
2、游戏项目开发2.1棋盘设计1.在已创建的工程Fivechess_44中添加画棋盘的函数。
首先在“Fivech ess_44.h”头文件中定义一个用于显示棋盘的自定义公有函数:void Checke rboar d(CDC*pDC);然后在“Fivech ess_44View.cpp”源文件中实现该函数。
代码如下:void CFivec hess_44Vie w::Checke rboar d(CDC*pDC){for(int i=0;i<20;i++) //连续画20条竖线{pDC->MoveTo(i*50,0); //画笔移动到(i*50,0)点pDC->LineTo(i*50,1000); // 画笔从(i*50,0)点到(i*50,1000)点}for(i=0;i<20;i++) //连续画20条横线{pDC->MoveTo(0,i*50);pDC->LineTo(1000,i*50);}}2.在应用程序框架的OnD raw()函数中调用该画棋盘函数,将pDC对象作为实参传递给Checkerb oard()函数,代码如下:void CFivec hess_44Vie w::OnDraw(CDC* pDC){CFivec hess_44Doc* pDoc = GetDoc ument();ASSERT_VALI D(pDoc);// TODO: add draw code for native data hereChecke rboar d(pDC); //调用自定义的画键盘函数}3.编译运行得到如下效果:一个空棋盘2.2放置棋子功能的开发按照规划,棋子使用鼠标的左键和右键(分别用这两键来表示下棋的双方)来进行单机下棋,即是当用户单击左键时,下黑色棋子,,用户单击右键时,下白色棋子。
c五子棋课设说明书含完整源代码

*******************实践教学***********************大学计算机与通信学院2016年春季学期C程序设计课程设计题目:五子棋游戏专业班级:16级物联网1班姓名: ******__学号: 1616520147指导教师: ******成绩:摘要五子棋是一种两人对弈或者人机对弈的纯策略型棋类游戏,应用C语言编写程序可以在计算机上实现人机对弈五子棋功能。
人机对弈五子棋程序由开始界面,棋盘,判断胜负和计分等子程序构成;程序中应用了数组、全局变量、按键处理和图形编程等元素和语句。
程序通过棋盘和棋子图像生成、玩家移子与电脑判断分数高低而落子和判断胜负等功能的实现,在计算机上用VC++6.0实现了人机五子棋对弈。
关键词:C语言;VC++6.0目录摘要 ......................................................................................... 第1章序言. 01.1设计背景 01.2设计目的 0第2章需求分析 (2)第3章程序总体设计 (3)3.1程序总体框架图 (3)3.2程序流程图 (4)第4章程序详细设计 (5)4.1各类头文件及自定义函数 (5)4.2棋盘数组 (5)4.3开始界面函数 (5)4.4棋盘界面函数 (5)4.5胜负判断函数 (6)4.6得分判断函数 (6)4.7主函数 (6)第5章系统测试 (7)5.1开始界面测试 (7)5.2棋盘界面测试 (8)5.3玩家输赢界面测试 (11)设计总结 (13)参考文献 (14)致谢 (145)附录(源代码) (156)第1章序言1.1 设计背景五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。
有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。
在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。
JAVA语言五子棋课程设计说明书模板

JA V A语言课程设计说明书题目:班级:姓名:学号:指导教师:李晓辉日期: 2010年12月27日1、问题描述(课题背景、主要功能描述及构思等)在执行本程序时,能显示一个图形界面的文档编辑器,像记事本样子的。
2.演示程序为计算机和用户的对话形式执行,即在计算机的终端显示图形界面的文档编辑器,然后用户就可以实现编辑,保存等像记事本一样的功能。
3.程序中包括的功能有:1)打开以有文件,保存编辑文件,退出编辑器并提醒保存;2)查找编辑区中的字符串,用已知字符串替换查找的字符串;3)显示文件的存取路径;4)剪切,复制,粘贴,删除等;5)改变文本区字体的颜色,字体大小和形状的功能;6)改变文本区背景颜色;7)定时提醒保存功能。
2、算法分析与设计(类和方法的定义及注释、数据库的设计、设计思路等)此项目共需要定义类,分别是:此项目共需要定义方法,分别是:数据库的结构为:程序中用到的组件,菜单及对话框的声明如下:static EditText.Threads TS; //内部类线程Threads(实现//定时提醒保存功能)Frame f;MenuBar mb; //菜单栏Menu Mfile,Medit,Mhelp,Mview,Mtool,Msearch,Mwindow,Fontcolor; //加入菜单栏的一些菜单MenuItem savemi,saveasmi,exit1,exit2,exitp,saveandexit,new1,open1;// 上面菜单中的菜单项MenuItem Fontformat,backgroundcolor; //字体菜单中的菜单项操作结果:创建一个基本符合要求的编辑器的显示界面,但是不能实现任何功能,只是个框加;3、源程序(核心代码)以下方法实现了+-*/运算符的分类判断private class OpButtonHanlder implements ActionListener {public void actionPerformed(ActionEvent event) {char operator = event.getActionCommand().charAt(0);String result = "";switch ( operator ) {case '+':result = calculator.opAdd(answer.getText());break;case '-':result = calculator.opSubtract(answer.getText());break;case '*':result = calculator.opMultiply(answer.getText());break;case '/':result = calculator.opDivide(answer.getText());break;case '=':result = calculator.opEquals(answer.getText());break;}answer.setText(result);readyForNextNumber = true;}}以下方法实现了求表达式的结果private class NumberButtonHanlder implements ActionListener { public void actionPerformed(ActionEvent event) {if ( readyForNextNumber ) {answer.setText(event.getActionCommand());readyForNextNumber = false;} else {answer.setText(answer.getText() + event.getActionCommand().charAt(0));}}}4、数据测试过程及结果(测试数据、测试过程、程序运行结果等)五子棋游戏的主要功能:。
五子棋游戏程序设计

《计算机应用基础课程设计》课程设计任务书学院名称:交通与汽车工程学院课程代码:6011339专业:年级:一、设计题目五子棋游戏程序设计二、主要内容设计一个程序能完成五子棋游戏的功能。
五子棋的规则:双方各执一色棋子,轮流下子(即将棋子放在棋盘的任一空交叉点上),直到有一方的棋子有5个排成一线(无论是横向、竖向还是斜向均可),则棋局结束,该方胜利。
三、具体要求及应提交材料(1)、设计游戏的核心算法;(2)、设计可视化的界面,设计双方所使用的两色棋子和彩色棋盘,使其得体大方、比例恰当;(3)、双方轮流用鼠标或键盘下子。
只有当鼠标单击在棋盘网格交叉点附近时才可下子,点击其它地方或已经有子的位置时不能下子,且给出相应的提示;(4)在适当的位置显示比赛结果,比赛中能随时存储当前棋局。
提交材料:1、任务书;2、课程设计说明书(打印);3、材料刻盘:程序、说明书四、主要技术路线提示首先设计合理的界面。
在用户落子时能标记出落子的位子,落子位子可对应地用一个二维数组存储,在某个位置有棋子落下时可以用对应数组元素值为1,否则为0的方式表示。
另外,每次用户落子后都应分析所在位子为基准点的水平方向、垂直方向和两个斜线方向有没有连续的五个子(即数组中有无连续的5个1)。
如有,则游戏结束,当前落子方为胜方。
主要操作界面(仅供参考)见图1图1五子棋游戏主界面五、进度安排第一周,下达课程设计任务书,根据设计要求进行VB语言知识的复习,做系统总体设计,编写程序、程序调试;第二周,程序的调试、修改、完善;撰写课程设计说明书。
六、推荐参考资料1.杨明广.王秀华. Visual Baisc程序设计教程.中国科学技术出版社,2006.11,21世纪教材;2.王秀华.余建坤. Visual Baisc程序设计上机和级考实训教程.中国科学技术出版社,2006.11,21世纪教材;3.龚沛曾. Visual Baisc程序设计简明教程(第二版).高等教育出版社,2003 4.曾强聪.新编Visual Basic程序设计教程.清华大学出版社,2004指导教师滕艳琼签名日期 2013 年 4 月 6 日系主任唐岚审核日期 2013 年 4 月 6 日。
五子棋概要设计说明书

概要设计说明书1引言五子棋是一种非常常见的双人游戏,规则为双方交替落子,直到有一方下出五子连续,五子连珠为赢。
1.1编写目的完成项目作业,锻炼编程能力,培养思维。
1.2背景说明:a.软件名称为“五子棋”;b.项目小组成员为:郭祥,李斌,冉庆国,朱琳;1.4参考资料参考资料:1.实验报告提示文档网络资源;2.网络资源:图片,人机对战算法参考;2总体设计2.1需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。
2.2运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
2.3基本设计概念和处理流程1.界面以及落子处理1.使用二维数组Chessboard[15,15]储存棋盘的状态,以0表示没有放子的位置,以1表示放黑子的位置,以2表示放白子的位置;2.以鼠标的状态提示当前持子的一方;3.将棋盘作为图片的形式贴处在程序界面上;4.加载棋子资源(黑、白棋子),当鼠标在棋盘上点击的时候产生事件,处理鼠标的位置产生对应的棋盘坐标位置;5.判断落子出是否可以落子:不可以则不做任何处理,不改变鼠标的状态;可以落子,则打印对应的棋子图像,记录棋盘位置,并将位置传递给判定函数;6.交换持子方,重复落子过程,直到判定函数产生胜出结果;2.五子棋判胜本功能模块主要对游戏的胜负进行判定.1.由玩家输入棋子所在位置,由系统判定胜负,若胜,则游戏结束;否则,游戏继续.2.对胜负判定需先确定一个中心棋子位置.3.由一个中心棋子可以引出四条线形成五子连一线.4.判定过程中注意越界现象.概要设计1.五子棋的判胜条件即为5个相同的棋子连在一条线上.2.以一个棋子为中心,有4条线可以形成五子连线.如图所示:(描红的为中心棋子)3.中心棋子即为最后一步所下棋子.4.以1线为例,从中心棋子出发(设为白子),先向左进行判断,若棋子为白子,则计数器加1(初始值为1),否则(为黑子或无子),则返回中心棋子,向右进行判断,进行相同操作.5.1线判定结束后,若计数器为5,则判白子胜,否则,计数器归1,再从2,3,4线按顺序进行判定.6.棋盘的每个坐标有3个状态,分别为无子(标记为0),白子(标记为1),黑子(标记为2),对棋盘点进行判断时,只需判定其所在状态即可。
五子棋概要设计说明书

五子棋概要设计说明书目录1 引言 (1)1.1 编写说明 (1)1.2 背景 (1)1.3 定义 (1)1.4 参考文献 (1)2 总体设计 (1)2.1 需求规定 (1)2.2 运行环境 (2)2.3 基本设计概念和处理流程 (2)2.4 结构 (3)2.5 功能需求与程序的关系 (4)2.6 尚未解决的问题 (4)3 接口设计 (5)3.1 用户接口 (5)3.2 外部接口 (5)3.3 内部接口 (5)4 系统数据结构设计 (5)4.1 逻辑结构和物理结构设计要点 (5)4.1.1 基本类型定义 (5)4.1.2 估值核心的棋盘数据结构设计 (6)4.1.3 搜索引擎的走法数据结构设计 (6)4.2 数据结构与程序的关系 (7)4.2.1 估值核心数据结构和程序的关系 (7)4.2.2 搜索引擎数据结构和程序的关系 (7)5 系统出错处理设计 (7)1 引言1.1 编写说明本说明书提供了五子棋各个模块的概要设计说明,以供软件工程师和编码人员进行详细设计与具体实现。
1.2 背景软件名称:五子棋开发人员所在原校:漳州城市职业技术学院开发人员列表:郑艺杰预定完成日期:2003年5月1.3 定义禁守:对局中禁止使用的战术或被判负的行棋手段。
长连:相同颜色相连的六子或六子以上。
搜索:通过对博弈树进行完全遍历或者部分遍历找出一个最好或者较好落子点的过程。
估值:通过既有的棋类知识来评估一个局面优劣的过程。
委托:一种组合方法,它使组合具有与继承同样的复用能力,在委托方式下,有两个对象参与处理一个请求,接受请求的对象将操作委托给它的代理者。
聚合:一个对象拥有另一个对象或对另一个对象负责,一般我们称一个对象包含另一个对象或者是另一个对象的一部分。
2 总体设计2.1 需求规定●棋盘采用 19×19 标准围棋棋盘。
●游戏采用人机对弈模式,可以选择任何一方执黑先行。
●游戏中没有禁守规则和其他走子限制。
●只有当连五以后才判为获胜,长连也算获胜。
五子棋程序设计说明书

}
printf("\n");
}
}
int judge(int x,int y) /*判断各方向五子是否连成一线*/ //x,y分别为横纵坐标//
设计背景及意义
我们的五子棋程序是在Visual C++ 环境下运行的。
Visual C++
Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2010。Visual C++集成了,于1998发行。发行至今一直被广泛地用于大大小小的项目开发。
case 97: *y=*y-1;break; //a键控制棋子左移//
case 115: *x=*x+1;break; //s键控制棋子下移//
case 100: *y=*y+1;break; //d键控制棋子右移//
case 111: flag=0;break; //o键确定落子//
}
if(flag==0) break; //判断某步是否移动完成//
for(i=0;i<2000;i++) //改变玩家//{来自if(flag==1)
flag=0;
else
五子棋游戏软件说明书1

XX大学软件大型实验周说明书学院:专业:题目:学生姓名:学号:成绩指导教师:职称:年月日1.设计目的(1)要求学生达到熟练掌握C++语言的基本知识和C++调试技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
(4)培养学生综合利用C++语言进行程序设计的能力,主要是培养学生利用系统提供的标准图形函数进行创新设计。
2.设计内容1、创建棋盘大小(可任意),并且要保存棋盘上各个点的位置;2、创建棋子类及其属性和方法;3、从盘键分别获取两个用户的输入,根据用户的身份及输入的位置,调用棋子类的相应方法,完成棋子的走动;4、输赢的判断;5、游戏结束。
3.开发和运行环境介绍该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C++6.0平台中进行,完成代码的编写、编译、调试、测试等工作。
本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下:操作系统:windows xp软件环境:安装VC++6.04.需求分析(以下项目根据实际情况自定)4.1功能需求游戏说明:游戏开始时,由黑子开局,将一枚棋子落在棋盘一坐标上,然后由白棋落子,如此轮流下子,直到某一方首先在棋盘的竖、横或斜三方向上的五子连成线,则该方该局获胜;然后继续下一局,每胜一局得10分,输一局或平局得0分,先赢两局的一方为最终获胜者;在下棋途中可以悔棋。
1、功能列表如下:a)输出棋盘;b)显示用户行程,提示用户下子;d)悔棋,下错位置可以悔棋;e)记录并显示每局游戏结束时的步数;f)判断每局游戏输赢,显示每局游戏的获胜者及分数。
g)判断是否进行下一局。
h)判最终赢家(三局两胜)。
i)退出游戏。
2、功能描述(1)棋盘是15*15的方格棋盘,下棋区为a[0][0]到a[14][14]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
printf("\n");
}
}
int judge(int x,int y) /*判断各方向五子是否连成一线*/ //x,y分别为横纵坐标//
设计背景及意义
我们的五子棋程序是在Visual C++ 环境下运行的。
Visual C++
Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2010。Visual C++集成了,于1998发行。发行至今一直被广泛地用于大大小小的项目开发。
move(p1,p2);
if(x>=1&&x<=64&&y>=1&&y<=64)
{
if(a[x][y]==46) break;
else
{if(flag==1) m--; else n--;
printf("此处有子,请继续移子");
continue;
}
}
else {if(flag==1) m--; else n--;printf("此处过界,请继续移子");}
else
{
if(i==22)
{if(j>=7&&j<=34)
b[i][j]='O';}
else
{
if(i==23)
{if(j>=8&&j<=33)
b[i][j]='O';}
else
{
if(i==24)
{if(j>=9&&j<=31)
b[i][j]='O';}
else
{
if(i==25)
{if(j>=10&&j<=30)
int i,z,flag=1; //z为某一步的中间变量,flag为标志变量//
gets(b); //输入要移动的步伐//
for(i=0;i<40;i++)
{
z=b[i]; //把b【】的某一步传递给z//
switch(z) //判断移动棋子方向//
{
case 119: *x=*x-1;break; //w键控制棋子上移//
4设计结果
玩家获胜显示界面截图
5总结与结论
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.回顾起此次课程程序设计,至今我仍感慨颇多,从选题到定稿,从理论到实践,在整整两星期的日子里,学到很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,把以前所学过的知识重新温故。这次课程设计顺利完成了,在设计中遇到了很多编程问题,最后在赵宇老师的辛勤指导下,终于游逆而解。同时,在赵宇老师的身上我学得到很多实用的知识,我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
课程设计地点:111420
指 导 教 师:
系 主 任:
下达任务书日期:2011年12月25日
课 程 设 计 任 务 书
1.设计目的:
1 熟悉C语言程序设计的原理与方法;
2 掌握C语言开发环境下程序的具体设计;
3 掌握利用C语言分析解决具体问题。
2.设计内容和要求:
设计内容:
用C语言设计一个五子棋游戏程序,允许游戏者自由选择棋子颜色,实现人人对战和人机对战,利用时间函数设置实现落子倒计时功能
中北大学
程序设计
课程设计说明书
学生姓名:学 号:
学 院:信息与通信工程学院
专 业:光电信息工程
题 目:五子棋
指导教师:职称:
2012年01月06日
(纪念我已经逝去的大学生活)
院:信息与通信工程学院
专 业:光电信息工程
学 生 姓 名:学 号:
课程设计题目:五子棋
起 迄 日 期:2011年12月24日~2012年1月6日
五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。我们通过对《C语言》以及对《大学计算机基础》的初步学习后,本学期末进行了课程程序设计,设计课题为“五子棋”。我们小组由6人组成,通过分工与合作并在赵老师的耐心指导下共同完成了此程序设计。
2.设计的基本原理
问题描述
连珠(五子棋)是有两个人在一盘棋上进行对抗的竞技运动。在对局开始时,先由用户选择哪方先开局,先开局一方将一枚棋子落在一点上,然后由另一方在对方棋周围的交叉点上落子,如此轮流落子,直到某一方首先在棋盘的直线、横线或斜线上形成连续的五子则该方就算获胜。此时,算法结束。需求分析
2012年01月05日~2012年01月06日完成设计报告;
2012年01月06日答辩;
系主任审查意见:
签字:
年月日
1、课程设计的背景及意义……………....06
2、设计的基本原理………………………06
3、设计的基本过程………………………08
4、设计的结果……………………………10
5、总结和结论…………………………….11
{
int i,j,w=0; //i,j为横纵坐标变量//
printf("================================================================================================================\n");
for(i=0;i<2000;i++) //改变玩家//
{
if(flag==1)
flag=0;
else
flag=1;
for(k=0;k<2000;k++) //玩家落子并判断下的棋子是否过界或此处是否有子//
{
if(flag==1)
{printf("O方下棋\n");m++;}
else
{printf("@方下棋\n");n++;}
b[i][j]='O';}
else
{
if(i==26)
{if(j>=12&&j<=28)
b[i][j]='O';}
else
{
if(i==27)
{if(j>=14&&j<=26)
b[i][j]='O';}
else
{
if(i==28)
{if(j>=17&&j<=23)
b[i][j]='O';}
}
}
}
}
}
{b[i][j]=46;}
for(i=0;i<40;i++) //对图像数组特定点赋值//
for(j=0;j<40;j++)
{
if(i>10&&i<16)
{if(j>10&&j<16||j>25&&j<31)
b[i][j]='O';}
else
{
if(i==21)
{if(j>=6&&j<=35)
b[i][j]='O';}
}
}
int playing() /*开始下棋*/
{
int flag=1,i=0,x=0,y=0,k,l,n=0,m=1; //flag为记录哪方下棋的标志变量,x,y为a[][]的横纵坐标,m,n分别记录o方,@方的积累步数//
int *p1=&x,*p2=&y;
int judge (int x,int y); //本函数所用子函数的声明//
void move(int *p1,int *p2);
void showcheckerboard(int x,int y);
printf("O方先输入首子坐标:");
scanf("%d %d",&x,&y); //输入首坐标//
a[x][y]='O'; //首坐标的棋盘位置画棋子//
showcheckerboard(m,n); //输出更新后的棋盘//
5.设计成果形式及要求:
课程说明书打印,并装订;
必要的程序流程图和程序附录。
6.工作计划及进度:
2011年12月24日~2011年12月26日下达设计任务书,学生熟悉设计内容;
2011年12月27日~2011年12月29日查阅参考资料,确定基本设计方案;