ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:20.15KB ,
资源ID:22551374      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22551374.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于EGE图形库五子棋游戏实验报告Word下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于EGE图形库五子棋游戏实验报告Word下载.docx

1、2. 初步学习和使用图形库;3. 通过编写一个完整的程序,一方面可以检查我们这学期的学习情况,为以后 的学习打下坚实的基础;4. 初步了解C语言游戏编程,在此次程序设计过程中掌握五子棋游戏开发的基本原理,从而为以后的程序开发奠定基础1.3 课程设计的要求1. 编写程序代码,调试所写程序使其能够正确运行;2能进行基本的五子棋操作,有图形界面,能够用鼠标操作; 3. 能够实现玩家对战与人机对战。1.4 课程设计的开发环境Win10操作系统下的软件开发工具Code:Blocks与Visual Studio 2017 ,使用EGE图形库进行开发。2 功能描述2.1 初始界面1. 设计了缤纷绚丽的初始界

2、面,充分的吸引的玩家的眼球,激发玩家的游玩欲望;2. 运行程序经过“EGE”启动动画后进入首页,玩家在菜单栏中通过鼠标选择进入“人机对抗”与“玩家对战”游戏模式;3. 选择一个模式后切换至相应游戏界面,根据提示信息开始游戏;4. 色彩分明的菜单栏与大小适中的选项框的设计,再结合鼠标操控,玩家使用起来方便快捷;5. 在右下角表明了班级与姓名,方便程序的交流。2.2 人机对战1. 应用来源于网络上“关于五子棋的人机博弈算法”中最出名同时也是应用最广泛的“flat技术”“打分机制”“棋型判断和禁手判断”和“AI算法”,根据设计者说明的引导,将算法移植了进来,使得电脑方具有相当的智慧;2. 游戏界面的

3、棋盘旁边设计有“棋子计数板”,方便玩家结合以考虑棋盘上的形势;3. 游戏界面使用木色为背景,让玩家操作起来更具真实感;4. 当有一方胜出后,会在游戏界面底部分别显示“恭喜您取得了胜利!”与“您输了!请再接再厉!”来提醒玩家游戏结束;5. 当游戏结束后,玩家可以点击“返回首页”以返回主菜单来继续下面的游戏。2.3 玩家对战1. 进入游戏界面后显示提示信息“您已进入玩家对战 白方先手 请落子以开始游戏”;2. 使用鼠标轮流落点,操作简单方便;3. 左上角显示“模式:玩家对面”,提醒玩家当前模式信息;4. 和 人机对抗 一样具有“计数板”、“游戏输赢提醒”和“返回首页”等功能,在此不再赘述。3 程序

4、实现3.1界面设计1.首页界面界面包括几个窗体,第一个窗体是首页,首页使用EGE的图形绘制功能绘制了一系列填充了不同鲜艳颜色的长方形,包括游戏标题栏,模式菜单栏,游戏模式选择框以及备注框;使用EGE中的文字打印功能显示出游戏标题,模式选项,装饰语言以及作者信息;并结合EGE中获取鼠标点击的坐标信息的函数设计了模式选择函数,是用户可以通过点击界面上的选项区域来进入与之相应的游戏模式,操作简单方便。此部分主要通过void ShouYe()函数与void moshixuanze()函数实现,下面是这两个函数的代码与相应注释。void ShouYe()/首页界面 whitewin=0; blackwi

