五子棋课程设计实验报告
五子棋实验报告(含代码)

实验报告实验一五子棋游戏北方工业大学 2013级计算机技术米鹏一、实验原理及方法五子棋游戏开发借用Visual Studio 2012软件开发平台,选用C#语言进行编写。
整体程序主要分为三部分:界面操作部分、AI逻辑部分和棋子定点分析部分。
1、界面操作部分界面操作部分代码主要针对图像呈现、对应矩阵存储、下棋过程控制等可见的操作环节进编写。
同时负责整个程序的初始化工作。
图像呈现采用C#中Graphics进行绘制。
棋盘被划分为15行15列,每个划分出的小方格均为30*30的正方形,棋盘可操作的范围规定在(20,20)、(460,460)两点的确定的正方形区域内。
通过鼠标左击来确定下子地点。
程序会根据鼠标鼠标点击的位置进行计算,计算得到时对应矩阵的行列,之后再改变对应矩阵的内容后,在通过行列值乘以小方格边长计算得到在显示区域中的具体位置,再稍加变动后画到显示区域中。
以X点坐标为例,下面是计算X(Column)的流程图:在对应矩阵存储方面,后面AI逻辑和棋子分析所用到的矩阵都是来源这里。
同时AI 逻辑和棋子分析不能去修改对应矩阵内容。
图像呈现点的位置、重绘的根据都是来源这里。
在下棋过程控制方面采用信号亮的机制,当操作者下过后,根据信号AI会立即计算将要下点的位置同时改变信号亮变量。
当AI下过棋子后,由于信号亮的的限制就等待操作者去下棋,同时改变信号亮变量内容。
AI和操作者的所有下子、修改矩阵、显示棋子的过程都是统一的。
在每一盘游戏开始时程序会对一些重要的变量进行初始化这里包括矩阵、信号亮、第一步棋子颜色、呈现图像等内容进行初始化。
同时AI会在棋盘中央下第一子。
2、AI逻辑部分AI逻辑部分算是整个程序策略的灵魂。
其中的一些关键性判别的前后关系将影响AI 的下棋的结果。
同时加大和降低AI的难度也是这里。
下面是我设计的策略过程:从下棋者的考虑角度进行考虑,尽可能保证每一次下子都是有必要的、都是在情理当中的。
我所设计的策略并不是完整,漏洞在与没有考虑三棋子连续的情况。
五子棋课程设计实验报告

C语言程序设计报告题目: 五子棋班级: 电气Q1041班人数: 3人小组成员: 周啸天、万广富、黄山奇指导老师:桂超目录第一章课程设计的目的和要求................................................................1.1 课程设计的目的...................................................................................1.2 课程设计的要求...................................................................................1.3 课程设计的实验环境........................................................................... 第二章功能描述 ........................................................................................ 第三章总体设计 ........................................................................................3.1 功能模块设计 .......................................................................................3.1.1 任务执行流程图................................................................................3.2 数据结构设计 .......................................................................................3.2.1 定义结构体 ........................................................................................3.2.2 定义数组 ............................................................................................3.2.3 全局变量 ............................................................................................3.3 函数功能描述 ....................................................................................... 第四章程序实现 ........................................................................................4.1源码分析 ................................................................................................4.2运行结果及界面介绍............................................................................ 第五章后记 ................................................................................................第一章课程设计的目的和要求1.1 课程设计的目的1.加深对C语言数据类型,运算,语句结构及其程序设计的基本方法理解和掌握;2.熟练掌握流程图的绘制、程序设计文档的书写;3.通过编写一个完整的程序,一方面可以检查我们这学期的学习情况,为以后的学习打下坚实的基础;4.熟悉C语言游戏编程,掌握五子棋游戏开发的基本原理,从而为以后的程序开发奠定基础。
c五子棋课程设计报告

