欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    vc++象棋程序设计正文.doc

    • 资源ID:100934       资源大小:216KB        全文页数:30页
    • 资源格式: DOC        下载积分:5积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    vc++象棋程序设计正文.doc

    中国象棋游戏实验报告第1页共30页计算机学院20034级程序设计高级实验C大型作业报告题目:中国象棋系统双人对下游戏程序。人员:谢剑(学号:3035211133班级:计算机20034班)俞雪永(学号:3035211138班级:计算机20034班)谭书舟(学号:3035211128班级:计算机20034班)金必培(学号:3035211119班级:计算机20034班)贺军(学号:3035211118班级:计算机20034班)联系电话:1377787623113634111565E-mail:xiaohui5551sina.comyuxueyong2004163.com任课教师:王云武报告递交日期:2004年12月16日中国象棋游戏实验报告第2页共30页一系统功能说明本游戏程序为中国象棋双人对下,只要有一方的将(帅)被对方吃掉后系统自动判断输赢,并显示Blackiswinningthegame或(Rediswinningthegame)。在走棋过程中,系统自动提示红(黑)方走。如果有一方想放弃本局,就可以点击象棋框右边的退出框。如果一局结束后想继续走,则只要用鼠标点击右边的开始框,则进行新一局游戏(具体游戏界面见附录二)。二使用说明(1)本程序所使用库函数说明include<stdio.h>stdio.h中的基本函数;include<process.h>process.h中的exit(0)函数;include<dos.h>dos.h中相关鼠标操作设置;include<math.h>math.h中的fabs()函数;include<conio.h>include<graphics.h>graphics.h中的setcolor(),setfillstyle(),line(),moveto(),floodfill(),circle(),rectange()等函数;(2)程序使用说明鼠标点击棋子一下(棋子外圈变红色),则可以移动当前的棋子;鼠标点击两下(棋子外圈变白色),则取消当前所选的棋子。三程序结构1程序结构说明见中国象棋流程图(附录一)。2重要数据的说明见附录二棋子半径R=17,棋盘框窗口(60,50,380,410),操作者框窗口(460,40,570,90),开始框窗口(460,110,570,160),退出框窗口(460,180,570,230),游戏说明框窗口(460,240,570,410)。3程序函数清单(1)自己所编的小型汉字库voidget_hz(inthanzi,unsignedcharbur);(2)显示汉字voidprint_hz(unsignedchar*mat,intcolor,intx,inty);(3)画棋子voiddrawQizi(structmouse*mouse1,intcolor);(4)初始化游戏(显示游戏棋盘包括操作、开始、退出、游戏说明框,中国象棋游戏实验报告第3页共30页棋子)voidshowQiPan();(5)鼠标初始化voidinitmouse();(6)初始鼠标位置voidcursttoxy(intx,inty);(7)显示开始框showKSK(intcolor);(8)显示退出框showTCK(intcolor);(9)显示说明框showSMK(intcolor);(10)显示操作框showCZK(intcolor);(11)取消当前鼠标位置voidcancelMouse(intx,inty);(12)显示鼠标位置voidshowMouse(intx,inty);(13)读取当前鼠标位置voidreadmouse(int*bottom,int*mousex,int*mousey);(14)判断各个棋子的步法intjudgestepright(structmouse*mouse0,structmouse*mouse1,inta109);(15)是否退出游戏intisoutgame(intmousex,intmousey);(16)是否存在棋子intisexistQi(structmouse*mouse,inta109,intnumber);(17)是否开始游戏intbegingame(intmousex,intmousey);(18)判断输赢intcheckwin(inttemp);(19)是否要取消当前要移动的起子intiscancelQizi(structmouse*mouse0,structmouse*mouse1)(20)改变棋子voidchangeQizi(structmouse*mouse0,structmouse*mouse1);(21)改变棋子边框颜色voidchangecolor(structmouse*mouse0);(22)游戏界面初始化voidnewGame();(23)结束游戏voidGameOver();中国象棋游戏实验报告第4页共30页四系统设计难点及其解决方法(1)由于本游戏是在TC下运行的,而TC不能直接输出汉字,则在游戏界面上的汉字输出有一定的问题。在本程序中,故我们采用自行设计16×16的点阵的汉字模型,采用汉字显示原理在TC中进行输出。(2)由于本程序采用鼠标操作,则在鼠标移动的同时,必须同时消隐原位置的鼠标图案,并且重新附上鼠标处原游戏界面图案。由于鼠标移动的不确定性,从而使鼠标位置的原游戏界面图案较复杂。本程序中采用的解决方法是:为鼠标静态申请相应大小的空间用以存储鼠标位置的原背景图案,当鼠标移动时,先在鼠标原位置附上所保存的图案,接着在新位置显示鼠标,从而使鼠标实现移动。(3)由于棋子是动态移动,则同鼠标一样必须实现棋子的显示与消隐,但棋盘的边框线条较复杂。若采用(2)中鼠标消隐原理,则将要消耗很多空间。例如:为每个棋子申请相应大小的空间用以保存背景图案,则空间大小为:32×34×34×2=73984(B)=72.25(KB),从而可以看出所需空间较大。考虑到该方法与本程序的不兼容性及消耗空间较大,本程序采用每次移动棋子时,棋盘画面刷新一次的方法来实现棋子的消隐,但这也导致了棋盘画面由于刷新而不稳定的后果。(4)象棋游戏程序中的步法正确性的判断是较复杂的,因为各个棋子的规则较复杂,考虑的情况较多。本游戏采用a109数组与棋盘的10行9列棋格一一相对应的方法来判断棋子从mouse0移到mouse1处的正确性(mouse0与mouse1是存储棋子相应的行列坐标的结构)。五不足之处(1)正如上面(3)所述:由于采用刷新方法来实现棋子的消隐,而导致了棋盘界面的不稳定,这是本游戏程序较大的不足,若采用棋盘棋子分块描绘的方法,则在移动棋子时,只能改变局部棋盘或棋子,从而能实现棋盘的稳定显示,但此方法与我们所编的程序的实现在本质上的区别,故我们未采用。六人员分工说明谢剑(组长):流程图的设计,大部分的程序都是谢剑编的,包括最后程序的连接与调试。最后实验报告有俞雪永与谢剑所完成。俞雪永:设计了游戏界面(附录二)及界面程序,画鼠标及程序。谭书舟、金必培、贺军:汉字模型的设计、描绘及数据统计和部分鼠标相关函数。七源程序见附录三

    注意事项

    本文(vc++象棋程序设计正文.doc)为本站会员(网****)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!