手机分类
  导航: 电脑时代在线 · 程序设计 · C语言 · C语言游戏编程
有问题吗?看 疑难解答 电脑术语

2人五子棋游戏(1)

 
硬件盘点
手机推荐
 
『2人五子棋游戏(1)』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-8-1 
这是一个五子棋程序,写了好久了,一直也没时间去改。人机大战部分需要重新生成,因为算法太简单了,所没有做好。大家可以自由修改,如果改好了,最好能发一份给我了。

运行环境:DOS,不需要汉字系统,首先要运行鼠标驱动程序,HZK16汉字库

以下是源程序:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<dos.h>
#include<graphics.h>
union REGS regs;
void inigraph();
void pushbutt();
void popbutt();
void mixbar();
void closebar();
void maxbar();
void stbar();
void menubar();
void cwin();
int inimouse();
int readmouse();
void closemouse();
void openmouse();
int mousemove();
void closewindow();
void startmenu();
int messbox();
int inputbox();
int passbox();
void strout();
void helpwin();
void writebut();
void checkbut();
void fillwhite();
void fillblack();
void computer();
void clearboard();
int getkey();
int scanchess();
int boundcheck();
int boundans();
int carrayx[24];
int carrayy[24];
int userb[24][24][4];
int machb[24][24][4];
int xmin=0,xmax=639,ymin=0,ymax=479,mbutt,mstat=0;
int mmx,mmy; /* machine X,Y */
int winstatus[20][4];
int curwin,gameflag=1;
int finish=0;
int player1=0,player2=0,compt=0;
int p1but=1,p2but=0,combut=0,pbut=1;
int mcol=15,ucol=14;
FILE *fp;
main()
{  int x,y,i,mx,my,mkey,exitst=0;
   int newx,newy,mbutt,row,lnewx=0,lnewy=0,de;
   int driver=DETECT,mode;
  inigraph(DETECT);
   if((fp=fopen("hzk16","rb"))==0)
    {
      printf("Can not open the file\n");
      exit(1);
    }
    setpalette(8,0 );
   setpalette(12,17);
   setpalette(14,0);
   setbkcolor(12);
   if(inimouse(xmin,xmax,ymin,ymax)==0)
     {
       printf("Mouse or Mouse Driver Not install!\n");
       exit(1);
     }
   startmenu();
  for(row=0;row<24;++row){      /* init coodinate */
   carrayx[row]=136+row*16;
   carrayy[row]=56+row*16;
   }
   menubar(0,0,639,16,BLUE);
   strout(3,1,WH99vE,"欢乐五子棋");
   popbutt(15,85,80,210,GREEN,3);
   popbutt(545,85,80,210,GREEN,3);
   writebut();
   clearboard(); /* 清除棋板 */
   pushbutt(560,230,50,18,7,1);
   strout(561,231,8,"玩家一");
   popbutt(560,260,50,18,7,1);
   strout(561,261,8,"玩家二");
   pushbutt(20,90,70,18,7,1);
   strout(24,91,8,"两人对战");
while(1){
   int ustatus[4]={0,0,0,0};
   int mstatus[4]={0,0,0,0};
   int x,y,i,uline,mline,curx,cury;
     if(finish==1){
        openmouse();  /* 打开鼠标 */
        readmouse(&newx,&newy,&mbutt); /* 读当前鼠标位置 */
        checkbut(newx,newy,mbutt);
        continue;
        }
     for(y=0;y<24;++y)
      for(x=0;x<24;++x)
  for(i=0;i<4;++i){
  userb[y][x][i]=0;
  machb[y][x][i]=0;
  }
 
     openmouse();  /* display cursor */
     readmouse(&newx,&newy,&mbutt);
     if(mbutt==2)
  

[1] [2] [3] [4] [5] [6] [7] [8] 下一页  


如果您有什么疑问,可以至论坛提出或者解答他人的疑问   返回页面顶部

】【关闭窗口
·上一篇教程:
·下一篇教程:
·导航: 电脑时代在线 · 程序设计 · C语言 · C语言游戏编程
相关文章
 
搞笑自拍|图片故事|美女图库|体坛宝贝|明星爆料|世界奇观|风光摄影|历史回忆|大千世界
Photshop超炫图片
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部  
网站文本地图
  版权所有:电脑时代在线 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2007 www.PCvz.com online services. all rights reserved. 蜀ICP备05015578
Template designed by LaoJiang. Optimized for 1024x768 to Firefox,Opera and MS-IE. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光