c五子棋课程设计报告一、课程目标知识目标:1. 学生理解五子棋的基本规则,掌握棋盘布局、棋子走法等相关知识。
2. 学生了解五子棋的历史背景,了解我国棋文化的发展。
3. 学生掌握基本的五子棋策略,如防守、进攻、布局等。
技能目标:1. 学生能够熟练进行五子棋对弈,具备一定的竞技水平。
2. 学生能够运用所学策略进行棋局分析,提高解决问题的能力。
3. 学生能够通过五子棋锻炼思维,提高逻辑思维和判断能力。
情感态度价值观目标:1. 学生培养对五子棋的兴趣,激发学习棋类游戏的热情。
2. 学生在五子棋学习过程中,培养团队协作精神,增进同学间的友谊。
3. 学生通过五子棋学习,体会竞技精神,树立正确的竞争观念。
课程性质分析:本课程为兴趣选修课程,结合五子棋的竞技性和趣味性,旨在提高学生的逻辑思维和竞技水平。
学生特点分析:五年级学生具备一定的认知能力和自学能力,对新鲜事物充满好奇,喜欢竞技类游戏。
教学要求:1. 教师应关注学生的个体差异,因材施教,提高学生的学习兴趣。
2. 教师应注重理论与实践相结合,让学生在实践中掌握五子棋技能。
3. 教师应关注学生在学习过程中的情感体验,培养学生的竞技精神和团队协作能力。
二、教学内容1. 五子棋基本知识:- 棋盘与棋子:介绍五子棋的棋盘布局、棋子走法及胜负判定规则。
- 历史背景:讲解五子棋的起源、发展及在我国棋文化中的地位。
2. 五子棋基本策略:- 防守策略:教授学生如何防守对手的进攻,保持棋局平衡。
- 进攻策略:指导学生运用有效进攻手段,制造对手的困境。
- 布局策略:讲解如何合理布局棋子,为后续棋局发展奠定基础。
3. 五子棋实战技巧:- 棋型分析:教授学生识别不同棋型,提高棋局分析能力。
- 残局破解:训练学生解决棋局中出现的复杂局面,提高实战水平。
4. 教学进度安排:- 第一周:五子棋基本知识学习,了解棋盘、棋子及历史背景。
- 第二周:基本策略学习,掌握防守、进攻和布局策略。
- 第三周:实战技巧训练,提高棋局分析和实战能力。
五子棋程序实习报告

五子棋程序实习报告一、实习背景及目的近期,我通过五子棋程序的实习,深入了解了五子棋的规则和算法,并成功编写了一个五子棋程序。
本次实习的目的是为了提高我的编程能力和逻辑思维能力,同时了解人工智能在棋类游戏中的应用。
二、五子棋规则及算法分析五子棋是一种两人对弈的棋类游戏,游戏的目标是在棋盘上形成连续的五个棋子。
棋盘通常为15×15的网格,每个玩家轮流在空格中放置自己的棋子。
五子棋的算法主要包括两种:一种是基于搜索的算法,如极大极小值搜索和启发式搜索;另一种是基于机器学习的算法,如蒙特卡洛树搜索和深度学习。
三、程序设计及实现在本次实习中,我选择了基于极大极小值搜索的五子棋算法,并使用Python语言进行程序设计。
程序的主要功能包括棋盘的显示、玩家的输入和计算机的智能下棋。
首先,我使用类来表示棋盘,每个棋盘对象包含一个15×15的二维数组,用于存储棋子的位置。
同时,我还定义了一个常量类,用于存储棋子的颜色和空格的表示。
接下来,我实现了一个玩家输入的类,玩家可以通过该类来选择下棋的位置。
为了简化输入过程,我使用了一个简单的文本界面,玩家只需输入坐标即可。
最后,我实现了一个计算机下棋的类,该类使用了极大极小值搜索算法。
具体实现过程如下:1. 将棋盘划分为多个可能的获胜区域,例如横线、竖线和斜线。
2. 对于每个获胜区域,计算计算机和玩家在该区域获胜的概率。
3. 使用极大极小值搜索算法,选择最优的落子位置。
四、实习心得通过本次五子棋程序的实习,我对五子棋的规则和算法有了更深入的了解,同时也提高了我的编程能力和逻辑思维能力。
在程序设计过程中,我遇到了很多问题,如棋盘的表示、搜索算法的实现等,通过查阅资料和不断调试,我最终成功解决了这些问题。
此外,通过本次实习,我也了解到了人工智能在棋类游戏中的应用。
目前,深度学习等算法在棋类游戏中取得了显著的成果,例如AlphaGo在围棋领域的突破。
未来,我相信人工智能将在更多棋类游戏中发挥重要作用。
五子棋游戏实验报告