5、n=0; memset(placeblack,0,sizeof(placeblack); memset(placewhite,0,sizeof(placewhite); xuanze1=0; xuanze2=0; initgraph(800,600);/初始化画幅 setbkcolor(EGERGB(0xEE, 0x82, 0xEE);/设置背景颜色 setfillcolor(EGERGB(0xAD, 0xFF, 0x2F);/标题栏 bar(0, 0, 800,150); setcolor(EGERGB(255, 69, 0);/文字颜色 setbkmode(TRANSPARENT);/文字

6、填充透明化 setfont(100, 43, 华文琥珀);/(字体高度,字体宽度(为0即为自适应),字形),幼圆字体 outtextxy(15, 20, 寒假作业:五子棋/在坐标为 (10,20) 显示“寒假作业:五子棋” /设置装饰文字 setcolor(EGERGB(0, 255, 255);/蓝 setfont(100, 0, 华文行楷 rectprintf(50,200,150,500,休nn闲 setcolor(EGERGB(0, 255, 0);/绿 rectprintf(650,200,750,500,益nn智 /设置菜单栏 setfillcolor(EGERGB(0x80, 0

7、x80, 0x80); bar(200,150,600,600); setcolor(EGERGB(0xFF, 0xFF, 0x00);/金色 setfont(35, 0, 隶书 outtextxy(225,155,请点击以选择游戏模式 /第一个选择框 setfillcolor(EGERGB(139, 0, 139); bar(250, 250, 550,350); setcolor(EGERGB(255, 255, 0); setfont(70, 0, rectprintf(260, 260, 550,350,人机对抗 /第二个选择框 setfillcolor(EGERGB(255, 0,

8、0); bar(250, 400, 550,500); setcolor(EGERGB(0, 191, 255); rectprintf(260, 410, 550,500,玩家对战 /备注栏 setfillcolor(EGERGB(235, 206, 250); bar(300, 550, 800,600); setcolor(EGERGB(0, 0, 0); setfont(40, 0, 方正舒体 rectprintf(300,550,800,600,2018届电信卓越班 王悦天void moshixuanze()/鼠标选择菜单 /用鼠标选择 for ( ; is_run(); delay

9、_fps(60) while (mousemsg() msg = getmouse(); if(msg.is_left()&msg.x=250&msg.x=550&msg.y=250) cleardevice(); xuanze1=1; break; =400&=500) xuanze1=2; if(xuanze1=1) PVC(); else if(xuanze1=2) PVP();2. 棋盘绘制使用EGE中的图形绘制函数,结合C+里的for循环函数,用直线绘制棋盘。直线是由端点绘制的,每个点都有坐标,通过循环改变每次的端点坐标,从而绘制出15*15的棋盘,代码如下setbkcolor(EG

10、ERGB(222, 184, 135); setcolor(BLACK); for(int i=60;i510;i+=30) line(i,60,i,480); for(int j=60;j=hismaxscore,则进攻,下我方形势最大值mymaxscore对应的位置;如果有多个mymaxscore相等,则下这几个对应位置上hismaxscore最大的位置。否则,防守,下敌方形势最大值hismaxscore对应的位置。如果有多个hismaxscore相等,则下这几个对应位置上mymaxscore最大的位置。2、打分方法(1)在棋盘空位置上预添加要判断放的棋子(2)取出以空位置为中心的4个方向

11、(上,下,左,右),每个方向以该位置为中心两边各取4个格子信息。(3)四个方向都判断其棋型,是否连五,活四,冲四,活三,眠三,活二,眠二等中的一种(4)最后综合四个方向的棋型,对该位置进行打分。使用网络上经典的打分机制进行计算,下面为打分机制的简单介绍;各棋型实际分数与相应代码实现应篇幅过长且网络上多见,并非此次编程的重点,所以此处省略相应展示。4 软件展望因本人编程水平限制与假期时间有限,程序中存在一些漏洞,同时也有一些想实现而未完善的功能,特在此列出;1.人机对战中默认为电脑先手,希望可以增加先手选择的功能;2.首页界面未设置直接退出的选项;3. 游戏不可中途暂停,也不能断点存档续接,等待

12、进一步的完善;4.在游戏过程中点击返回首页选项无效;5. 对局中未设置悔棋功能;6. 输赢信息希望可以设计为弹窗弹出;7.对局中未考虑禁手规则。5 收获心得对于本次的假期作业的课程设计,我有着很深的体会,历时20天的思考、学习与写代码,从初次接触图形库到应用它做出一个有模有样的小程序,我收获颇多,可以说是满载而归。首先我要感谢我的C语言程序设计的代课老师,正是因为他布置的此次意义非凡的寒假作业,我才能有机会接触到这么多有用的知识,他讲课的方式很不一样,使得我每次上他的课都格外的认真。他总是给我们仔细的讲解各个知识点,然后给我们提供其他的练习题,让我们下了课以后有目的的自己学习。还要感谢那些把程序的设计思路与代码放在网上的各个前辈,正是有他们的指引,我才能一步步探索和完成此次作业。此次作业也让我了解到游戏编程的困难与不易,让我对广大程序员又多了一层敬意。当然,这也激发我拼搏向上与努力奋斗的信念,我不懂的知识仍然浩如烟海,我需要脚踏实地,步步为营地继续攀登!总之,感谢那些在我成长路上帮助我的所有人们!我将继续努力,奋勇向前!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1