当前位置:首页>> >>


中国象棋.rar

收藏

资源目录
    文档预览:
    编号:20181030003518312    类型:共享资源    大小:29.80MB    格式:RAR    上传时间:2018-10-30
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    45
    金币
    关 键 词:
    中国象棋
    资源描述:
    JISHOU UNIVERSITY程 序 设 计 基 础课 程 设 计题 目: 中国象棋作 者: 张文倩学 号: 2017401316所属学院: 软件学院专业年级: 软件工程 2017 级 4 班指导教师: 宋旭东完成时间: 2017 年 6 月 20 日—2017 年 6 月 29 日软件学院制项目描述目的: 中国象棋是起源于中国的一种棋戏,属于二人对抗性游戏的一种,在中国有着悠久的历史。由于用具简单,趣味性强,成为流行极为广泛的棋艺活动。 中国象棋是中国棋文化也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规则简明易懂,千百年来长盛不衰。中国象棋是模拟的古代战争、直线战争、陆地战争、平面战争。在中国古代,象棋被列为士大夫们的修身之艺。现在,则被视为是怡神益智的一种有益身心的活动。象棋集文化、科学、艺术、竞技于一身,不但可以开发智力,启迪思维,锻炼辨证分析能力和培养顽强的意志,而且可以修心养性,陶冶情操,丰富文化生活,深受广大群众的喜爱。古今中外男女老少皆宜,由于用具简单,趣味性强,大街小巷常常可见纹枰对弈的中国象棋爱好者。 为了让人们陶冶情操,发扬中国传统文化,也为了更方便的找到棋友,更加轻松的开始下棋,中国象棋应运而生。 项目功能目标棋子的行走:将 c++和 EGE 图形库结合,同时设有背景音乐,背景要美观,鼠标在不同选项时该选项会变化,提高了用户体验。EGE 承载帮助拓展文档,建立了两个子系统。开始游戏页面进入后即可开始游戏。在该页面会显示本地时间,同时会根据游戏规则在右方提示 落子规则,。每次落子还会有音效。界面下方还有悔棋,返回主页重新开始等功能。游戏结束后,输入用户名,存入数据系统主要流程代码2017401316-张文 倩 -中 国 象 棋 -代 码 .docx核心代码:主页面排行榜游戏页面返回主页重新开始悔棋 游戏结束,输入用户名,存档//开始对弈void playGame(){putimage(0,0,gameimg[28]);start=clock();setcolor(GREEN);//字体颜色ege::setbkmode(TRANSPARENT);//将字体所带框变透明ege::setfont(25,0,“华文行楷“);//更改字体char s[2][100]= {“选定旗子“,“落子“,};int x1,x2,y1,y2;int flag1=0;//当 flag1=0 时选定棋子,当 flag1=1 时落子,当 flag=2 时悔棋mouse_msg msg1,msg2;//变量声明,msg1 为开始棋子位置, msg2 为目标位置for(; is_run(); delay_fps(50)){putimage(0,0,gameimg[28]);showmap();//每次打印地图 //打印时间//悔棋,重新开始,返回游戏图片char str[2][100]= {“红棋“,“黑棋“};//打印此时是谁下棋if(flag==0){outtextxy(600,50,str[flag]);}else{outtextxy(600,50,str[flag]);}putimage(0,610, gameimg[23]);char timetext[50];//定义一个数组存储时间getSystemTime(timetext);//调用时间获取函数ege::outtextxy(560,5,timetext);//在(600,10)的位置显示时间//int time=(int)(end1-start)/CLOCKS_PER_SEC;//char t[100];//sprintf(t,“%d“,time);// ege::outtextxy(620,50,t);//在(620,50)的位置此时玩家停留时间//当游戏时间超过 60S 游戏结束//if(time>60)// gameover=1;//游戏结束if(gameover==1){end1=clock();putimage(160,180,gameimg[18]);Sleep(1000);char str[100];inputbox_getline(“输入用户名“,“请随便\n 输入一串字符,输入完请回车“,str,sizeof(str)/sizeof(*str));saveGame(timetext,str);over();return ;}while(mousemsg()){//选定悔棋if(msg1.x>=10return ;}if(flag1==0){msg1=getmouse();x1=(msg1.x-20)/60;//鼠标点击位置的 x 值y1=(msg1.y-20)/60;//鼠标点击位置的 y 值}if(checkStart(x1,y1)//mciSendString(“open music\\a.mp3 alias a“, NULL, 0, NULL);//mciSendString(“play a“, NULL, 0, NULL);//存储悔棋位置k.x1=x1;k.y1=y1;k.a=map1[y1][x1];outtextxy(600,100,s[flag1]);Sleep(300);flag1=1;}music=0;}if(flag1==1){msg2 = getmouse();x2=(msg2.x-20)/60;//鼠标点击位置的 x 值y2=(msg2.y-20)/60;//鼠标点击位置的 y 值if(checkTarget(x2,y2,x1,y1)//存储悔棋位置k.x2=x2;k.y2=y2;k.b=map1[y2][x2];outtextxy(600,100,s[flag1]);Sleep(200);chessPiece(x1,y1,x2,y2);flag1=0;}music=0;}}}return ;}总结:这次为期十天的课设让我成长了许多,从什么也不会,到我的游戏慢慢成形,中间经历了许多。写象棋棋子的行走规则时,知道怎么写,却不会去实现,实现的过程中也出现了许多的 bug,改 bug 的过程非常的痛苦,不知道该如何去动手,但是在老师和同学的帮助下我的代码还是在慢慢的变得完善。当 bug 解决时,那种兴奋时没法形容的。最后感谢我的老师和同学们对我的帮助。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:中国象棋.rar
    链接地址:http://www.gold-doc.com/p-255293.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    [email protected] 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开