欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序源代码_五子棋游戏.doc

    • 资源ID:79329969       资源大小:62.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    C语言程序源代码_五子棋游戏.doc

    /*五子棋*/#include<stdio.h>#include<stdlib.h>#include<graphics.h>#include<bios.h>#include<conio.h>#define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800#define ESC 0x011b #define SPACE 0x3920 #define BILI 20 #define JZ 4 #define JS 3 #define N 19 int boxNN;int step_x,step_y ;int key ;int flag=1 ;void draw_box();void draw_cicle(int x,int y,int color);void change();void judgewho(int x,int y);void judgekey();int judgeresult(int x,int y);void attentoin();void attention() char ch ; window(1,1,80,25); textbackground(LIGHTBLUE); textcolor(YELLOW); clrscr(); gotoxy(15,2); printf("游戏操作规则:"); gotoxy(15,4); printf("Play Rules:"); gotoxy(15,6); printf("1、按左右上下方向键移动棋子"); gotoxy(15,8); printf("1. Press Left,Right,Up,Down Key to move Piece"); gotoxy(15,10); printf("2、按空格确定落棋子"); gotoxy(15,12); printf("2. Press Space to place the Piece"); gotoxy(15,14); printf("3、禁止在棋盘外按空格"); gotoxy(15,16); printf("3. DO NOT press Space outside of the chessboard"); gotoxy(15,18); printf("你是否接受上述的游戏规则(Y/N)"); gotoxy(15,20); printf("Do you accept the above Playing Rules? Y/N:"); while(1) gotoxy(60,20); ch=getche(); if(ch='Y'|ch='y') break ; else if(ch='N'|ch='n') window(1,1,80,25); textbackground(BLACK); textcolor(LIGHTGRAY); clrscr(); exit(0); gotoxy(51,12); printf(" "); void draw_box() int x1,x2,y1,y2 ; setbkcolor(LIGHTBLUE); setcolor(YELLOW); gotoxy(7,2); printf("Left, Right, Up, Down KEY to move, Space to put, ESC-quit."); for(x1=1,y1=1,y2=18;x1<=18;x1+) line(x1+JZ)*BILI,(y1+JS)*BILI,(x1+JZ)*BILI,(y2+JS)*BILI); for(x1=1,y1=1,x2=18;y1<=18;y1+) line(x1+JZ)*BILI,(y1+JS)*BILI,(x2+JZ)*BILI,(y1+JS)*BILI); for(x1=1;x1<=18;x1+) for(y1=1;y1<=18;y1+) boxx1y1=0 ;void draw_circle(int x,int y,int color) setcolor(color); setlinestyle(SOLID_LINE,0,1); x=(x+JZ)*BILI ; y=(y+JS)*BILI ; circle(x,y,8);void judgekey() int i ; int j ; switch(key) case LEFT : if(step_x-1<0) break ; else for(i=step_x-1,j=step_y;i>=1;i-) if(boxij=0) draw_circle(step_x,step_y,LIGHTBLUE); break ; if(i<1)break ; step_x=i ; judgewho(step_x,step_y); break ; case RIGHT : if(step_x+1>18) break ; else for(i=step_x+1,j=step_y;i<=18;i+) if(boxij=0) draw_circle(step_x,step_y,LIGHTBLUE); break ; if(i>18)break ; step_x=i ; judgewho(step_x,step_y); break ; case DOWN : if(step_y+1)>18) break ; else for(i=step_x,j=step_y+1;j<=18;j+) if(boxij=0) draw_circle(step_x,step_y,LIGHTBLUE); break ; if(j>18)break ; step_y=j ; judgewho(step_x,step_y); break ; case UP : if(step_y-1)<0) break ; else for(i=step_x,j=step_y-1;j>=1;j-) if(boxij=0) draw_circle(step_x,step_y,LIGHTBLUE); break ; if(j<1)break ; step_y=j ; judgewho(step_x,step_y); break ; case ESC : break ; case SPACE : if(step_x>=1&&step_x<=18&&step_y>=1&&step_y<=18) if(boxstep_xstep_y=0) boxstep_xstep_y=flag ; if(judgeresult(step_x,step_y)=1) sound(1000); delay(1000); nosound(); gotoxy(30,4); if(flag=1) setbkcolor(BLUE); cleardevice(); setviewport(100,100,540,380,1); /*定义一个图形窗口*/ setfillstyle(1,2); /*绿色以实填充*/ setcolor(YELLOW); rectangle(0,0,439,279); floodfill(50,50,14); setcolor(12); settextstyle(1,0,5); /*三重笔划字体, 水平放?5倍*/ outtextxy(20,20,"The White Win !"); setcolor(15); settextstyle(3,0,5); /*无衬笔划字体, 水平放大5倍*/ outtextxy(120,120,"The White Win !"); setcolor(14); settextstyle(2,0,8); getch(); closegraph(); exit(0); if(flag=2) setbkcolor(BLUE); cleardevice(); setviewport(100,100,540,380,1); /*定义一个图形窗口*/ setfillstyle(1,2); /*绿色以实填充*/ setcolor(YELLOW); rectangle(0,0,439,279); floodfill(50,50,14); setcolor(12); settextstyle(1,0,8); /*三重笔划字体, 水平放大8倍*/ outtextxy(20,20,"The Red Win !"); setcolor(15); settextstyle(3,0,5); /*无衬笔划字体, 水平放大5倍*/ outtextxy(120,120,"The Red Win !"); setcolor(14); settextstyle(2,0,8); getch(); closegraph(); exit(0); change(); break ; else break ; void change() if(flag=1) flag=2 ; else flag=1 ;void judgewho(int x,int y) if(flag=1) draw_circle(x,y,15); if(flag=2) draw_circle(x,y,4);int judgeresult(int x,int y) int j,k,n1,n2 ; while(1) n1=0 ; n2=0 ; /*水平向左数*/ for(j=x,k=y;j>=1;j-) if(boxjk=flag) n1+; else break ; /*水平向右数*/ for(j=x,k=y;j<=18;j+) if(boxjk=flag) n2+; else break ; if(n1+n2-1>=5) return(1); break ; /*垂直向上数*/ n1=0 ; n2=0 ; for(j=x,k=y;k>=1;k-) if(boxjk=flag) n1+; else break ; /*垂直向下数*/ for(j=x,k=y;k<=18;k+) if(boxjk=flag) n2+; else break ; if(n1+n2-1>=5) return(1); break ; /*向左上方数*/ n1=0 ; n2=0 ; for(j=x,k=y;j>=1,k>=1;j-,k-) if(boxjk=flag) n1+; else break ; /*向右下方数*/ for(j=x,k=y;j<=18,k<=18;j+,k+) if(boxjk=flag) n2+; else break ; if(n1+n2-1>=5) return(1); break ; /*向右上方数*/ n1=0 ; n2=0 ; for(j=x,k=y;j<=18,k>=1;j+,k-) if(boxjk=flag) n1+; else break ; /*向左下方数*/ for(j=x,k=y;j>=1,k<=18;j-,k+) if(boxjk=flag) n2+; else break ; if(n1+n2-1>=5) return(1); break ; return(0); break ; void main() int gdriver=VGA,gmode=VGAHI; clrscr(); attention(); initgraph(&gdriver,&gmode,"c:tc"); /* setwritemode(XOR_PUT);*/ flag=1 ; draw_box(); do step_x=0 ; step_y=0 ; /*draw_circle(step_x,step_y,8); */ judgewho(step_x-1,step_y-1); do while(bioskey(1)=0); key=bioskey(0); judgekey(); while(key!=SPACE&&key!=ESC); while(key!=ESC); closegraph();程序要求:1由两个玩家分别下棋,当某一玩家五子相连,则赢。2界面要求:初始状态显示棋盘,并显示两个玩家的操作键及初始玩家号;游戏进行状态动态显示棋盘,不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。

    注意事项

    本文(C语言程序源代码_五子棋游戏.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开