




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计成绩评价表指导老师评阅成绩表学习与工作态度(30%)选题的价值与意义(10%)文献综述(10%)研究水平与设计能力(20%)课程设计说明说(论文)撰写质量(20%)学术水平与创新(10%)总分指导老师签名: 年 月 日课程设计答辩记录及评价表学生讲述情况教师主要提问记录学生回答问题情况答辩评分评分项目分值评价参考标准评分总分优良中及格差选题的价值与意义1098764文献综述1098764研究水平与设计能力201917151310课程设计说明书(论文)撰写质量201917151310学术水平与创新1098764答辩效果302825221915是否同意论文(设计)通过答辩同意 不同意答辩小组成员签名答辩小组组长签名: 年 月 日课程设计成绩评定表成绩汇总评分项目评分比例分数课程设计总分指导老师评分50%答辩小组评分50%封面成都信息工程学院课程设计题目:五子棋游戏的设计与实现作者姓名:班 级:学 号:指导教师:日 期: 作者签名:五子棋游戏的设计与实现摘 要此五子棋游戏并不是想以往的人机对弈的玩法,它主要是模拟的真人玩法,是两人亲自对弈。该游戏主要是利用Win-TC编译器来编译的,该项游戏编程中利用了头文件,库函数,各种实用函数,宏定义等方式来编译的。而且对其整体的设计思路还进行了具体的分析。同时还进行了游戏展示。 关键词: C语言;五子棋;游戏;函数;头文件; 目 录 1. 引言该项课程设计中利用了头文件,库函数,各种实用函数,宏定义等方式来编译的。而且对其整体的设计思路还进行了具体的分析。同时还进行了游戏展示。 1.1课程设计的目的本程序旨在进一步训练自己的游戏开发技巧,能够掌握C语言图像模式下的编程。本程序涉及很多图形函数,包括坐标定位,颜色设置(背景色和文本颜色设置)、线条颜色、填充颜色;直线风格、文本风格、填充风格;画线、画图、画矩形函数;图形系统的初始化和关闭;图形屏幕和文字屏幕的清除;从键盘获得取键值等等。通过该程序的训练,使自己能对C语言有一个更深刻的了解,掌握五子棋会游戏开发的基本原理,从而为以后的程序开发奠定基础。1.2课程设计的要求本课程设计中要用到以下知识点:a. 在画图,定义数组大小,以及定义光标移动键时要用到:宏定义,for循环等。b. 在判断下棋位置时要用到:switch选择结构c. 贯穿整个游戏设计时用到:画图函数,Done下棋函数,欢迎界面等函数。1.3功能描述本程序用C语言实现了五子棋游戏,能进行基本的五子棋操作。程序能实现界面的初始化功能、下棋功能、胜负判断功能和帮助功能。初始化功能。程序初始化屏幕和棋盘,默认Player1先行。实现下棋操作。程序能实现下棋操作,在下棋过程中可以随时退出。判断胜负。程序对下棋的结果进行判断,分出胜负,并显示获胜信息。显示帮助信息。程序能提示玩家轮到哪方下棋了。2.开发环境该项游戏使用的开发工具是Win-TC2.1Win-TC的基本介绍Win-TC是一个TC2 Windows平台开发工具。该软件以TC2为内核,提供Windows平台的开发界面。支持Windows平台下的功能,例如剪切,复制,粘贴等功能。3.游戏总体设计3.1功能模块设计3.1.1系统模块图本程序包括4个子模块,分别是初始化模块、功能控制模块、下棋操作模块和帮助模块,如图3.1.1所示。各个模块的功能描述如下。a.初始化模块。该模块主要是用于初始化屏幕信息,包括显示欢迎信息、操作方法和初始化棋盘。b.功能控制模块。该模块是各个功能函数的集合,主要是被其他模块调用,包括画棋子、胜负判断和行棋转换等功能;c.下棋操作模块。该模块用于执行下棋操作。d.帮助模块。该模块主要用于显示帮助信息,提示轮到哪方下棋。 系统模块初始化模块功能控制模块下棋操作模块帮助模块图3.1.1 系统功能图3.2流程图分析3.2.1.任务执行流程图游戏初始化是Player1先行。当Player1行棋后,程序判断Player1是否获胜,如果获胜则显示获胜信息,否则交换行棋;交换行棋后,Player2行棋,当Player2行棋后,程序判断Player2是否获胜,如果获胜,则显示获胜信息,否则交换行棋。程序以一方获胜或者按Esc键作为结束标志。任务执行流程图如图3.2.1所示。 3.2.2.下棋函数(Done()函数)流程图下棋操作函数(Done()函数)是本程序的核心部分,它调用功能模块中的函数来实现各种操作。首先获取key值(UP、DOWN、LEFT、RIGHT、SPACE、ESC),如果获取的key值为ESC,则退出程序;如果key值为UP、DOWN、LEFT或RIGHT,表示移动棋子,程序首先在移动方向上判断棋子下一步是否超出边界,如果超出边界则什么也不用做(表示当前位置已经处于棋盘边界了),否则根据statusij值来执行操作(如果statusij为0,则画棋子显示运行轨迹;如果statusij为flag值,则表示(i,j)位置已有棋子了);如果key值为SPACE,表示落子操作,则在落子后,判断当前行棋方是否获胜,如果获胜则显示获胜信息,否则交换行棋方。Done()函数的流程图如图3.2.2所示。3.3数据结构设计本程序没有自定义结构体,只定义了一些全局变量和数组。另外,该程序还涉及坐标位置的偏移,这方面的内容也在此说明。3.3.1定义数组 定义了数组statusNN,该数组存储整型类型的值,最多可以存储到status1919(实际上棋盘只画了18*18个位置)。数组status存储给定坐标(实际是反映映射位置的状态值)的状态值。状态值有3个,分别是0、1和2.0表示给定坐标映射的位置没有棋子,1表示给定坐标映射的位置是Player1的棋子,2表示给定坐标映射的位置是Player2的棋子。3.3.2全局变量step_x和step_y这两个变量时整型类型的,表示行走时棋子处的坐标,分别表示x和y的坐标。key 该变量是整型类型的,表示按下的键盘的键值,本程序中可以获取的值有0x4b00(LEFT) 、0x4d00(RIGHT)、0x5000(DOWN)、0x4800(UP)、0x011b(ESC)和0x3920(SPACE)。flag 该变量也是整型类型的,用以表示是哪个玩家。flag为1是表示Player1,为2时则表示Player2.3.3.3坐标位置偏移坐标位置偏移主要是用于函数DrawBoard()和函数DrawCircle()中。这里定义了OFFEST_x(大小是4)、OFFSET_y(大小是3)和OFFSET(大小是20)3个偏移量,分别表示x、y坐标偏移和放大倍数。3.4核心代码的分析该程序中的精髓是main()函数void main()void DrawBoard();/*画棋盘*/ void DrawCircle(int x,int y,int color);/*画棋子*/ void Alternation(); void JudgePlayer(int x,int y);/*判断行棋方*/ void Done();/*控制下棋的函数*/ int ResultCheck(int x,int y); void Welcome();/*表示欢迎信息的函数*/ void ShowMessage();int gdriver; int gmode; clrscr(); Welcome(); gdriver=DETECT; gmode=0; initgraph(&gdriver,&gmode,); player=1; DrawBoard(); ShowMessage(); do step_x=0 ; step_y=0 ; JudgePlayer(step_x-1,step_y-1); do while(bioskey(1)=0); key=bioskey(0); Done(); while(key!=SPACE&key!=ESC); while(key!=ESC); closegraph();4.程序实现4.1程序结果的展示4.1.1.欢迎界面4.1.2游戏开始界面4.1.3. 行棋时的界面4.1.4. 胜利界面结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三单元 课外古诗词诵读 龟虽寿 公开课一等奖创新教学设计-【课堂无忧】新课标同步核心素养课堂
- 遥感应用模型构建-洞察及研究
- 统编版语文三年级上册语文园地四 同步+公开课一等奖创新教学设计+分层练习+学习任务单
- 先天决定论课件
- 内河船员安全培训
- 福清中考估分讲解
- 石材产业园汇报
- 高考网上报名讲解
- 内分泌课件教学课件
- 免疫逃逸与阴囊肿转移关系-洞察及研究
- 赔偿保密协议书范本
- 马工程《艺术学概论》-绪论省公开课一等奖全国示范课微课金奖课件
- 汉服妆造培训课件
- 电能质量控制与安全标准手册
- 2025年自愿放弃房屋经营权协议书模板
- 2024年中国信创产业发展白皮书(精简版)
- 人教版七年级有理数加减混合运算题集锦
- 护理专科建设与发展
- 急性脑卒中课件
- 《有理数加减法的混合运算-添括号》教学课件
- 质量承诺保证保函
评论
0/150
提交评论