关键词不能为空

当前您在: 首页 > 育儿 >

C++ 五子棋游戏论文

作者:陕西保健网
来源:http://www.xapfxb.com/yuer
更新日期:2021-01-27 06:06

李娜中国梦想秀-

2021年1月27日发(作者:方士颍)





X X X X





C++
语言程序设计》课程设计(论文)



题目:

五子棋游戏





院(系)


专业班级:



号:

学生姓名:

指导教师:

教师职称:

起止时间:

课程设计(论文)任务及评语

院(系)


教研室:





课程设计
(论文)
题目


程序设计的任务与要求:


1

.
掌握面向对象 程序设计语言
C++
的基本语法

五子棋游戏


学生姓名


专业班级














2

.
掌握
C++
面向对象设计的思想


3

.
掌握
VC++6.0

DEV C++
开发工具的使用

(4

.
运用标准
C++
规范设计应用程序


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













成绩:

指导教师签字:



















xxxx
















书(论

文)








1


课程设计目的与要求

.
... ...............................................
1

1.1
设计目的

.
.......... .................................................
1

1.2
实验环境

................ ............................................
1

1.3
预备知识

................ ............................................
1

1.4
设计要求

................ ............................................
1


2


课程设计内容

.
.............................................. ..........
2

2.1
课题描述

.
................................................. ..........
2

2.2
系统设计

.
................................................. ..........
2

2.2.1
功能分析

... .................................................. .
2

2.2.2
面向对象设计

.......... ........................................
3

2.2.3
类成员描述

....................... .............................
6

2.3
程序实现

.......................... ..................................
6

2.3.1
源码分析

........................ ..............................
6

2.3.2
运行结果

........................ .............................
12


3


总结

.
.......... .................................................. ...
13

参考文献

.
............. .................................................. ...
14


















xxxx
















书(论

文)


1


课程设计目的与要求

1.1
设计目的

将理论教学中涉 及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据
结构作一比较和总结,
结合设 计题目进行综合性应用,
对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:


1
)进 一步巩固、加深学生所学专业课程《
C++
语言教程》的基本理论知识,理论联系
实际 ,进一步培养学生综合分析问题,解决问题的能力。


2

全面考 核学生所掌握的基本理论知识及其实际业务能力,
从而达到提高学生素质的
最终目的。


3
)利用所学知识,开发小型应用系统,掌握运用
C++
语言编写 调试应用系统程序,训
练独立开发应用系统,进行数据处理的综合能力。


4
)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。


5
)掌握面向对象程序设计的方法。


6
)熟 练掌握
C++
语言的基本语法,灵活运用各种数据类型。


7
)进一步掌握在集成环境下如何调试程序和修改程序。

1.2
实验环境

硬件要求能运行
Windows
操作系统的微机系统。
C++
语言应用程序开发软件使用:
VC++
系统,或其他
C++
语言应用程序开发软件。

1.3
预备知识

熟悉
C++
语言程序设计的基本知识及< br>VC++
编辑器的使用方法。

1.4
设计要求

1.
仔细分析设计题目,画出程序流程图,编写程序源代码。

2.
积极上机调试源程序,增强编程技巧与调程能力。

3.
认真书写课程设计预习报告
,
课程设计说明书。

4.
遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成
课程设计内 容。


1
xxxx
















书(论

文)


2


课程设计内容

2.1
课题描述

五子棋游戏的实现需要一定的人工智能,让电脑会思考问题。电脑通过思考 后自动
做出反应。做五子棋游戏可以让我对人工智能及
MFC
有初步的认识。同时更锻 炼了
C++
的实战能力,为以后这方面的发展打下基础,随后详细介绍了五子棋游戏的开发过程 。

本系统将实现下棋中可能出现的意外进行了处理。这样五子棋休闲游戏将不在是一
个功能单一界面枯燥的无声游戏,而是一个较完善的休闲游戏。

2.2
系统设计

2.2.1
功能分析


1
)用函数画出棋盘,画出棋子


2
)实现人 工智能让电脑具有“思考”能力,实现人机对弈。玩家先走执白子,电
脑自动后手下棋,执黑子。玩家执 白子
#define White 0
白子在数组位置定义为
0;
电脑
黑子
#define
Black
1
数组位置定义为
1;
无子位置
#define
Empty
-1
数组位置定义为
-1



























void
CMyView ::OnLButtonDown(UINT nFlags, CPoint point)
反馈点击坐标信息,从而改变
二维数组相应位置上的值,再在
void
CMyView::OnDraw(CDC*
pDC)
函数中根据数组的值
绘制出棋子。

