五子棋游戏开发总结C语言版.doc

上传人:豆**** 文档编号:17469285 上传时间:2022-05-24 格式:DOC 页数:8 大小:157.50KB
返回 下载 相关 举报
五子棋游戏开发总结C语言版.doc_第1页
第1页 / 共8页
五子棋游戏开发总结C语言版.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《五子棋游戏开发总结C语言版.doc》由会员分享,可在线阅读,更多相关《五子棋游戏开发总结C语言版.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流五子棋游戏开发总结C语言版.精品文档.五子棋游戏开发总结一 五子棋游戏概述略二 游戏功能对弈游戏,自动判断游戏胜负。采用人机对话模式,界面设计美观友好。具体玩法:采用任意键开始游戏,此处采用键盘值W、A、S、D控制棋子移动方向,空格键(SPACE)落子,ESC退出游戏。三 系统开发平台1) Visual C+ 单纯的Visual C+ 不行,需下载一个EasyX小插件对其进行配置好才可(网上有下的,也有配置方法)。2) 程序代码必须以.cpp结尾。3) 最佳分辨率:最佳效果1024*768。四 游戏开发详细过程:五 游戏的完整详细代码:#in

2、clude #include /图形库#include #include #include /宏定义#define ESC 27 /退出 #define SPACE 32 #define LEFT 65 /向左键#define RIGHT 68#define UP 87#define DOWN 83int key; int chess2020; /棋盘坐标位置int flag=1;/标识要画的棋子的颜色flag=1,棋子为蓝色;其他为红色。int chessx,chessy; void start();void draw_chessboard();void draw_circle(int x,

3、int y,int color);void play(); int result(int x,int y);/开始游戏void start() outtextxy(200,240,GAME START!); outtextxy(200,380,ESC-exit/press any key to continue );/画棋盘void draw_chessboard() int i,j; setbkcolor(GREEN);/设置背景颜色为绿色 cleardevice();/清屏 for(i=40;i=440;i+=20) for(j=40;j=440;j+) putpixel(i,j,4);

4、putpixel(j,i,4); setcolor(8); setlinestyle(1,0,1); rectangle(32,32,448,448); outtextxy(10,10,ESC-exit/SPACE-put a piece);/画棋子void draw_circle(int x,int y,int color) setcolor(color); setlinestyle(1,0,10); x=(x+2)*20; y=(y+2)*20; circle(x,y,4);/清除棋子void draw_pixel(int x,int y,int color) x=(x+2)*20; y=

5、(y+2)*20; int a,b,c,d; for(a=1;a=1;b-) putpixel(x,y-b,color); for(c=1;c=1;d-) putpixel(x-d,y,color); putpixel(x+9,y,color); putpixel(x,y-9,color); putpixel(x,y+9,color); putpixel(x-9,y,color);/游戏过程void play() int i,j; switch(key) case LEFT:/棋子左移 if(chessx-1=1;i-) if(chessij=0) draw_circle(chessx,che

6、ssy,GREEN); draw_pixel(chessx,chessy,8); break; if(i19) break; else for(i=chessx+1,j=chessy;i19) break; chessx=i; if(flag=1) draw_circle(chessx,chessy,BLUE); else draw_circle(chessx,chessy,RED); break; case DOWN:/棋子下移 if(chessy+1)19) break; else for(i=chessx,j=chessy+1;j19) break; chessx=i; if(flag=

7、1) draw_circle(chessx,chessy,BLUE); else draw_circle(chessx,chessy,RED); break; case UP:/棋子上移 if(chessy-1)=1;j-) if(chessij=0) draw_circle(chessx,chessy,GREEN); draw_pixel(chessx,chessy,8); break; if(j=1&chessy=19&chessx=1) if(chesschessxchessy=0) chesschessxchessy=flag; if(result(chessx,chessy)=1)

8、cleardevice(); if(flag=1) cleardevice(); outtextxy(80,200,CONGRATIONATIONS,BLUE WIN !); getch(); closegraph(); exit(0); if(flag=2) cleardevice(); outtextxy(80,200,CONGRATIONATIONS,RED WIN !); getch(); closegraph(); exit(0); if(flag=1) flag=2; else flag=1; break; else break;/判断胜负int result(int x,int

9、y) int j,k,n1,n2; while(1) n1=0; n2=0; for(j=x,k=y;j=1&k=1;j-,k-) if(chessjk=flag) n1+; else break; for(j=x,k=y;j=19&k=5) return(1); n1=0; n2=0; for(j=x,k=y;j=1;j+,k-) if(chessjk=flag) n1+; else break; for(j=x,k=y;j=1&k=5) return(1); n1=0; n2=0; for(j=x,k=y;j=1;j-) if(chessjk=flag) n1+; else break;

10、for(j=x,k=y;j=5) return(1); n1=0; n2=0; for(j=x,k=y;k=1;k-) if(chessjk=flag) n1+; else break; for(j=x,k=y;k=5) return(1); return (0);/主函数int main(void) initgraph(620,480); start(); key=getch(); if(key=ESC) exit(0); else cleardevice(); flag=1; draw_chessboard(); do chessx=10; chessy=10; if(flag=1) draw_circle(chessx,chessy,BLUE); else draw_circle(chessx,chessy,RED); do while(getch()=0); key=getch(); play(); while(key!=ESC&key!=SPACE); while(key!=ESC); closegraph(); return 0;作者:flybird时间:2012/08/18

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