五子棋游戏九个点能不能超过?

求五子棋C源代码_百度知道
求五子棋C源代码
请高手帮忙写一个五子棋的C源代码,急!!!!不要网上复制的
提问者采纳
  这个是稍微好一点的了,以前没事试过  /*  五子棋  */  #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 box[N][N];  int step_x,step_    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()  {    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')    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++)  box[x1][y1]=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()  {      switch(key)  {  case LEFT :  if(step_x-1&0)    else  {  for(i=step_x-1,j=step_y;i&=1;i--)  if(box[i][j]==0)  {  draw_circle(step_x,step_y,LIGHTBLUE);    }  if(i&1)  step_x=  judgewho(step_x,step_y);    }  case RIGHT :  if(step_x+1&18)    else  {  for(i=step_x+1,j=step_y;i&=18;i++)  if(box[i][j]==0)  {  draw_circle(step_x,step_y,LIGHTBLUE);    }  if(i&18)  step_x=  judgewho(step_x,step_y);    }  case DOWN :  if((step_y+1)&18)    else  {  for(i=step_x,j=step_y+1;j&=18;j++)  if(box[i][j]==0)  {  draw_circle(step_x,step_y,LIGHTBLUE);    }  if(j&18)  step_y=  judgewho(step_x,step_y);    }  case UP :  if((step_y-1)&0)    else  {  for(i=step_x,j=step_y-1;j&=1;j--)  if(box[i][j]==0)  {  draw_circle(step_x,step_y,LIGHTBLUE);    }  if(j&1)  step_y=  judgewho(step_x,step_y);    }  case ESC :    case SPACE :  if(step_x&=1&&step_x&=18&&step_y&=1&&step_y&=18)  {  if(box[step_x][step_y]==0)  {  box[step_x][step_y]=  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();    }  }  else    }  }  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(box[j][k]==flag)  n1++;  else    }  /*水平向右数*/  for(j=x,k=y;j&=18;j++)  {  if(box[j][k]==flag)  n2++;  else    }  if(n1+n2-1&=5)  {  return(1);    }  /*垂直向上数*/  n1=0 ;  n2=0 ;  for(j=x,k=y;k&=1;k--)  {  if(box[j][k]==flag)  n1++;  else    }  /*垂直向下数*/  for(j=x,k=y;k&=18;k++)  {  if(box[j][k]==flag)  n2++;  else    }  if(n1+n2-1&=5)  {  return(1);    }  /*向左上方数*/  n1=0 ;  n2=0 ;  for(j=x,k=y;j&=1,k&=1;j--,k--)  {  if(box[j][k]==flag)  n1++;  else    }  /*向右下方数*/  for(j=x,k=y;j&=18,k&=18;j++,k++)  {  if(box[j][k]==flag)  n2++;  else    }  if(n1+n2-1&=5)  {  return(1);    }  /*向右上方数*/  n1=0 ;  n2=0 ;  for(j=x,k=y;j&=18,k&=1;j++,k--)  {  if(box[j][k]==flag)  n1++;  else    }  /*向左下方数*/  for(j=x,k=y;j&=1,k&=18;j--,k++)  {  if(box[j][k]==flag)  n2++;  else    }  if(n1+n2-1&=5)  {  return(1);    }  return(0);    }  }  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条回答
【五子棋简介】
五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。
五子棋容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
传统五子棋:
传统五子棋的棋子分为黑白两色,采用围棋棋盘,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。
因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。
五子棋,日文亦有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为“FIR (Five In A Row的缩写)、Gomoku(日语“五目”的...
您可能关注的推广
五子棋的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁五子棋、围棋、飞行器规则以及妙诀,简单就采纳,谢谢啦!_百度知道
五子棋、围棋、飞行器规则以及妙诀,简单就采纳,谢谢啦!
越简单越好,但不要不说清楚,谢谢
我有更好的答案
五子棋则不然,速度最快,十几分钟,甚至几分钟便是一盘,既有象棋的短兵相接,又有围棋的地与势的转换,既有大砍大杀、雷霆万钧的进攻,又有绵里藏针,以至柔化至刚的防守,不经意间一剑封喉,非常过瘾。因为变化相对较少,要想立于不败之地,必须有极精确的计算能力以及超强的想象力,非常符合现代人的生活节奏和高度紧张的生活环境。并且五子棋是最灵活的棋类游戏,一子置于盘中,上下左右皆通,棋诀云:“一子输赢”,一着不慎,马上全盘皆输,连翻盘的机会都没有,要求对弈者全神贯注,不能有丝毫马虎,能锻炼人养成集中注意力的好习惯,形成严谨的思维。
围棋的棋盘共有361个(19*19)交叉点。为了便于识别棋子的位置,棋盘上划上九个点&.&,这九个点叫做“星”。正中的“星”又叫“天元”。在各个“星”的...
可以简单一点吗,我知道是网上抄的,帮我简单化一点
姐姐,飞行棋很多种,我的是简化了的,五子棋就要看自己,我喜欢走日字形,不容易被抓,围棋呢尽量不要走天蓬,其他的我也不知道怎么总结了,如果想玩好还是建议先钻研一个棋下
其他类似问题
为您推荐:
五子棋的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎么帖被删了,说好的谁输了谁爆罩_五子棋吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:24,624贴子:
怎么帖被删了,说好的谁输了谁爆罩
怎么输了就删帖了,能不能有点信用啊
淼星。我发帖了。看看。...
俺就是佛,要是恁路遇老...
帖子好像被删了…打底裤...
一楼不给看
首先当然是我的录取通知...
还有没有人
请问各位大吧,医生乱开...
一三班那个傻逼 我是没...
希望各路大神罩着点。
最终决定的复读来了铜梁...
我帮妹妹找个对象,忽然...
不是赌衣服吗,怎么变成赌爆罩了
内&&容:使用签名档&&
保存至快速回贴
为兴趣而生,贴吧更懂你。&或五子棋入门_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
五子棋入门
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 五子棋 的文章

 

随机推荐