五子棋游戏实验报告五子棋游戏实验报告引言:五子棋是一种古老而受欢迎的策略游戏,它不仅能够锻炼思维能力,还能培养耐心和决策能力。
为了进一步了解五子棋游戏对人类思维和决策的影响,我们进行了一项实验。
本实验旨在探究五子棋游戏对玩家的思维策略、决策效率和情绪状态的影响。
实验设计:参与实验的被试共计50人,他们被随机分为两组。
每个被试都需要进行五子棋游戏,其中一组被试在游戏前接受了一段时间的训练,而另一组则没有。
我们通过观察被试的行为和采集数据来分析五子棋游戏对思维和决策的影响。
实验过程:实验开始前,我们向所有被试提供了五子棋游戏的规则和基本策略。
然后,我们对训练组进行了一段时间的训练,让他们熟悉游戏规则和各种常见的战术。
接下来,两组被试开始进行五子棋游戏,每个被试有15分钟的时间来下棋。
实验结果:通过对被试的行为和数据的分析,我们得出了以下结论:1. 思维策略:在游戏中,训练组的被试表现出更加深思熟虑的思维策略。
他们更善于预测对手的下一步,并采取相应的防守或进攻策略。
相比之下,未训练组的被试更加随机地下棋,缺乏长远规划。
2. 决策效率:训练组的被试在游戏中做出决策的速度更快。
他们能够快速分析局势,并做出相应的反应。
而未训练组的被试则需要更多的时间来思考和决策。
3. 情绪状态:我们观察到训练组的被试在游戏过程中更加冷静和放松。
他们能够保持冷静的头脑,不受情绪的干扰。
相比之下,未训练组的被试在面对困难局面时更容易感到紧张和焦虑。
讨论:通过这项实验,我们发现五子棋游戏对思维和决策能力有着积极的影响。
训练组的被试在思考问题和做出决策时表现出更高的效率和准确性。
此外,他们还能够更好地控制情绪,保持冷静。
这些结果表明,五子棋游戏可以作为一种有效的训练工具来提升思维能力和决策能力。
然而,我们也发现这项实验存在一些局限性。
首先,实验样本较小,可能无法完全代表整个人群。
其次,实验时间较短,无法观察到长期训练对思维和决策能力的影响。
c语言五子棋课程设计报告

c语言五子棋课程设计报告一、前言五子棋作为一种智力游戏,在我国有着悠久的历史和广泛的群众基础。
本次设计的目的是使用C语言实现五子棋游戏,通过此次课程设计,学生将掌握C语言的编程思想和开发方法,同时了解五子棋游戏的规则和策略。
二、五子棋游戏规则五子棋游戏是在15*15的棋盘上进行,由黑白双方轮流落子,先将五个同色棋子连成一条线的一方获胜。
落子的位置必须为空,不能与已有的棋子重叠。
黑方先手,白方后手。
下图为五子棋棋盘示意图。
三、五子棋游戏实现本次课程设计采用C语言实现五子棋游戏,主要包括棋盘的绘制、落子的判断和胜负的判断等功能。
1.棋盘的绘制棋盘的绘制采用双重循环实现,将15*15的棋盘分成225个小格,其中包括14个横线和14个竖线,以及4个角上的点。
通过循环输出字符实现棋盘的绘制。
2.落子的判断落子的判断主要包括鼠标的点击和棋子的绘制两个部分。
当鼠标点击棋盘上的一个位置时,程序会根据当前轮到哪方落子来绘制相应颜色的棋子,并将该位置的状态改为已有棋子。
同时,程序会检查当前落子是否符合规则,即该位置是否为空,如果不为空则重新等待鼠标点击。
3.胜负的判断胜负的判断主要包括横向、纵向、斜向和反斜向四个方向。
通过判断当前落子位置在这四个方向上的连续棋子数是否达到五个来确定胜负。
如果达到五个,则程序会弹出相应的提示框,显示胜利方。
四、总结通过本次课程设计,学生掌握了C语言的编程思想和开发方法,同时了解了五子棋游戏的规则和策略。
本次设计主要包括棋盘的绘制、落子的判断和胜负的判断等功能。
希望本次课程设计能够增强学生的编程能力和对五子棋游戏的理解。
(最新版)五子棋毕业课程设计报告

