基于c语言五子棋小游戏生本科论文
基于C语言的五子棋游戏设计

基于C语言的五子棋游戏设计发布时间:2021-06-30T02:32:16.169Z 来源:《现代电信科技》2021年第4期作者:郭彦芳[导读] 五子棋是一种容易上手,老少皆宜,而且趣味横生,引人入胜的游戏。
该游戏设计可以使用C语言编写实现,以便深入理解C语言的程序应用。
(重庆工业职业技术学院重庆 401120)摘要:五子棋是一种两人对弈的纯策略型棋类游戏,应用C语言编写程序可以在计算机上实现二人对弈五子棋的功能。
二人对弈五子棋程序由欢迎界面、游戏棋盘界面、光标移动与落子、判断胜负、悔棋功能、提供音效等子程序构成;整个程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。
程序通过棋盘和棋子图像生成、二人移动落子和判断胜负等功能的实现,在计算机上实现二人对弈的效果。
关键词:C语言;五子棋;二人对弈五子棋是一种容易上手,老少皆宜,而且趣味横生,引人入胜的游戏。
该游戏设计可以使用C语言编写实现,以便深入理解C语言的程序应用。
一、游戏功能分析本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连,首先实现五子相连的一方获胜。
程序执行过程中要求棋盘、棋子时时可见,游戏界面信息提示轮到何方下棋,可以通过键盘上的按键移动光标,再按Enter 键摆放棋子,并且每次落子都有系统声音,同时可以提供悔棋功能。
整个程序的测试在Dev-C++软件环境下进行。
二、游戏模块组成根据功能需求,将程序分为界面显示、玩家操作、音效提供、胜负判断4个模块,以下分析各模块的需求。
1、界面显示模块程序开始运行时,显示制作者和给出欢迎及退出界面;游戏开始后要求生成18x18的棋盘图像,并棋盘上方显示欢迎信息“欢迎玩五子棋”,棋盘下方游戏显示应该轮到甲方或者乙方落子,棋盘左右显示双方操作方式,进行过程中,要求实时显示棋盘上已落下的棋子,甲方为白点,乙方为白圈;分出胜负后,要求给出游戏结束画面,并且询问用户是否需要继续游戏。
C++五子棋游戏论文资料

