五子棋设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
题目五子棋(双人对战)指导教师
学生姓名
学号
专业电子信息工程
教学单位物理系(盖章)
目录
1课程设计的目的及要求 (1)
1.1课程设计目的与基本要求 (1)
1.2系统运行环境及功能简介 (1)
2程序流程图 (1)
3运行的运行及说明 (2)
3.1系统的运行 (2)
3.2程序的实现 (3)
3.3程序运行 (3)
3. 系统的调试 (3)
4课程设计目的 (3)
5 程序特色 (3)
6程序存在的缺陷 (4)
7总结 (4)
附件:源程序清单 (4)
1设计要求与设计内容
1.1 课程设计目的与基本要求
●掌握用C语言解决问题的基本方法和步骤,能够熟练地使用C语言编写
中小型应用程序。
●熟练掌握C语言编写规则,掌握函数的应用方法和编写。
●熟练掌握面向过程程序设计方法。
●掌握结构化程序设计思想和方法;培养和提高学生的程序调试能力。
●《高级语言程序设计与课程设计》是《高级语言程序设计》课程的实践环
节,其教学目的是通过一些中小规模的编程,使学生对C语言程序设计的基本规则与方法有比较全面的理解和认识,熟练掌握高级语言程序设计技术,为以后学习更高层次的程序设计和软件开发奠定坚实基础。
1.2系统运行环境及功能简介
Vc++6.0下运行,硬件基本无要求,现在的计算机系统基本都以运行该系统。
该系统是五子棋的人人对战模式,而非平常的人机对战,系统有简单的菜单界面。本程序简洁明快,采用黑白两色棋。开始显示20*20的棋盘,白棋棋先手,要能动态显示下棋顺序,而且能自动判断输赢及显示胜负信息。
2程序流程图(系统的流程图如图2-1所示)
图2-1 程序的流程图
3系统的运行及说明
3.1系统的运行
开始
白子落棋
白子有五个
在一条直线黑子落棋
黑子五个在
一条直线上 白子获胜
黑子获胜
结束 Y
N N
Y
图3-1程序的初始化界面
程序初始化的界面,界面简洁明快,便于观察。
图3-2程序的运行界面
系统在运行时,白子先落棋。
图3-3程序的介绍界面
当有一方五个棋子在一条直线上时,系统会提示胜利,并提示用户是否继续使用。
3.2程序实现
连棋判断,若成立则修改胜负判断结果k = (y + i) * 20 + x;。
边界判断的实现if (x + i < 0 || x + i + 4 > 19 || y + i < 0 || y + i + 4 > 19)
3.3运行说明
●基本操作
A向左 W向上 D向右 S向下空格键确定
●结束或继续操作
Y 重新开始游戏按 N 退出游戏
3.4系统的调试
在系统的运行过程中出现了一些错误,比如:
●漏了分号,将%d误写成%s;
●缺乏函数的定义和说明。C语言规定,除返回值为整形和字符型的函数外,调用函数之前,必须加以定义或者声明。如在定义和声明之前调用自定义函数,则系统出现编译错误。
4课程设计目的
五子棋游戏不仅能增强人们的抽象思维能力、逻辑推理能力、空间想象力,提高人们的记忆力、心算能力等,而且深含哲理,有助于修身养性。五子棋既有现代休闲方式所特有的特征“短、平、快” ,又有中国古典哲学所包含的高深学问“阴阳易理” ;它既有简单易学的特点,为人民群众所喜闻乐见,又有深奥的技巧;既能组织举办群众性的比赛、活动,又能组织举办高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观,它是中西方文化的交融点,也是中西方文化交流的一个平台。
自从计算机作为游戏对战平台以来,各种棋类游戏如雨后春笋般纷纷冒出。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。同时具有简单易学、既动手又动脑的特点。
同时也为锻炼自己的编程能力。
5程序特色
本游戏程序具有基本智能,灵活性、方便等特点。
●基本智能
本游戏程序中,计算机可以自动显示下棋顺序,判断胜负,显示胜负信息。
●灵活性
本游戏程序可以DOS/WINDOWS 9X/ME/2000/XP等操作系统下顺利运行,不会由于操作系统的不同而出现运行上冲突的问题,有极高的适应性。
方便。
●方便性
本游戏程序通过键盘两边操作,实现棋手对立操作,避免交叉,而且键盘操作方便,光标移动显示当前位置,人人对战中,操作更便利。
6系统存在的缺陷
系统存在一些缺陷,例如只能用W A S D键来控制,而不能通过方向键来选择,所以在用户使用过程中会给用户带来很多不便。另外,本系统没有自动提示下一步按棋位置和悔棋功能,同时系统缺少对和棋的判断。希望通过以后的学习来弥补。
7总结
在学习C语言的基本知识后,我们也进行了C语言课设。我最大的感触是:C 语言实训和平时上课所接触的程序有很大不同。一C语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握C语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。
在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,虽然每次运行程序不一定会成功。通过自己上网查资料编写程序,经过多次的上机调试和上网查资料和修改,最终把最初的理论知识转化基本技能。通过这次实习,让我们初步有了编写系统的能力,我们对很多的函数有了新的认识,也学会了运用多种函数,也明白了编写软件的基本过程,和基本方法。编写软件的过程中我们又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。这次的实训,使我对C语言的学习产生浓厚的兴趣。
数据传输的问题,要保证数据的实时性、正确性,也就是要选择一个合适的通讯机制,这也跟你用的语言有关。图形界面的呈现;界面上的响应逻辑要正确,界面最好也得好看一点。