上海海事大学程序设计课程设计报告课程题目FIVE CHESS GAME作者姓名学号联系方式指导教师学科(专业)所在学院提交日期目录1引言 (3)1.1五子棋介绍 (3)1.2选题背景和动机 (3)1.3系统所要解决的问题 (3)2 系统框架 (5)2.1棋盘类 (6)2.1.1 主要成员变量说明: (6)2.1.2清空棋盘——Clear (6)2.1.3绘制棋子——Draw (6)2.1.4左键消息——OnLButtonUp (7)2.1.5载入棋盘 (7)2.1.6对方落子完毕——Over (7)2.1.7设置游戏模式——SetGameMode (7)2.1.8胜负的判断——Win (7)2.2游戏模式类 (8)3关键技术 (9)3.1 棋盘对话框的制作 (9)3.1.1 对话框机制 (9)3.1.3 棋子 (10)3.2 人机对弈 (10)3.2.1 难度的选择 (10)3.2.2 机器的落子判断 (11)4运行结果 (15)4.1开发环境及运行环境 (15)4.1.1开发环境 (15)4.1.2运行环境 (15)4.2运行图示 (15)4.2.1 棋盘显示 (15)4.2.2 开始的选择对话框 (16)4.2.3 主界面中的游戏难度选项 (16)4.2.4 电脑的应对 (17)5调试分析 (19)6总结 (21)参考文献 (22)1引言1.1五子棋介绍五子棋是起源于中国古代的传统黑白棋种之一。
现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。
五子棋实验报告