玩家先手下棋后判断此时棋盘输赢情况

进而
SendMessage(WM _COMPUTER);
发送消
息让电脑思考下棋。电脑思考分情况:当棋盘上只有一个棋子时
1==m_Unit
,电脑会生

































m_IsManOr der=TRUE;
当玩家落棋以后
m_IsManOrder=FALSE;
此时玩 家不能在下棋,电脑
开始下棋,电脑下完棋后
m_IsManOrder=TRUE
人 又可以下棋。这样就实现了人机交替下
棋。


3
)倒计时功能

通过
SetTimer(1,1000 ,NULL);
函数每
1
秒响应一次
OnTimer
,定时器标号为
1
。通

KillTimer(1);
关闭
1
号定 时器。

倒计时有四种可选项:
OnLevtime1()

OnLevtime2()

OnLevtime3()

OnNoti me()







对应
3 0





、五







四种





void
CMyView::OnTimer(UINT nIDEvent)
函数中,当时间
<=10
秒时,开始读秒。并当时间减

2
xxxx
















书(论

文)

少至
0
是判定玩家输。


4
)坐标显示

实现显示上一步坐标功能比较简单,直接根据m_ChePos.x

m_ChePos.y
来决定输
出的坐标。只是 当
m_ChePos.x
时直接输出数字即可,但
m_ChePos.y
时要 用
switch

m_ChePos.y
)转换一步,将数字对应的字母A~O
输出即可

2.2.2
面向对象设计

CAbo utDlg
继承了
CDialog
类。对话框有两类:模态对话框和非模态对话框。模 态
对话框在应用继续进行之前必须关闭。非模态对话框允许用户执行另外的操作而不必取
消或删 除该对话框

一个
CDialog
对象是对话框模板与一个
CDia log
派生类的组合。使用对话框编辑器
创建对话框并存入资源之中,然后使用
Cla ssWizard
创建一个
CDialog
派生类。同其它
窗口一样,对话框 从
Windows
中获取信息。在对话框中会对来自对话框控件的处理消息
感兴趣, 因为它说明了对话框是如何与用户交互的。
ClassWizard
观察对话框每个控件
可能产生的消息,可以选择你所希望处理的消息。
ClassWizard
将适当的消息映射器入
口和消息处理成员函数加到一个新类中。




2.1 CAboutDlg
类图

CMyApp
继承了
CWinApp
类。通过它来继承
Windows
应用程序对象。
应 用程序对象提
供了初始化应用程序(以及它的每一个实例)和运行应用程序所需的成员函数。


每个使用微软基础类库的应用程序都只能包含一个从
CWinApp
继承的对象。当
Windows
调用
WinMain
函数时,
这个对 象在其它
C++
全局对象都已经生成并且可用之后才
被创建,
WinMain
函数是由微软基础类库提供的。将
CWinApp
对象定义为全局的。当从
C WinApp
继承应用程序类的时候,
应重载
InitInstance
成员 函数以创建应用程序的主窗
口对象。


3
xxxx
















书(论

文)



2.2 CMyApp
类图




2.3 CMyView
类图


整体
UML
类图如下:

-
结束
1
CMy ChessApp
-
结束
4
*
-
结束
6
*
1
-
结束
2
CSplashWindow
*
CMy ChessDlg
1
1
3
-
结束
-
结束
5


2.4
整体的
UML
类图


4
xxxx
















书(论

文)

总体流程图

主循环控制模块:控 制下棋顺序,当轮到某方下子时,负责将程序转到相应的模块
中去,主要担当一个调度者的角色。这个五 子棋程序是用键盘控制下棋。

五子棋流程图如
2.5
所示

开始

白方下子

判断该位置
是否有棋

找另一位置





白方下子

判断白方
是否胜出



黑方下子

跳出白方胜出



选择是否
重新开局

游戏结束

判断该位置
是否有棋

找另一位置



黑方下子



判断黑方
是否胜出

跳出黑方胜出




2.5
五子棋的流程图




5

李娜中国梦想秀-


李娜中国梦想秀-


李娜中国梦想秀-


李娜中国梦想秀-


李娜中国梦想秀-


李娜中国梦想秀-


李娜中国梦想秀-


李娜中国梦想秀-



本文更新与2021-01-27 06:06,由作者提供,不代表本网站立场,转载请注明出处:http://www.xapfxb.com/yuer/429897.html

C++ 五子棋游戏论文的相关文章