X X X X 大学《C++语言程序设计》课程设计(论文)题目:五子棋游戏院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:课程设计(论文)任务及评语院(系):教研室:目录第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)第1章课程设计目的与要求1.1 设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C++语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握面向对象程序设计的方法。
(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序和修改程序。
1.2实验环境硬件要求能运行Windows 操作系统的微机系统。
C++语言应用程序开发软件使用:VC++ 系统,或其他C++语言应用程序开发软件。
1.3预备知识熟悉C++语言程序设计的基本知识及VC++编辑器的使用方法。
1.4设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。
《算法设计与分析》课程设计论文五子棋游戏

《算法设计与分析》课程设计论文五子棋游戏学生姓名:学生学号: 200710802017院(系):计算机学院年级专业: 2007级信息与计算科学指导教师:2010-6-11目录摘要 (2)1问题的提出 (3)2 问题的分析 (3)3 程序及流程的设计 (4)3.1概要设计 (4)3.2模块及其功能介绍 (5)3.2.1.定义全局变量 (5)3.2.2.Main()主函数 (5)3.2.3.drawqp()画棋盘函数 (5)3.2.4.win()判断是否胜出函数 (5)3.2.5.Gameplay()双人对战函数 (5)3.2.6.Xandy()显示光标纵横坐标函数 (6)3.2.7.图形功能函数 (6)4 调试分析 (7)总结 (8)参考文献 (9)附录: 源程序 (10)摘要本问介绍的一个五子棋游戏的编写和设计,本游戏的依据就是下棋的双方各持黑白棋子,当某方在横、纵或对角方向连成五个棋子,则认为该玩家胜利,游戏结束。
该程序用C语言编写,主要有C语言函数的调用(其中包括图形函数,判断函数等)和可视化编程,还有数组的应用,比如在该程序中就是用一个二维数组来表示棋盘。
从程序表面看,这是一个二维平面图,所以数据用二维数组来表示,数组两个下标可以表示棋盘上的位置,数组元素的值代表棋格上的状态,共有三种情况,分别是0代表空格,1代表白棋,2代表黑棋。
这样程序的主要工作是接收棋手按键操作,棋手1用Up、Down、Left、Right控制光标移动,回车键表示落子。
棋手2用W、S、A、D 控制光标移动,空格键表示落子。
一旦接收到回车键或空格键,说明棋手落子,先判断是否是有效位置,也就是说已经有棋子的位置不能重叠落子。
落子成功后,马上判断以该位置为中心的八个方向:上、下、左、右、左上、左下、右上、右下是否有相同颜色的棋子连成五子,如果连成五子,则游戏结束,输出相应的信息。
如果想退出游戏,可以按Esc 键。
关键词五子棋,C语言,二维数组,函数五子棋游戏设计1问题的提出连珠(五子棋)是有两个人在一盘棋上进行对抗的竞技运动。
基于C语言的五子棋游戏程序设计

基于C语言的五子棋游戏程序设计陈慧杰;郭占祥【期刊名称】《宁波职业技术学院学报》【年(卷),期】2012(000)002【摘要】为了设计人人对弈模式的五子棋游戏系统,采用了C语言函数模块化程序设计方法,利用VisualC++6.0编译器运行游戏,实现一方执白棋,一方执黑棋,通过屏幕上的文字提示,轮流走棋,最先使五子相连一方获胜的人人对弈功能。
同时,也对其他游戏系统的开发设计具有一定的借鉴作用。
%In order to design a players gobang system,the author applies C language function modular programming method flexibly.At the same time,the Visual C++ 6.0 compiler is used for the purpose of running the game.In the game,one executes white piece while another black piece.Moreover both sides try to win,which means one side makes five pieces link together before the game over.Simultaneously both sides can play the game in turn through text reminding in the screen.Further more the design of gobang game is of reference value to exploit other games.【总页数】4页(P41-44)【作者】陈慧杰;郭占祥【作者单位】内蒙古民族大学计算机科学与技术学院,内蒙古通辽028043;内蒙古民族大学计算机科学与技术学院,内蒙古通辽028043【正文语种】中文【中图分类】TP312【相关文献】1.基于多元智能理论的教育游戏教学应用初探——以高职《C语言程序设计》课程为例 [J], 付淇;谭军2.简介五子棋游戏的程序设计 [J], 方昭红3.基于α-β剪枝树算法的安卓五子棋程序设计与实现 [J], SONG Wanyang4.基于眼动技术及游戏精炼理论的五子棋游戏性分析 [J], 康笑寒; 张泽良; 饭田弘之5.基于C语言的五子棋游戏的设计与实现 [J], 贺胜;段华琼因版权原因,仅展示原文概要,查看原文内容请购买。
五子棋论文——精选推荐

本科毕业论文(设计)题目:五子棋博弈系统研究以及单机版网络版的实现姓名:方杰学号:***********院(系):信息工程学院专业:软件工程系指导教师:杨林权职称:副教授评阅人:职称:2011 年6 月学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1.保密□,在_________年解密后适用本授权书。
2.不保密□√。
(请在以上相应方框内打“√”)作者签名:年月日导师签名:年月日摘要人工智能是近年来很活跃的研究领域之一。
计算机博弈是人工智能研究的一个重要分支,它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。
国内外对博弈的研究已经较为广泛,特别是IBM的国际象棋程序“深蓝”,已经达到了人类的世界冠军水平。
“深蓝”的研究成果,特别是基于剪枝的极大极小树搜索技术为设计其它的计算机棋类博奕系统提供了良好的参照。
但是不同的棋类博奕,其规则的千差万别赋予了每一种棋类博奕特殊的专业知识。
这就必然要求设计一个具体的棋类博奕系统时应该深入研究它的基本原理和内在规律。
随着网络的发展,简单的单机版已满足不了人们的需要,将单机版晋升成为网络版已是必然的。
C++语言是一种面向对象语言,尽管在当前,可视化语言发展迅速,晋级很快,但c++语言作为一种基础的语言,它还是有它的存在价值,甚至有时它是不可替代的,特别是在和硬件接口技术相联系的软件方面。
五子棋 毕业论文

五子棋毕业论文近几年来,随着人们对智能化游戏玩法的追求和人工智能技术的发展,五子棋在国内逐渐成为一种十分流行和受欢迎的智能化游戏。
为了更好地推进该行业的发展,近年来越来越多的毕业生选择五子棋作为毕业论文的主题,进行相关研究和探索。
本文主要介绍五子棋的游戏规则、发展历程,以及毕业生们在此方面的研究成果。
一、游戏规则五子棋,也称连五子棋,是一种两人对垒的棋类游戏。
在棋盘上落上五颗棋子构成一条直线即可获胜,和其他棋类游戏类似,五子棋也有一定的游戏规则。
棋盘:五子棋使用标准的 go 盘,共有15 行、15 列,共计225 个交叉点。
两个对手各有黑白棋一种,先手执黑,后手执白。
棋子可以放进这些交叉点上。
行棋规则:双方交替下棋,每一回合只能下一颗棋子,必须放在棋盘上的空白点上。
下子后,棋子不得移动或拿起重新摆放在另外的位置上。
棋子不得着落在已经有棋子的点上。
如果一方出现违规,则取下棋子并且对方在下一手行棋中可以将其放在任意位置。
胜负判断:胜负一般是指一方使得五个自己棋子连成一条线(横向、纵向和斜向均可)而另一个棋手则未能在这条线上将其棋子形成五个同色棋子相连。
如果棋盘下满,游戏结束,无论胜负如何均视为平局。
二、五子棋的发展历程五子棋游戏最早的出现可追溯至战国时期,当时的游戏没有现在这么规范,只是一些对弈的竞技娱乐。
到了唐朝,五子棋得到了广泛传播和发展,成为了当时最受欢迎的棋类游戏之一,并且五子棋对于当时的文化底蕴也有相当大的贡献。
在宋朝时期,五子棋被纳入“十三种书局秘书中”。
后来,五子棋在民间得到充分的传承和发展,其在当时的娱乐活动中有越来越大的影响力。
随着人工智能技术的发展,五子棋在计算机和人工智能领域得到了广泛的应用,也吸引了越来越多的人们的爱好。
三、毕业生们研究成果随着人工智能技术的发展,有越来越多的毕业生选择五子棋作为毕业论文的主题,进行相关研究和探索。
例如,一些毕业生运用深度学习技术,在五子棋这类智能化游戏中进行运用,希望通过这些研究成果来加速计算机的智能化发展,推动人工智能技术的进一步应用和发展。
五子棋网络对战系统 毕业设计论文

五子棋网络对战系统毕业设计论文xx大学xx学院本科生毕业设计(论文)题目: 用JAVA实现五子棋网络对战系统姓名: xxxx学号: xxxxx系别: 计算机工程系专业: 计算机科学与技术年级: xxx级指导教师: xxxx2013年6月23日独创性声明本毕业设计(论文)是我个人在导师指导下完成的。
文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。
特此声明。
论文作者签名: 日期:关于论文使用授权的说明本人完全了解福州大学至诚学院有关保留、使用学位论文的规定,即:学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。
保密的论文在解密后应遵守此规定。
论文作者签名: 指导教师签名: 日期:II用JAVA实现五子棋网络对战系统摘要现代科学技术正在迅猛的发展着,计算机信息技术在其中发挥着巨大的作用。
在此背景下,Java已经从一种与平台无关的编程语言演变成一种跨平台的服务器端技术,同时JAVA也成了最常用的语言之一。
对比C++语言,Java语言更加简单,Java语言更加容易理解,也没那么容易出错,它的语法结构让人看起来更加简洁清楚。
此外Java语言相对比较晚出现,它在面向对象和多线程特性上相对其他计算机语言有了很大的进步,而且在Java语言中比较容易实现算法,可以大大缩短了我们编写程序的时间,同时写出来的Java代码也比较容易得到复用和移植。
基于以上优点,本文采用Java语言实现一款五子棋网络对战系统。
此次游戏设计采用Eclips作为开发环境,运用了最传统的游戏规则,即出现连续五颗相同颜色的棋子则获得胜利。
并且只需用鼠标点击就可以实现这个游戏所有操作:开始游戏、落子、投降、求和。
这种设置老少皆宜,让所有的人都可以无障碍的玩这游戏,并配合简洁的游戏界面,让玩家体验到五子棋的趣味性。
网络五子棋论文

毕业设计(论文)中文摘要毕业设计(论文)外文摘要目录1 引言 (1)1.1 课题的研究意义和背景 (1)1.1.1 研究的意义 (1)1.1.2 研究背景 (1)1.2 前期调研 (2)1.3 课题简介与分析 (3)1.3.1 课题简介 (3)1.3.2 课题分析 (3)1.4 开发途径和可行性分析 (3)1.4.1 开发途径 (3)1.4.2 可行性分析 (3)1.5 传统五子棋软件与网络五子棋软件的异同 (4)2 网络五子棋软件的系统需求分析与总体设计 (5)2.1 系统需求分析 (5)2.2 总体设计 (5)2.2.1 总体设计结构图 (5)2.2.2 接口设计 (6)2.2.3 运行设计 (6)2.2.4 安全保密设计 (6)3 通信协议及编程语言的分析 (6)3.1 TCP/IP参考模型 (6)3.2 管套Socket与Winsock (7)3.3 网络游戏通信协议 (8)3.3.1 游戏通信协议简介 (8)3.3.2 协议打包/解包 (8)3.3.3 通信协议的选择 (9)3.4 编程语言的分析 (9)3.4.1 Visual C++ 6.0 概述 (9)3.4.2 Visual C++ 6.0 的特点 (9)4 详细设计与开发 (9)4.1 软件架构 (10)4.1.1 棋盘类 (10)4.1.2 游戏模式类 (10)4.2 主要算法 (11)4.2.1 判断胜负的算法设计 (11)4.2.2 人机对弈算法设计 (12)4.3 消息机制 (17)4.3.1 消息机制的架构 (17)4.3.2 各种消息说明 (17)4.4 棋盘类——Ctable的设计 (19)4.4.1 主要成员变量说明 (19)4.4.2 主要成员函数说明 (20)4.5 游戏模式类——Cgame的设计 (22)4.5.1 主要成员变量说明 (23)4.5.2 主要成员函数说明 (23)5 网络五子棋软件的测试 (24)5.1 问题的发现 (24)5.2 问题的解决 (24)6 系统功能评价 (25)6.1 系统的主要功能 (25)6.2 系统存在的不足与改进方案 (25)7 用户使用手册 (25)7.1 运行环境简介 (25)7.2 系统功能简介 (25)7.3 系统运行与操作指南 (26)8 毕业设计心得体会 (26)结论 (27)致谢 (28)参考文献 (29)附录 (30)1 引言游戏,如今俨然已经成为人们生活中不可或缺的元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五子棋小游戏
一.需求分析
现在有越来越多的人使用电脑,而且五子棋的受众广泛但实体棋操作较为繁琐且平时较难实现,所以电脑版的五子棋游戏应运而生。
大家对于这个小游戏的需求如下:首先,设计这个游戏最基本的就是实现玩家之间对战,玩家可以通过某些操作来实现对战功能;有时候可能由于时间等原因,玩家可能需要保存游戏,此时需要一个“保存”功能;有时候可能玩家由于失误会走错棋,此时就需要“悔棋”功能;有时候玩家可能觉得这局游戏玩的非常不好,这时候就需要“重新开始游戏”功能;玩家在玩过游戏之后有可能想保存游戏记录便于以后分析此时就需要“排行榜”功能;有些玩家在玩游戏时喜欢听音乐,这时候就需要在下棋时可以播放背景音乐的功能;最基本的通过输入坐标来实现落子的操作方式很繁琐而且很不方便,这时候就可以将落子机制改为更直观的光标移动模式。
二.设计思路
1.玩家对战功能:在玩家对战功能中,玩家可以通过按方向键来移动光标、按空格来实现落子,最终在横或竖或斜方向上达成五个相同颜色的棋子来获得胜利。
基本思路:
(1)使用二维数组保存棋局。
(2)由于要使用光标,所以使用输出缓冲器。
(3)打印棋盘。
主要使用Print()函数来算出棋盘并将缓冲器内容输出。
其余为其中调用的辅助函数。
chessPrint()是打印交点坐标的字符的函数;getCurse()是打印光标的函数;write()函数是用来向缓冲器里面写入字符串的函数;ln()函数是负责将缓冲器写
入位置提行的函数;Display()函数是将缓冲器中内容输出到屏幕的函数。
(4)下子,在后文有详细介绍。
(5)胜负平判断
调用Check()函数进行四个方向的检查,检查是否有五子连珠。
判断完毕后输出结果(如果存在结果)
文档中;在游戏开始界面,只要按“2”选择“load board”就可以装载指定名称的游戏。
基本思路:
调用saveGame()函数将当前棋局的相关信息全部保存到结构体变量saveChess中,并将其中的内容全部保存到文件里。
加载时将结构体变量里的数据全部读出,赋给当前棋局相关信息变量,之后正常运行游戏即可。
基本思路:
玩家对战时,每个玩家每次成功落子之后,棋盘的相关信息就会被记录到一个结构体数组里。
每次悔棋时,就调用一个函数把储存在结构体数组里的上一回合的信息全部赋给当前棋局信息变量。
4.重新开始游戏功能:在游戏过程中,只要按“3”键就可以初始化棋局,重新开始游戏。
基本思路:
玩家对战时每一次重新开始游戏就调用runGame()函数,并返回当前玩家信息。
人机对战时每一重新开始游戏就调用自身,并返回当前玩家信息。
5.排行榜功能:在一局游戏结束时,按照提示输入“1”则可以将自己的名字及成绩保存到排行榜文件中。
在游戏开始界面,只要按“3”就可以查看排行榜。
(排行榜按照步数由小到大,棋色又白到黑排序)
基本思路:
一局游戏结束时调用inList()函数,inList()函数又调用addList()函数,将关于棋局的部分信息保存到文件。
组,按照其中的“步数”成员将结构体数组中的元素进行“冒泡排序”。
这里比较特别的是,每次都是先将要加入的内容写到文件末尾,再将文件中所有内容读出后进行排序,最后再将排好序的内容全部写入文件。
6.背景音乐功能:在游戏过程中会一直循环播放音乐,带给玩家不一样的享受。
基本思路:
使用Windows.h头文件,并加上相关指令
再调用PlaySoundA()函数就可以实现循环播放背景音乐。
7.使用光标定位棋子:使用方向键控制光标移动方向,使用空格键来实现落子,带给玩家比坐标落子更高级的体验,更加方便快捷。
(此处使用了以前没用到的
,调用getch()函数,为了不需要键入回车。
)
基本思路:
光标实现:使用缓冲器将棋盘交点的间隔都填充内容,光标用制表符表示,其余为空格。
方向键移动光标:
防止越界:
空格落子:
8.简单的人机对战:主要防御型的AI,主要针对对手的棋型来安排战术,有时会选择进攻。
基本思路:
判断对手是否有2,3,4子连珠,如果有,电脑会在两头下子;如果没有,若己方在一侧存在3子或4子连珠,电脑会在后面补子;如果以上情况均未出现,电脑会随机在对手单子周边落子。
其余基本功能同人人对战,但是不支持保存和读取棋局功能。
按照奇偶数来判断是该电脑走子还是玩家走子。
电脑执黑则会有不同的初始化方法。
三.用户手册
1.如何运行程序
2.如何开始游戏(包括玩家对战和人机对战)
3.如何退出游戏
4.如何进行游戏
5.如何保存当前游戏(仅支持玩家对战)
6.如何读取已保存的游戏(仅支持玩家对战)
7.如何重新开始游戏(支持人机和玩家对战)
8.如何保存记录(支持人机和玩家对战,不加区分)
9.如何调取记录进行查看(支持人机和玩家对战,不加区分)
10.如何查看游戏规则
11.如何了解设计师相关信息
12.如何悔棋(支持人机和玩家对战)
1.如何运行程序
第一步,打开VS2012,点击“打开项目”。
第二步,选择“高级五子棋”项目,点击“打开”
第三步,使用快捷键“Ctrl+F5”,开始运行程序,进入游戏开始界面。
2.如何开始游戏
按照开始界面中的提示操作即可,从键盘输入“1”即可开始玩家对战或人机对战(输入“1”为玩家对战,输入“2”为人机对战,人机对战时可以选择电脑的颜色)。
输入“1”之后的效果:
再输入“2”之后的效果:
再输入“1”之后的效果:
再输入“2”之后的效果:
3如何退出游戏
此处分两种情况:第一种是在开始界面,可以通过键盘输入“0”来实现退出游戏(此时会有退出界面);第二种是在游戏过程中,可以通过按“Esc”键来直接退出游戏(此时没有退出界面)。
第一种:
输入“0”之后的结果:
按“Esc”之后的效果:
4.如何进行游戏
玩家可以通过按“↑”“↓”“←”“→”来实现光标的移动,通过按空格键来在没有棋子的位置实现落子。
初始:
按空格之后的效果:
按“→”之后的效果:
5.如何保存当前游戏
在游戏过程中,玩家可以通过按“1”来实现游戏的保存。
按“1”之后的效果:
6.如何读取已保存的游戏
在游戏开始界面,可以通过从键盘输入“2”来装载曾经保存过的游戏。
输入“2”之后的效果:
7.如何重新开始游戏
在游戏过程中,按“3”可以实现游戏的重新开始。
初始:
按“3”之后的效果:
在一局游戏结束后,会有如下文字提示:
输入“1”后的效果:
在游戏开始界面,可以通过键盘输入“3”来查看排行榜内容。
在游戏开始界面可以通过键盘输入“4”来查看游戏规则。
在游戏开始界面输入“5”即可了解设计师相关信息。
12.如何悔棋
在游戏过程中,可以按“2”来实现悔棋,即恢复到上一步的状态。
初始:
按“2”之后的效果:
四.总结
通过本次五子棋大作业,我初步掌握了运用之前学过的知识去开拓未知领域的能力、借鉴与发展能力、自学能力等多项技能。
总的来说我感觉这次大作业的难度是比较大的,这其中会面临很多选择,这恰恰是考验我们能力的地方。
例如,“排行榜”功能就可以选择是使用链表来做还是使用结构体数组来做。
我一开始的思路是使用链表来做,但是由于我链表的相关知识掌握的不是很熟练所以屡屡受挫,最
终我决定改变思路,使用结构体数组来做,果然要容易一些,我也成
功的实现了排行榜功能。
再比如,好多同学都是选用EasyX来实现鼠标控制,我本来一开始也想尝试,但是后来经过努力发现这种模式的难度对我来说偏高,所以我借鉴了一下网上的一些五子棋源代码,最终决定使用光标这种比坐标略强、比鼠标略弱的操作模式。
这样的例子在开发过程中还有很多,在这里我就不一一列举了。
总而言之,我从这次大作业中收获了很多专业知识,更重要的是我掌握很多以前没有的能力。