五子棋实验报告五子棋实验报告引言:五子棋是一种古老而受欢迎的棋类游戏,它不仅能够锻炼思维能力,还能培养战略思维和判断力。
为了进一步了解五子棋的特点和策略,我们进行了一项实验研究。
实验设计:我们邀请了十位志愿者参与本次实验,他们中的五位是五子棋高手,另外五位则是初学者。
实验分为两个阶段,第一阶段是对高手和初学者之间的对局进行观察和分析,第二阶段是对初学者进行指导并观察他们的进步情况。
实验过程:在第一阶段,我们观察了五位高手之间的对局。
他们的思考时间短,下棋速度快,每一步都经过深思熟虑。
他们善于利用对手的弱点,通过布局和进攻来取得优势。
他们的棋局稳健而有力,很少出现失误。
与此相反,初学者的对局显得更加紧张和激烈。
他们思考的时间较长,下棋的速度较慢。
初学者更注重自己的进攻,而忽略了对手的威胁。
他们常常陷入被动局面,容易被高手击败。
在第二阶段,我们对初学者进行了指导。
我们向他们介绍了一些基本的五子棋策略,并分析了高手的对局特点。
初学者经过指导后,开始注意对手的威胁并学会了更好地布局和进攻。
他们的下棋速度也有所提升,思考的时间也相对减少。
通过与高手的对局,初学者逐渐提高了自己的棋艺,并取得了一些胜利。
实验结果:通过观察和分析,我们得出了一些有趣的结论。
首先,五子棋的策略非常重要。
高手善于观察和分析,能够在短时间内做出正确的决策。
而初学者则需要更多的练习和指导,才能提高自己的棋艺。
其次,思考的时间并不是决定胜负的唯一因素。
虽然高手思考的时间较短,但他们能够快速准确地判断局势,并做出正确的决策。
而初学者则需要更多的时间来思考,但他们在经过指导后也能够提高自己的下棋速度。
结论:通过本次实验,我们深入了解了五子棋的特点和策略。
高手的对局展现了他们的深思熟虑和布局能力,而初学者则通过指导逐渐提高了自己的棋艺。
五子棋不仅仅是一种棋类游戏,更是一种锻炼思维和培养战略思维的好方法。
我们希望通过这次实验的结果,能够鼓励更多的人去学习和享受这个古老而有趣的游戏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计报告题目: 五子棋班级: 电气Q1041班人数: 3人小组成员: 周啸天、万广富、黄山奇指导老师:桂超时间: 2011.11.30目录第一章课程设计的目的和要求 (3)1.1 课程设计的目的 (3)1.2 课程设计的要求 (3)1.3 课程设计的实验环境 (3)第二章功能描述 (4)第三章总体设计 (5)3.1 功能模块设计 (5)3.1.1 任务执行流程图 (5)3.1.2 下棋函数流程图 (6)3.2 数据结构设计 (7)3.2.1 定义结构体 (7)3.2.2 定义数组 (7)3.2.3 全局变量 (7)3.3 函数功能描述 (7)第四章程序实现 (8)4.1源码分析 (8)4.2运行结果及界面介绍 (22)第五章后记 (27)第一章课程设计的目的和要求1.1 课程设计的目的1.加深对C语言数据类型,运算,语句结构及其程序设计的基本方法理解和掌握;2.熟练掌握流程图的绘制、程序设计文档的书写;3.通过编写一个完整的程序,一方面可以检查我们这学期的学习情况,为以后的学习打下坚实的基础;4.熟悉C语言游戏编程,掌握五子棋游戏开发的基本原理,从而为以后的程序开发奠定基础。
1.2 课程设计的要求1、编写程序代码,调试所写程序使其能够正确运行;2、能进行基本的五子棋操作,有图形界面,能够用键盘操作;3、能够实现悔棋、存档和读档等附加功能1.3 课程设计的实验环境该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C++6.0平台中进行,完成代码的编写、编译、调试、测试等工作。
本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下:硬件:Cpu:2.1GHZ,内存,2GB,硬盘:320GB,操作系统:windows xp软件环境:安装VC++6.0第二章功能描述本程序用C语言实现了五子棋游戏,能进行基本的五子棋操作。
程序能实现界面的初始化功能、下棋功能、人机智能对战功能、胜负判断功能、悔棋功能、读档及存档功能,通过键盘操作控制下棋。
(1)显示欢迎界面。
在游戏开始时出现一个欢迎的界面同时介绍了游戏的规则;(2)初始化功能。
程序初始化屏幕和棋盘,默认玩家先行。
(3)下棋操作。
利用W、S、A、D及空格键实现下棋操作,在下棋过程中能随时按ESC键退出。
(4)人机智能对战功能。
电脑根据玩家的下棋对棋盘进行智能分析,然后下棋,实现人机对弈。
(5)悔棋功能。
玩家可以有三次悔棋机会。
(6)胜负判断功能。
程序能对下棋的结果进行判断,分出胜负。
并显示获胜方。
(7)读档、存档功能。
游戏中途退出会提示是否存档,如果存档,则下次开始的时候会提示是否读档继续上次的游戏。
第三章总体设计3.1 功能模块设计3.1.1 任务执行流程图3.1.2 下棋函数流程图3.2 数据结构设计3.2.1 定义结构体将棋盘上每个点的左边定义为一个结构体;typedef struct{int x, y;}point;3.2.2 定义数组定义数组board[15][15]表示棋盘,用来记录棋盘上每个棋子的状态;3.2.3 全局变量定义整形数组back[4] 用来记录前两步双方下棋的状态,便于后面进行悔棋操作定义整形n = 3; 用来记录悔棋次数3.3 函数功能描述1、显示欢迎信息bool welcome();2、初始化棋盘void InitBoard();3、输出棋盘void chessboard();4、判断胜负int Win(char c);5、下棋void play(point &r);6、显示获胜void showsusscced(char c);7、悔棋bool BackStep(int back[]);8、人机对战智能算法void ComAlgo(point &r);9、存盘函数bool SaveLoad();10、读盘函数bool DownLoad();第四章程序实现4.1源码分析1、显示欢迎信息bool welcome(){char ch;printf("\n\n\n\n");printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");printf("┃Welcome you to gobang World! ┃\n");printf("┃1、You can use the A,D,W and S key to move the chessman; ┃\n");printf("┃2、You can press Space key to enter after you move it; ┃\n");printf("┃3、You can use Esc key to exit the game; ┃\n");printf("┃4、Don't move the pieces out of the chessboard. ┃\n");printf("┃Do you want to continue?(Y/N) ┃\n");printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");while (! strchr("YN", ch = toupper(getch()))){putchar('\a');}if(ch == 'N') return false;else return true;}2、初始化棋盘void InitBoard(){char ch; int i, j;printf("\n\n是否读档?(Y/N)\n");if((ch = toupper(getch())) == 'Y' && DownLoad())printf("读档成功!\n");else{for(i = 0; i < 15; i ++)for(j = 0; j < 15; j ++)board[i][j] = ' ';}chessboard();}3、输出棋盘void chessboard(){//清屏system("cls");//输出棋盘的上边缘printf(" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \n");printf(" ┏━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┓\n");printf(" ┃│││││││││││││││┃\n");for(int i = 1; i <= 15; i ++){//输出列序号及相应的列元素printf("%02d┣─", i);for(int j = 1; j <= 15; j ++){switch (board[i - 1][j - 1]){//(由于在命令行模式下显示,所以,颜色是颠倒的)case ' ': printf("┼─"); break; //如果当前位置无子,则输出棋盘case 'h': printf("○─"); break; //如果是黑子,则输出黑子的符号case 'b': printf("●─"); break; //如果是白子,则输出白子的符号case 'g': printf("⊙─"); break; //显示光标}}//输出每列的最后一个制表符printf("┫%02d\n", i);printf(" ┃│││││││││││││││┃\n");}printf(" ┗━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┷━┛\n");printf(" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 \n");}4、下棋void play(point &r){char key, c;do{while (! strchr("ADWSZ", key = toupper(getch()))){if(key == 27 || key == 32) break;putchar('\a');}switch(key){case 'A': //向左if(r.y <= 1) break;else r.y --;c = board[r.x - 1][r.y - 1]; //记录光标board[r.x - 1][r.y - 1] = 'g';chessboard();board[r.x - 1][r.y - 1] = c;break;case 'D': //向右if(r.y >= 15) break;else r.y ++;c = board[r.x - 1][r.y - 1];board[r.x - 1][r.y - 1] = 'g';chessboard();board[r.x - 1][r.y - 1] = c;break;case 'W': //向上if(r.x <= 1) break;else r.x --;c = board[r.x - 1][r.y - 1];board[r.x - 1][r.y - 1] = 'g';chessboard();board[r.x - 1][r.y - 1] = c;break;case 'S': //向下if(r.x >= 15) break;else r.x ++;c = board[r.x - 1][r.y - 1];board[r.x - 1][r.y - 1] = 'g';chessboard();board[r.x - 1][r.y - 1] = c;break;case 32: //SPACE空格if(board[r.x - 1][r.y - 1] != ' ') key = 0; //key的值修改为非32的数值else{board[r.x - 1][r.y - 1] = 'b';back[0] = r.x - 1; back[1] = r.y - 1; //记录当前位置,便于悔棋chessboard();}break;case 'Z': //悔棋BackStep(back);break;case 27: //ESC退出printf("Game Over!\n");printf("是否存档?(Y/N)\n");if((c = toupper(getch())) == 'Y' && SaveLoad())printf("存档成功!\n");exit(1);default:fflush(stdin);}}while(key != 32);}注:1、W、S、A、D分别表示上下左右键。