VC++黑白棋 C语言黑白棋

\u6c42c/c++\u7f16\u5199\u7684\u9ed1\u767d\u68cb\u7a0b\u5e8f\u5b8c\u6574\u7248\uff0c\u80fd\u591f\u5728vc6.0\u4e0a\u8fd0\u884c\u7684\uff01\uff01\uff01

\u4f60\u597d\u3002
\u5f88\u5e78\u8fd0\u770b\u5230\u4f60\u7684\u95ee\u9898\u3002
\u4f46\u662f\u53c8\u5f88\u9057\u61be\u5230\u73b0\u5728\u8fd8\u6ca1\u6709\u4eba\u56de\u7b54\u4f60\u7684\u95ee\u9898\u3002\u4e5f\u53ef\u80fd\u4f60\u73b0\u5728\u5df2\u7ecf\u5728\u522b\u7684\u5730\u65b9\u627e\u5230\u4e86\u7b54\u6848\uff0c\u90a3\u5c31\u5f97\u606d\u559c\u4f60\u5566\u3002
\u5bf9\u4e8e\u4f60\u7684\u95ee\u9898\u6211\u7231\u83ab\u80fd\u52a9\uff01
\u53ef\u80fd\u662f\u4f60\u95ee\u7684\u95ee\u9898\u6709\u4e9b\u4e13\u4e1a\u4e86\u3002\u6216\u8005\u522b\u4eba\u6ca1\u6709\u9047\u5230\u6216\u8005\u63a5\u89e6\u8fc7\u4f60\u7684\u95ee\u9898\uff0c\u6240\u4ee5\u5e2e\u4e0d\u4e86\u4f60\u3002\u5efa\u8bae\u4f60\u53bb\u95ee\u9898\u7684\u76f8\u5173\u8bba\u575b\u53bb\u6c42\u52a9\uff0c\u90a3\u91cc\u7684\u4eba\u901a\u5e38\u6bd4\u8f83\u591a\uff0c\u4e5f\u6bd4\u8f83\u70ed\u5fc3\uff0c\u53ef\u80fd\u80fd\u5feb\u70b9\u5e2e\u4f60\u89e3\u51b3\u95ee\u9898\u3002
\u5e0c\u671b\u6211\u7684\u56de\u7b54\u4e5f\u80fd\u591f\u5e2e\u5230\u4f60\uff01
\u5feb\u8fc7\u5e74\u4e86\uff0c
\u6700\u540e\u795d\u60a8\u5168\u5bb6\u5e78\u798f\u5065\u5eb7\u5feb\u4e50\u6bcf\u4e00\u5929\uff01

#include "graphics.h" /*\u56fe\u5f62\u7cfb\u7edf\u5934\u6587\u4ef6*/
#define LEFT 0x4b00 /*\u5149\u6807\u5de6\u952e\u503c*/
#define RIGHT 0x4d00 /*\u5149\u6807\u53f3\u952e\u503c*/
#define DOWN 0x5000 /*\u5149\u6807\u4e0b\u952e\u503c*/
#define UP 0x4800 /*\u5149\u6807\u4e0a\u952e\u503c*/
#define ESC 0x011b /* ESC\u952e\u503c*/
#define ENTER 0x1c0d /* \u56de\u8f66\u952e\u503c*/
int a[8][8]={0},key,score1,score2;/*\u5177\u4f53\u5206\u6570\u4ee5\u53ca\u6309\u952e\u4e0e\u5b58\u653e\u68cb\u5b50\u7684\u53d8\u91cf*/
char playone[3],playtwo[3];/*\u4e24\u4e2a\u4eba\u7684\u5f97\u5206\u8f6c\u6362\u6210\u5b57\u7b26\u4e32\u8f93\u51fa*/
void playtoplay(void);/*\u4eba\u4eba\u5bf9\u6218\u51fd\u6570*/
void DrawQp(void);/*\u753b\u68cb\u76d8\u51fd\u6570*/
void SetPlayColor(int x);/*\u8bbe\u7f6e\u68cb\u5b50\u7b2c\u4e00\u6b21\u7684\u989c\u8272*/
void MoveColor(int x,int y);/*\u6062\u590d\u539f\u6765\u68cb\u76d8\u72b6\u6001*/
int QpChange(int x,int y,int z);/*\u5224\u65ad\u68cb\u76d8\u7684\u53d8\u5316*/
void DoScore(void);/*\u5904\u7406\u5206\u6570*/
void PrintScore(int n);/*\u8f93\u51fa\u6210\u7ee9*/
void playWin(void);/*\u8f93\u51fa\u80dc\u5229\u8005\u4fe1\u606f*/
/******\u4e3b\u51fd\u6570*********/
void main(void)
{
int gd=DETECT,gr;
initgraph(&gd,&gr,"c:\\tc"); /*\u521d\u59cb\u5316\u56fe\u5f62\u7cfb\u7edf*/
DrawQp();/*\u753b\u68cb\u76d8*/
playtoplay();/*\u4eba\u4eba\u5bf9\u6218*/
getch();
closegraph();/*\u5173\u95ed\u56fe\u5f62\u7cfb\u7edf*/
}
void DrawQp()/*\u753b\u68cb\u76d8*/
{
int i,j;
score1=score2=0;/*\u68cb\u624b\u4e00\u5f00\u59cb\u5f97\u5206\u90fd\u4e3a0*/
setbkcolor(BLUE);
for(i=100;i<=420;i+=40)
{
line(100,i,420,i);/*\u753b\u6c34\u5e73\u7ebf*/
line(i,100,i,420); /*\u753b\u5782\u76f4\u7ebf*/
}
setcolor(0);/*\u53d6\u6d88\u5706\u5468\u56f4\u7684\u4e00\u5708\u4e1c\u897f*/
setfillstyle(SOLID_FILL,15);/*\u767d\u8272\u5b9e\u4f53\u586b\u5145\u6a21\u5f0f*/
fillellipse(500,200,15,15); /*\u5728\u663e\u793a\u5f97\u5206\u7684\u4f4d\u7f6e\u753b\u68cb*/
setfillstyle(SOLID_FILL,8); /*\u9ed1\u8272\u5b9e\u4f53\u586b\u5145\u6a21\u5f0f*/
fillellipse(500,300,15,15);
a[3][3]=a[4][4]=1;/*\u521d\u59cb\u4e24\u4e2a\u9ed1\u68cb*/
a[3][4]=a[4][3]=2;/*\u521d\u59cb\u4e24\u4e2a\u767d\u68cb*/
setfillstyle(SOLID_FILL,WHITE);
fillellipse(120+3*40,120+3*40,15,15);
fillellipse(120+4*40,120+4*40,15,15);
setfillstyle(SOLID_FILL,8);
fillellipse(120+3*40,120+4*40,15,15);
fillellipse(120+4*40,120+3*40,15,15);
score1=score2=2; /*\u6709\u68cb\u540e\u6539\u53d8\u5206\u6570*/
DoScore();/*\u8f93\u51fa\u5f00\u59cb\u5206\u6570*/
}
void playtoplay()/*\u4eba\u4eba\u5bf9\u6218*/
{
int x,y,t=1,i,j,cc=0;
while(1)/*\u6362\u68cb\u624b\u8d70\u68cb*/
{
x=120,y=80;/*\u6bcf\u6b21\u68cb\u5b50\u4e00\u5f00\u59cb\u51fa\u6765\u7684\u5750\u6807,x\u4e3a\u884c\u5750\u6807,y\u4e3a\u5217\u5750\u6807*/
while(1) /*\u5177\u4f53\u4e00\u4e2a\u68cb\u624b\u8d70\u68cb\u7684\u8fc7\u7a0b*/
{
PrintScore(1);/*\u8f93\u51fa\u68cb\u624b1\u7684\u6210\u7ee9*/
PrintScore(2);/*\u8f93\u51fa\u68cb\u624b2\u7684\u6210\u7ee9*/
SetPlayColor(t);/*t\u53d8\u91cf\u662f\u7528\u6765\u5224\u65ad\u68cb\u624b\u6240\u6267\u68cb\u5b50\u7684\u989c\u8272*/
fillellipse(x,y,15,15);
key=bioskey(0);/*\u63a5\u6536\u6309\u952e*/
if(key==ESC)/*\u8df3\u51fa\u6e38\u620f*/
break;
else
if(key==ENTER)/*\u5982\u679c\u6309\u952e\u786e\u5b9a\u5c31\u53ef\u4ee5\u8df3\u51fa\u5faa\u73af*/
{
if(y!=80&&a[(x-120)/40][(y-120)/40]!=1
&&a[(x-120)/40][(y-120)/40]!=2)/*\u5982\u679c\u843d\u5b50\u4f4d\u7f6e\u6ca1\u6709\u68cb\u5b50*/
{
if(t%2==1)/*\u5982\u679c\u662f\u68cb\u624b1\u79fb\u52a8*/
a[(x-120)/40][(y-120)/40]=1;
else/*\u5426\u5219\u68cb\u624b2\u79fb\u52a8*/
a[(x-120)/40][(y-120)/40]=2;
if(!QpChange(x,y,t))/*\u843d\u5b50\u540e\u5224\u65ad\u68cb\u76d8\u7684\u53d8\u5316*/
{
a[(x-120)/40][(y-120)/40]=0;/*\u6062\u590d\u7a7a\u683c\u72b6\u6001*/
cc++;/*\u5f00\u59cb\u7edf\u8ba1\u5c1d\u8bd5\u6b21\u6570*/
if(cc>=64-score1-score2) /*\u5982\u679c\u5c1d\u8bd5\u8d85\u8fc7\u7a7a\u683c\u6570\u5219\u505c\u6b65*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
break;
}
else
continue;/*\u5982\u679c\u6309\u952e\u65e0\u6548*/
}
DoScore();/*\u5206\u6570\u7684\u6539\u53d8*/
break;/*\u68cb\u76d8\u53d8\u5316\u4e86\uff0c\u5219\u8f6e\u5bf9\u65b9\u8d70\u68cb*/
}
else/*\u5df2\u7ecf\u6709\u68cb\u5b50\u5c31\u7ee7\u7eed\u6309\u952e*/
continue;
}
else /*\u56db\u4e2a\u65b9\u5411\u6309\u952e\u7684\u5224\u65ad*/
if(key==LEFT&&x>120)/*\u5de6\u65b9\u5411\u952e*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
x-=40;
fillellipse(x,y,15,15);
}
else
if(key==RIGHT&&x80)/*\u53f3\u65b9\u5411\u952e*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
x+=40;
fillellipse(x,y,15,15);
}
else
if(key==UP&&y>120)/*\u4e0a\u65b9\u5411\u952e*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
y-=40;
fillellipse(x,y,15,15);
}
else
if(key==DOWN&&y<400)/*\u4e0b\u65b9\u5411\u952e*/
{
MoveColor(x,y);
fillellipse(x,y,15,15);
SetPlayColor(t);
y+=40;
fillellipse(x,y,15,15);
}
}
if(key==ESC)/*\u7ed3\u675f\u6e38\u620f*/
break;
if((score1+score2)==64||score1==0||score2==0)/*\u683c\u5b50\u5df2\u7ecf\u5360\u6ee1\u6216\u4e00\u65b9\u68cb\u5b50\u4e3a0\u5224\u65ad\u80dc\u8d1f*/
{
playWin();/*\u8f93\u51fa\u6700\u540e\u7ed3\u679c*/
break;
}
t=t%2+1; /*\u4e00\u65b9\u8d70\u540e\uff0c\u6539\u53d8\u68cb\u5b50\u989c\u8272\u5373\u8f6e\u5bf9\u65b9\u8d70*/
cc=0; /*\u8ba1\u6570\u503c\u6062\u590d\u4e3a0*/
} /*endwhile*/
}
void SetPlayColor(int t)/*\u8bbe\u7f6e\u68cb\u5b50\u989c\u8272*/
{
if(t%2==1)
setfillstyle(SOLID_FILL,15);/*\u767d\u8272*/
else
setfillstyle(SOLID_FILL,8);/*\u7070\u8272*/
}
void MoveColor(int x,int y)/*\u8d70\u4e86\u4e00\u6b65\u540e\u6062\u590d\u539f\u6765\u683c\u5b50\u7684\u72b6\u6001*/
{
if(y<100)/*\u5982\u679c\u662f\u4ece\u8d77\u70b9\u51fa\u53d1\u5c31\u6062\u590d\u84dd\u8272*/
setfillstyle(SOLID_FILL,BLUE);
else/*\u5176\u4ed6\u60c5\u51b5\u5982\u679c\u662f1\u5c31\u6062\u590d\u767d\u8272\u68cb\u5b50,2\u6062\u590d\u9ed1\u8272\u68cb\u5b50,\u6216\u6062\u590d\u84dd\u8272\u68cb\u76d8*/
switch(a[(x-120)/40][(y-120)/40])
{
case 1:
setfillstyle(SOLID_FILL,15);break; /*\u767d\u8272*/
case 2:
setfillstyle(SOLID_FILL,8);break; /*\u9ed1\u8272*/
default:
setfillstyle(SOLID_FILL,BLUE); /*\u84dd\u8272*/
}
}
int QpChange(int x,int y,int t)/*\u5224\u65ad\u68cb\u76d8\u7684\u53d8\u5316*/
{
int i,j,k,kk,ii,jj,yes;
yes=0;
i=(x-120)/40; /*\u8ba1\u7b97\u6570\u7ec4\u5143\u7d20\u7684\u884c\u4e0b\u6807*/
j=(y-120)/40; /*\u8ba1\u7b97\u6570\u7ec4\u5143\u7d20\u7684\u5217\u4e0b\u6807*/
SetPlayColor(t);/*\u8bbe\u7f6e\u68cb\u5b50\u53d8\u5316\u7684\u989c\u8272*/
/*\u5f00\u59cb\u5f808\u4e2a\u65b9\u5411\u5224\u65ad\u53d8\u5316*/
if(j<6)/*\u5f80\u53f3\u8fb9*/
{
for(k=j+1;k<8;k++)
if(a[i][k]==a[i][j]||a[i][k]==0)/*\u9047\u5230\u81ea\u5df1\u7684\u68cb\u5b50\u6216\u7a7a\u683c\u7ed3\u675f*/
break;
if(a[i][k]!=0&&k<8)
{
for(kk=j+1;kk<k&&k<8;kk++)/*\u5224\u65ad\u53f3\u8fb9*/
{
a[i][kk]=a[i][j]; /*\u6539\u53d8\u68cb\u5b50\u989c\u8272*/
fillellipse(120+i*40,120+kk*40,15,15);
}
if(kk!=j+1) /*\u6761\u4ef6\u6210\u7acb\u5219\u6709\u68cb\u5b50\u6539\u53d8\u8fc7\u989c\u8272*/
yes=1;
}
}
if(j>1)/*\u5224\u65ad\u5de6\u8fb9*/
{
for(k=j-1;k>=0;k--)
if(a[i][k]==a[i][j]||!a[i][k])
break;
if(a[i][k]!=0&&k>=0)
{
for(kk=j-1;kk>k&&k>=0;kk--)
{
a[i][kk]=a[i][j];
fillellipse(120+i*40,120+kk*40,15,15);
}
if(kk!=j-1)
yes=1;
}
}
if(i<6)/*\u5224\u65ad\u4e0b\u8fb9*/
{
for(k=i+1;k<8;k++)
if(a[k][j]==a[i][j]||!a[k][j])
break;
if(a[k][j]!=0&&k<8)
{
for(kk=i+1;kk<k&&k<8;kk++)
{
a[kk][j]=a[i][j];
fillellipse(120+kk*40,120+j*40,15,15);
}
if(kk!=i+1)
yes=1;
}
}
if(i>1)/*\u5224\u65ad\u4e0a\u8fb9*/
{
for(k=i-1;k>=0;k--)
if(a[k][j]==a[i][j]||!a[k][j])
break;
if(a[k][j]!=0&&k>=0)
{
for(kk=i-1;kk>k&&k>=0;kk--)
{
a[kk][j]=a[i][j];
fillellipse(120+kk*40,120+j*40,15,15);
}
if(kk!=i-1)
yes=1;
}
}
if(i>1&&j<6)/*\u53f3\u4e0a*/
{
for(k=i-1,kk=j+1;k>=0&&kk<8;k--,kk++)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]&&k>=0&&kk<8)

{
for(ii=i-1,jj=j+1;ii>k&&k>=0;ii--,jj++)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i-1)
yes=1;
}
}
if(i1)/*\u5de6\u4e0b*/
{
for(k=i+1,kk=j-1;k=0;k++,kk--)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]!=0&&k=0)
{
for(ii=i+1,jj=j-1;ii<k&&k<8;ii++,jj--)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i+1)
yes=1;
}
}
if(i>1&&j>1)/*\u5de6\u4e0a*/
{
for(k=i-1,kk=j-1;k>=0&&kk>=0;k--,kk--)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]!=0&&k>=0&&kk>=0)
{
for(ii=i-1,jj=j-1;ii>k&&k>=0;ii--,jj--)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i-1)
yes=1;
}
}
if(i<6&&j<6)/* \u53f3\u4e0b*/
{
for(k=i+1,kk=j+1;kk<8&&kk<8;k++,kk++)
if(a[k][kk]==a[i][j]||!a[k][kk])
break;
if(a[k][kk]!=0&&kk<8&&k<8)
{
for(ii=i+1,jj=j+1;ii<k&&k<8;ii++,jj++)
{
a[ii][jj]=a[i][j];
fillellipse(120+ii*40,120+jj*40,15,15);
}
if(ii!=i+1)
yes=1;
}
}
return yes;/*\u8fd4\u56de\u662f\u5426\u6539\u53d8\u8fc7\u68cb\u5b50\u989c\u8272\u7684\u6807\u8bb0*/
}
void DoScore()/*\u5904\u7406\u5206\u6570*/
{
int i,j;
score1=score2=0;/*\u91cd\u65b0\u5f00\u59cb\u8ba1\u5206\u6570*/
for(i=0;i<8;i++)
for(j=0;j<8;j++)
if(a[i][j]==1)/*\u5206\u522b\u7edf\u8ba1\u4e24\u4e2a\u4eba\u7684\u5206\u6570*/
score1++;
else
if(a[i][j]==2)
score2++;
}
void PrintScore(int playnum)/*\u8f93\u51fa\u6210\u7ee9*/
{
if(playnum==1)/*\u6e05\u9664\u4ee5\u524d\u7684\u6210\u7ee9*/
{
setfillstyle(SOLID_FILL,BLUE);
bar(550,100,640,400);
}
setcolor(RED);
settextstyle(0,0,4);/*\u8bbe\u7f6e\u6587\u672c\u8f93\u51fa\u6837\u5f0f*/
if(playnum==1)/*\u5224\u65ad\u8f93\u51fa\u54ea\u4e2a\u68cb\u624b\u7684\u5206,\u5728\u4e0d\u540c\u7684\u4f4d\u7f6e\u8f93\u51fa*/
{
sprintf(playone,"%d",score1);
outtextxy(550,200,playone);
}
else
{
sprintf(playtwo,"%d",score2);
outtextxy(550,300,playtwo);
}
setcolor(0);
}
void playWin()/*\u8f93\u51fa\u6700\u540e\u7684\u80dc\u5229\u8005\u7ed3\u679c*/
{
settextstyle(0,0,4);
setcolor(12);
if(score2>score1)/*\u5f00\u59cb\u5224\u65ad\u6700\u540e\u7684\u7ed3\u679c*/
outtextxy(100,50,"black win!");
else
if(score2<score1)
outtextxy(100,50,"white win!");
else
outtextxy(60,50,"you all win!");
}

本程序提供五子棋、黑白棋双人对下的环境,以及黑白棋人机对下的功能。其界面模仿windows, 操作简便,所有操作都通过鼠标完成。
进入程序后,从game菜单可选择游戏的种类,在游戏进行过程中采用鼠标左键下子,右键悔棋。
整个源程序总共由mouse.c、timedate.c、bmp.c、bww.c、bww.prj五个文件组成,约1500余行。其中mouse.c包含鼠标相关的语句;timedate.c用于显示当前的日期与时间;bmp.c用于显示16色位图作为程序的封面以及便于中文的显示;
bww.c是整个程序的核心部分,下面将就bww.c中的各个重要函数作一下简要的介绍:

void init():该函数用于图形以及鼠标的初始化。

void anniu(int x0, int y0, int x1, int y1, int color1, int color2):该函数通过在一块平面区域的四周用两种颜色画线,使之产生凸起或凹陷的立体效果。

void showmenu();
void helpmenu();
void filemenu(); 这五个函数主要用于菜单栏及各级菜单的显示。
void topic();
void about();

void wuziqi():通过调用该函数进入五子棋的双人对下环境。
void heibaiqi():通过调用该函数进入黑白棋的双人对下环境。
void mind2cpu():通过调用该函数进入黑白棋的人机对下环境。

void draw(int type):该函数根据type参数值的不同,画出符合需要的棋盘。

void win(int type, int winner):通过对该函数的调用,显示胜利的信息,并询问接着要执行的操作。

void gameover():通过对该函数的调用,退出本程序。

int xiazi(int xx, int yy, int type):该函数在棋盘坐标为(xx, yy)处下type参数所定义的棋子。

void control(int type):该函数用于五子棋与黑白棋的双人对下环境,通过循环不断地接受鼠标的的按键信息,然后调用相应的函数执行所要求的功能。

void judge():该函数判断棋盘上是否有同种颜色的棋子连成了五颗以上或棋盘以被占满,即判断是否以分出了胜负,还是平手。

void huiqi():该函数用于执行五子棋的悔棋功能。

void hdisplay();
void display();

void copyqipan():该函数将每一步的棋盘状况复制到一个备份数组中,以实现黑白棋的悔棋功能。
int copy_chess (int source[8][8],int dest[8][8]):该函数将前一数组各项复制到后一数组当中。主要用于黑白棋的人工智能。

void hhuiqi(int type):该函数调用display()函数实现黑白棋的悔棋功能。

int hpass(int my_self):该函数判断my_self代表一方是否无处可下,但不在屏幕上显示,主要用于黑白棋的人工智能。
int pass(int turn):该函数判断turn代表一方是否无处可下,并在屏幕上显示“PASS”字样。

long hvalue(int pad[8][8], int turn):该函数根据分值表判断turn这一方在pad[8][8]数组所表示的情况下的的分。主要用于黑白棋的人工智能。

int core_think(int my_self):通过递归调用判断电脑走哪一步最合适,MAXSTEP定义了电脑所想的步数,目前我将其值定为4。

void hjudge():该函数计算棋盘当前状况双方的子数,并显示出来,用于两个黑白棋中。

int change(int cx, int cy, int playerorder, int a):判断playerorder一方在(cx, cy)处下子是否能引起改变,根据a的不同以决定是否要在棋盘上表示出来,用于pass的判断,和显示一方下子所引起的双方棋子的变化。
int try_xy(int x, int y, int chess[8][8], int my_self):判断my_self一方在(x, y)处下子是否能引起改变,将此改变记录在chess[8][8]中。

以上即是bww.c文件中主要函数的介绍。由于黑白棋的人工智能是后来才想到要编的,所以有些函数有些重复,并且黑白棋的人工智能很难达到非常高,我是编了好长时间才作成这一个让我可以接受的程度。而且这种算法的效率也很低,导致当MAXSTEP为5时,电脑每走一步就要等好长时间。希望今后我能够找到解决这些不足的好方法。

代码如下:
bmp.h:
#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<graphics.h>
#include<dos.h>
#include<bios.h>
#include<stdlib.h>
#include<time.h>

struct bmphead{
unsigned char b;
unsigned char m;
unsigned long bfsize;
unsigned int bfresterved1;
unsigned int bfresterved2;
unsigned long bfoffbits;
unsigned long bitsize;
unsigned long bmpwidth;
unsigned long bmpheight;
unsigned int bmpplanes;
unsigned int bmpcount;
unsigned long bmpcompression;
unsigned long bmpimgsize;
unsigned long bmpxpeispermeter;
unsigned long bmpypeispermeter;
unsigned long bmpcirused;
unsigned long bmpimportant;
}bmp;
/*----------------------------------------------------------------------------------------------*/
struct ColorIndex
{
unsigned char Blue;
unsigned char Green;
unsigned char Red;
unsigned char Reserved;
}index[16];
int pageno;

/*==============================================================================================*/
void SetPlate(int ColorIndex,char Red,char Green,char Blue)
{
outportb(0x3c8,ColorIndex);
outportb(0x3c9,Red);
outportb(0x3c9,Green);
outportb(0x3c9,Blue);
}
/*----------------------------------------------------------------------------------------------*/

showbmp(int x,int y,char*filename)
{
FILE *fp;
char c,temp1,temp2;
register int m;
int n;
register unsigned long i=0,j=0;
struct palettetype *sq;

HideCur();
if((fp=fopen(filename,"rb"))==NULL)
printf("can't open file!");
else
{
fread(&bmp,sizeof(struct bmphead),1,fp);
fread(index,sizeof(struct ColorIndex),16,fp);
}
if(bmp.bmpwidth%32==0)
n=bmp.bmpwidth/2;
else n=4+bmp.bmpwidth/2-(bmp.bmpwidth/2)%4;

m=9;
SetPlate(57,index[m].Red,index[m].Green,index[m].Blue);
m++;
SetPlate(58,index[m].Red,index[m].Green,index[m].Blue);
m++;
SetPlate(59,index[m].Red,index[m].Green,index[m].Blue);
m++;
SetPlate(60,index[m].Red,index[m].Green,index[m].Blue);
m++;
SetPlate(61,index[m].Red,index[m].Green,index[m].Blue);
m++;
SetPlate(62,index[m].Red,index[m].Green,index[m].Blue);
m++;
SetPlate(63,index[m].Red,index[m].Green,index[m].Blue);
fseek(fp, bmp.bfoffbits,0);
for(m=0; m<bmp.bmpheight; m++){
j=0;
for(i=0;i<n;i++)
{
c=fgetc(fp);
if(j<bmp.bmpwidth)
{
temp1=(c&0xF0)>>4;
temp2=c&0x0F;
putpixel(x+j,y-m,temp1);
j++;
putpixel(x+j,y-m,temp2);
j++;
}
}
}
fclose(fp);
ShowCur();
}

timedate.c:
#include<dos.h>
#include<graphics.h>

int hour=100, minute=100, second=100;

void timedate(int x, int y, int n)
{
int i, j;

settextstyle(0, 0, 1);
setfillstyle(1, LIGHTGRAY);
bar(x, y, x+16, y+7);
j=n%10;
i=(n-j)/10;
setcolor(BLUE);
switch(i){
case 0: outtextxy(x, y, "0"); break;
case 1: outtextxy(x, y, "1"); break;
case 2: outtextxy(x, y, "2"); break;
case 3: outtextxy(x, y, "3"); break;
case 4: outtextxy(x, y, "4"); break;
case 5: outtextxy(x, y, "5"); break;
case 6: outtextxy(x, y, "6"); break;
case 7: outtextxy(x, y, "7"); break;
case 8: outtextxy(x, y, "8"); break;
case 9: outtextxy(x, y, "9"); break;
}
switch(j){
case 0: outtextxy(x+8, y, "0"); break;
case 1: outtextxy(x+8, y, "1"); break;
case 2: outtextxy(x+8, y, "2"); break;
case 3: outtextxy(x+8, y, "3"); break;
case 4: outtextxy(x+8, y, "4"); break;
case 5: outtextxy(x+8, y, "5"); break;
case 6: outtextxy(x+8, y, "6"); break;
case 7: outtextxy(x+8, y, "7"); break;
case 8: outtextxy(x+8, y, "8"); break;
case 9: outtextxy(x+8, y, "9"); break;
}
}

void dat(int x, int y)
{ int a, b;
struct date d;

getdate(&d);
b=d.da_year%100;
a=(d.da_year-b)/100;
timedate(x, y, a);
timedate(x+16, y, b);
outtextxy(x+32, y, "-");
timedate(x+40, y, d.da_mon);
outtextxy(x+56, y, "-");
timedate(x+64, y, d.da_day);
}

void inittim(int x, int y)
{
struct time t;
gettime(&t);
timedate(x, y, t.ti_hour);
outtextxy(x+16, y, ":");
hour=t.ti_hour;
timedate(x+24, y, t.ti_min);
outtextxy(x+40, y, ":");
minute=t.ti_min;
if(t.ti_sec!=second){
timedate(x+48,y,t.ti_sec);
second=t.ti_sec;
}
}

void tim(int x, int y)
{
struct time t;
gettime(&t);
if(t.ti_hour!=hour){
timedate(x, y, t.ti_hour);
outtextxy(x+16, y, ":");
hour=t.ti_hour;
}
if(t.ti_min!=minute){
timedate(x+24, y, t.ti_min);
outtextxy(x+40, y, ":");
minute=t.ti_min;
}
if(t.ti_sec!=second){
timedate(x+48,y,t.ti_sec);
second=t.ti_sec;
}
}

bww.c:
#include <stdio.h>
#include <graphics.h>
#include <stdlib.h>
#include <alloc.h>
#include <bios.h>

#define PLAYER1 1
#define PLAYER2 -1
#define WUQIZI 0
#define QBLACK 1
#define QWHITE -1
#define WUZIQI 0
#define HEIBAIQI 1
#define MAXSTEP 5

int x, y;
int mx, my, state;
int qx, qy;
int zx[230], zy[230];
int zcount;
int step_now=0;
int qipan[15][15];
int hpad[8][8];
int order;
int hcount;
int hqipan[61][8][8];
int x_now, y_now;

int value[8][8]={
1024,-64,128,128,128,128,-64,1024,
-64,-256,1,1,1,1,-256,-64,
128,1,16,16,16,16,1,128,
128,1,16,1,1,16,1,128,
128,1,16,1,1,16,1,128,
128,1,16,16,16,16,1,128,
-64,-256,1,1,1,1,-256,-64,
1024,-64,128,128,128,128,-64,1024
};

void showmenu();
void helpmenu();
void filemenu();
void topic();
void about();
void anniu(int x0, int y0, int x1, int y1, int color1, int color2);
void wuziqi();
void heibaiqi();
void mind2cpu();
void init();
void draw(int type);
void copyqipan();
long hvalue(int pad[8][8], int turn);
int core_think(int my_self);
void hdisplay();
void display();
int copy_chess (int source[8][8],int dest[8][8]);
int hpass(int my_self);
void hhuiqi(int type);
void control(int type);
int pass(int turn);
int xiazi(int xx, int yy, int type);
void judge();
void huiqi();
void hjudge();
int change(int cx,int cy, int playerorder, int a);
int try_xy(int x, int y, int chess[8][8], int my_self);
void win(int type, int winner);
void gameover();

main()
{
init();
sleep(1);
cleardevice();
InitMouse();
showmenu();
}

void showmenu(){

int n=1;

setfillstyle(1,LIGHTGRAY);
bar(1,1,638,478);
setfillstyle(1,BLUE);
bar(6,5,633,20);
anniu(6,5,633,20,DARKGRAY,WHITE);
setcolor(WHITE);
outtextxy(9,9,"Black and White World");
anniu(1,1,638,478,WHITE,DARKGRAY);
setcolor(BLACK);
outtextxy(12,30,"Game");
outtextxy(65,30,"Help");
outtextxy(118,30,"Exit");
setcolor(DARKGRAY);
line(2, 44, 637, 44);
line(54, 23, 54, 41);
line(107, 23, 107, 41);
setcolor(WHITE);
line(2,45,637,45);
line(55,23,55,41);
line(108,23,108,41);
ShowCur();
anniu(7, 50, 633, 458, BLACK, WHITE);
anniu(445, 464, 535, 475, DARKGRAY, WHITE);
anniu(545, 464, 625, 475, DARKGRAY, WHITE);
showbmp(7,458,"border.bmp");
dat(450, 466);
inittim(550,466);

while(1){
tim(550, 466);
Status(&mx, &my, &state);
if(mx>=8 && mx<=48 && my>=25 && my<=40){
if(state&1){
filemenu();
n=0;
}
}
else if(mx>=61 && mx<=101 && my>=25 && my<=40){
if(state&1 && n){

helpmenu();
n=0;
}
}
else if(mx>=114 && mx<=154 && my>=25 && my<=40){
if(state&1){
HideCur();
anniu(114,25,154,40,DARKGRAY,WHITE);
delay(10000);
gameover();
}
}
else if(!n) {
HideCur();
anniu(8,25,48,40,LIGHTGRAY,LIGHTGRAY);
anniu(61,25,101,40,LIGHTGRAY,LIGHTGRAY);
ShowCur();
n=1;
}
}

}
void helpmenu(){
void *bitmap;
int i1=0,i2=0,size;

HideCur();
anniu(61, 25, 101, 40, DARKGRAY, WHITE);
size=imagesize(61, 45, 150, 75);
bitmap=malloc(size);
getimage(61, 45, 150, 75, bitmap);
setfillstyle(1, LIGHTGRAY);
bar(62, 46, 149, 74);
anniu(62, 46, 149, 74, WHITE, DARKGRAY);
setcolor(BLACK);
outtextxy(68, 50, "Topics");
outtextxy(68, 64, "About...");
setcolor(DARKGRAY);
line(63, 59, 148, 59);
setcolor(WHITE);
line(63, 60, 148, 60);
ShowCur();
while(1){
tim(550, 466);
Status(&mx, &my, &state);
if(mx>=62 && mx<=149 && my>=46 && my<=59 && !i1){
i1=1; i2=0;
HideCur();
setfillstyle(1, BLUE);
bar(63, 47, 148, 58);
setcolor(YELLOW);
outtextxy(68, 50, "Topics");
setfillstyle(1, LIGHTGRAY);
bar(63, 61, 148, 73);
setcolor(BLACK);
outtextxy(68, 64, "About...");
ShowCur();
}
else if(mx>=62 && mx<=149 && my>=46 && my<=59 && i1 && state&1){
delay(500);
topic();
}

else if(mx>=62 && mx<=149 && my>=60 && my<=74 && i2 && state&1){
delay(500);
HideCur(); putimage(61, 45, bitmap, COPY_PUT);
free(bitmap);
i1=0;i2=0;
ShowCur();
about();
break;
}
else if(mx>=62 && mx<=149 && my>=60 && my<=74 && !i2){
i2=1; i1=0;
HideCur();
setfillstyle(1,LIGHTGRAY);
bar(63,47,148,58);
setcolor(BLACK);
outtextxy(68,50,"Topics");
setfillstyle(1,BLUE);
bar(63,61,148,73);
setcolor(YELLOW);
outtextxy(68,64,"About...");
ShowCur();
}
else if(mx<=62 ||mx>=149 ||my<=43 ||my>=75){
if(i1 || i2 || mx<=60 || mx>=102){
HideCur();
putimage(61,45,bitmap,COPY_PUT);
free(bitmap);
i1=0;i2=0;
ShowCur();
break;
}
}
}
}

void filemenu()
{
void *bitmap;
int i1=0,i2=0,size;

HideCur();
anniu(8, 25, 48, 40, DARKGRAY, WHITE);
size=imagesize(8, 45, 97, 75);
bitmap=malloc(size);
getimage(8, 45, 97, 75, bitmap);
setfillstyle(1, LIGHTGRAY);
bar(9, 46, 96, 74);
anniu(9, 46, 96, 74, WHITE, DARKGRAY);
setcolor(BLACK);
outtextxy(15,50,"WuZiQi");
outtextxy(15,64,"HeiBaiQi");
setcolor(DARKGRAY);
line(10,59, 95,59);
setcolor(WHITE);
line(10,60,95,60);
ShowCur();

while(1){
tim(550,466);
Status(&mx, &my, &state);
if(mx>=9 && mx<=96 && my>=46 && my<=59 && !i1){
i1=1; i2=0;
HideCur();
setfillstyle(1,BLUE);
bar(10,47,95,58);
setcolor(YELLOW);
outtextxy(15,50,"WuZiQi");
setfillstyle(1,LIGHTGRAY);
bar(10,61,95,73);
setcolor(BLACK);
outtextxy(15,64,"HeiBaiQi");
ShowCur();
}
else if(mx>=9 && mx<=96 && my>=60 && my<=74 && !i2){
i2=1; i1=0;
HideCur();
setfillstyle(1,LIGHTGRAY);
bar(10,47,95,58);
setcolor(BLACK);
outtextxy(15,50,"WuZiQi");
setfillstyle(1,BLUE);
bar(10,61,95,73);
setcolor(YELLOW);
outtextxy(15,64,"HeiBaiQi");
ShowCur();
}
else if(mx>=9 && mx<=96 && my>=46 && my<=59 && i1 && state&1){
delay(500);
HideCur();
putimage(8, 45, bitmap, COPY_PUT);
free(bitmap);
i1=0; i2=0;
anniu(8, 25, 48, 40, LIGHTGRAY, LIGHTGRAY);
wuziqi();
}
else if(mx>=9 && mx<=96 && my>=60 && my<=74 && i2 && state&1){
delay(500);
HideCur();
putimage(8, 45, bitmap, COPY_PUT);
free(bitmap);
i1=0; i2=0;
anniu(8, 25, 48, 40, LIGHTGRAY, LIGHTGRAY);
heibaiqi();
}
else if(mx<=9 ||mx>=96 ||my<=43 ||my>=75){
if(i1 || i2 || mx<=7 || mx>=49){
HideCur();
putimage(8,45,bitmap,COPY_PUT);
free(bitmap);
i1=0;i2=0;
ShowCur();
break;
}
}
}
}

void topic()
{

showbmp(0,478,"topic.bmp");
ShowCur();
while(1){
Status(&mx, &my, &state);
if(state&1){
HideCur();
closegraph();
init();
cleardevice();
InitMouse();
showmenu();
}

}
}

void about()
{

int i=1;

showbmp(175,320,"about.bmp");
ShowCur();
while(i){
Status(&mx, &my, &state);
tim(550,466);
if(state&1){
HideCur();
showbmp(7,458,"border.bmp");
ShowCur();
break;
}
}
return;
}

void anniu(int x0, int y0, int x1, int y1, int color1, int color2)
{

setcolor(color1);
line(x0-1, y0-1, x1+1, y0-1);
line(x0-1, y0-1, x0-1, y1+1);
setcolor(color2);
line(x1+1, y1+1, x1+1, y0-1);
line(x1+1, y1+1, x0-1, y1+1);
}

void wuziqi()
{
register int i, j;
zcount=0;
for (i=0; i<=300; i++){
zx[i]=0;
zy[i]=0;
}

for (i=0; i<=14; i++)
for (j=0; j<=14; j++)
qipan[i][j]=0;

draw(WUZIQI);
control(WUZIQI);
}

void heibaiqi()
{
int i, j;

for (i=0; i<=8; i++)
for (j=0; j<=8; j++)
hpad[i][j]=0;

setfillstyle(1,LIGHTGRAY);
bar(210,190,430,310);
anniu(210,190,430,310,WHITE,DARKGRAY);
anniu(209,189,431,311,BLACK,BLACK);

anniu(220,205,310,295,WHITE,DARKGRAY);
anniu(330,205,420,295,WHITE,DARKGRAY);
setcolor(BLACK);
rectangle(218,203,312,297);
rectangle(328,203,422,297);
settextstyle(0, HORIZ_DIR, 2);
outtextxy(250,220,"1P");
outtextxy(250,265,"2P");
outtextxy(363,220,"1P");
outtextxy(355,265,"CPU");
settextstyle(0, HORIZ_DIR, 1);
outtextxy(257,245,"vs");
outtextxy(370,245,"vs");
ShowCur();
while(1){
tim(550,466);
Status(&mx, &my, &state);
if(mx>=220 && mx<=310 && my>=205 && my<=295 && state&1){
HideCur();
anniu(220,205,310,295,DARKGRAY,DARKGRAY);
delay(10000);
draw(HEIBAIQI);
ShowCur();
control(HEIBAIQI);
}
else if(mx>=330 && mx<=420 && my>=205 && my<=295 && state&1){
HideCur();
anniu(330,205,420,295,DARKGRAY,DARKGRAY);
delay(10000);
draw(HEIBAIQI);
ShowCur();
mind2cpu();
}
}

}

void mind2cpu()
{
int type, i, k, x ,y;
hcount=0;

copyqipan();
while(1){
tim(550,466);
Status(&mx, &my, &state);
qx=(mx-160)/40;
qy=(my-93)/40;

if(mx>=30 && mx<=80 && my>=240 && my<=255 && state&1){
setlinestyle(SOLID_LINE, 0, 1);
anniu(30, 240, 80, 255, DARKGRAY,WHITE);
delay(7000);
HideCur();
showmenu();
}

if (state&2 && hcount>=1){
HideCur();
hhuiqi(0);
ShowCur();
delay(10000);
}

if (mx<=480 && mx>=160 && my<=413 && my>=93 && hpad[qx][qy]==WUQIZI && state&1){
k=change(qx,qy,PLAYER1,0);
if(k){
order=PLAYER1;
HideCur();
xiazi(qx,qy,HEIBAIQI);
change(qx,qy,PLAYER1,1);
hcount++;
copyqipan();
hjudge();
ShowCur();
i=pass(PLAYER2);
if(i) {
delay(8000);
continue;
}

do{
core_think(PLAYER2);
HideCur();
hdisplay();
hcount++;
copyqipan();
ShowCur();
hjudge();
i=pass(PLAYER1);
}while(i);

} }
}
}

void init()
{
int Graphdriver = DETECT, Graphmode, Errorcode;
/*registerbgidriver(EGAVGA_driver); */

initgraph(&Graphdriver, &Graphmode, "");
Errorcode=graphresult();
if (Errorcode!=0){
printf("Graphics system error:%s\n", grapherrormsg(Errorcode));
exit(1);
}
else return;
}

void draw(int type)
{
int i, j, step;
int size;

if (type==WUZIQI) step=25;
else step=40;

setfillstyle(1, BROWN);
setcolor(CYAN);
bar(120, 53, 520, 453);
setlinestyle(0,0,1);
anniu(120,53,520,453,WHITE,0);
setcolor(BLACK);
rectangle(118,51,522,455);
setfillstyle(1,BLUE);
bar(7,50,117,458);
bar(523,50,633,458);
setfillstyle(1,LIGHTGRAY);

bar(30,240,80,255);
setlinestyle(SOLID_LINE, 0, 1);
anniu(30,240,80,255,WHITE,DARKGRAY);
setcolor(BLACK);
rectangle(28, 238, 82, 257);
setcolor(BLACK);
outtextxy(40,245,"QUIT");
setlinestyle(SOLID_LINE, 0, THICK_WIDTH);
setcolor(BLACK);
line(120+step, 53+step, 120+step, 453-step);
line(120+step, 53+step, 520-step, 53+step);
line(520-step, 453-step, 120+step, 453-step);
line(520-step, 53+step, 520-step, 453-step);

setlinestyle(SOLID_LINE, 0, NORM_WIDTH);
setcolor(BLACK);
for (i=120+2*step,j=53+2*step; i<=520-2*step; i+=step,j+=step){
line(i, 53+step, i, 453-step);
line(120+step, j, 520-step, j);
}

if (type==HEIBAIQI){
order=PLAYER1;
xiazi(3, 3, HEIBAIQI);
xiazi(4, 4, HEIBAIQI);
order=PLAYER2;
xiazi(3, 4, HEIBAIQI);
xiazi(4, 3, HEIBAIQI);
setlinestyle(SOLID_LINE, 0, THICK_WIDTH);
setcolor(LIGHTGREEN);
line(535, 130, 620, 130);
line(535, 210, 620, 210);
line(535, 290, 620, 290);
line(536, 130, 536, 290);
line(619, 130, 619, 290);
setlinestyle(SOLID_LINE, 0, NORM_WIDTH);
line(535, 240, 620, 240);
line(535, 160, 620, 160);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,3);
outtextxy(542, 133, "BLACK");
outtextxy(542, 213, "WHITE");
settextstyle(TRIPLEX_FONT, HORIZ_DIR, 5);
setcolor(LIGHTMAGENTA);
outtextxy(555, 162, "02");
outtextxy(555, 242, "02");
}
return;
}

void copyqipan()
{
register int i, j;

for(i=0; i<=7; i++)
for(j=0; j<=7; j++)
hqipan[hcount][i][j]=hpad[i][j];
return;
}

long hvalue(int pad[8][8], int turn)
{
register int i, j;
long valueit=0;

for(i=0; i<=7; i++)
for(j=0; j<=7; j++){
if(pad[x][y]==turn){
valueit+=value[i][j];
}
else if(pad[x][y]==-turn){
valueit-=value[i][j];
}
}

return valueit;
}

int core_think(int my_self)
{ int chess_bak[8][8],oponent=-my_self;
int tempscore;
int value_temp,value_best=-30000;


你出多少钱买????????

http://202.117.35.160/sfzx/cxhd/software/3/3.doc

http://www.newasp.net/code/vc/3413.html

  • vc++6.0 榛戠櫧妫 涓嶇敤鐢佃剳涓嬫
    绛旓細涓昏鐢ㄤ簬榛戠櫧妫鐨勪汉宸ユ櫤鑳姐 void hhuiqi(int type):璇ュ嚱鏁拌皟鐢╠isplay()鍑芥暟瀹炵幇榛戠櫧妫嬬殑鎮旀鍔熻兘銆 int hpass(int my_self):璇ュ嚱鏁板垽鏂璵y_self浠h〃涓鏂规槸鍚︽棤澶勫彲涓,浣嗕笉鍦ㄥ睆骞曚笂鏄剧ず,涓昏鐢ㄤ簬榛戠櫧妫嬬殑浜哄伐鏅鸿兘銆 int pass(int turn):璇ュ嚱鏁板垽鏂璽urn浠h〃涓鏂规槸鍚︽棤澶勫彲涓,骞跺湪灞忓箷涓婃樉绀衡淧ASS鈥濆瓧鏍枫 long...
  • 姹備釜榛戠櫧妫媀C浠g爜,鑳藉湪VC6.0涓嬬紪璇戠殑,瓒婄畝鍗曡秺濂,鍙互鐩存帴win32缂栬瘧...
    绛旓細void huiqi()锛氳鍑芥暟鐢ㄤ簬鎵ц浜斿瓙妫嬬殑鎮旀鍔熻兘銆倂oid hdisplay();void display();void copyqipan()锛氳鍑芥暟灏嗘瘡涓姝ョ殑妫嬬洏鐘跺喌澶嶅埗鍒颁竴涓浠芥暟缁勪腑锛屼互瀹炵幇榛戠櫧妫鐨勬倲妫嬪姛鑳姐俰nt copy_chess (int source[8][8],int dest[8][8])锛氳鍑芥暟灏嗗墠涓鏁扮粍鍚勯」澶嶅埗鍒板悗涓鏁扮粍褰撲腑銆備富瑕佺敤浜庨粦鐧芥鐨...
  • VC++鍒朵綔涓涓皬娓告垙姝ラ
    绛旓細涓句簲瀛愭鍋氫釜渚嬪瓙锛岀涓姝ュ仛鐣岄潰锛屾棤闈炲氨鏄敾鍑犳潯绾匡紝鍐欎笂琛屽彿鍒楀彿锛屾壘涓粦妫鐧芥鐨勪綅鍥俱傜浜屾鍐欑畻娉曪紝浜斿瓙妫嬬殑绠楁硶鏃犻潪鏄煇鏂规湁妯殑鎴栫珫鐨勬垨鏂滅殑鐨勪簲涓瓙杩炲湪涓璧峰氨璧傛垜鎵嬪ご鏈変釜涓嬭薄妫嬬殑灏忕▼搴忥紝鍐欎簡涓ゅぉ锛岀畻娉曞仛鐨勫樊涓嶅浜嗭紝鐣岄潰涔熸湁涓鐐癸紝浣嗙畻娉曞拰鐣岄潰杩樻病鑱旂郴銆傝鏈夊叴瓒e拰鎴戣仈绯伙紝...
  • 楂樺垎姹備竴涓榛戠櫧妫鈥濈殑姹囩紪婧愮爜
    绛旓細STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "鍏充簬 榛戠櫧妫" FONT 9, "瀹嬩綋" BEGIN ICON IDR_MAINFRAME,IDC_STATIC,11,17,21,21 LTEXT "榛戠櫧妫 ",IDC_STATIC,38,14,119,8,SS_NOPREFIX LTEXT "鐗堟潈鎵鏈 (C) 2002",IDC_STATIC,40,28,119,8 DEFPUSHBUTTON "纭畾",IDOK...
  • 绾痗璇█,榛戠櫧妫缂栫▼,浜轰汉瀵规垬,灏卞湪windows杩愯灏辫浜,涓嶈鏈夌晫闈㈤偅绉...
    绛旓細鎬庝箞涓嶆槸涓涓▼搴忕殑锛岄偅鏄綘绋嬪簭鐨勮繍琛岀郴缁熺幆澧冧笉涓鏍枫俆C鍦―OS涓嬬敤C璇█涔熷彲浠ュ仛鐣岄潰鐨勭▼搴忓晩銆 鍦╓INDOWS涓婁篃鍙敤 wintc 鐢╟璇█鍋氱晫闈紝鍙笉杩囩晫闈㈡槸鍏ㄥ睆銆 windows鏄井杞紑鍙戠殑锛屾墍浠ュ鏋滆鍋歸indows 浣犲氨瑕佷娇鐢ㄥ井杞泦鎴愬紑鍙戠幆澧VC锛屽彟澶栬繕瑕佸涔犲井杞粰浣犳彁渚涚殑涓濂梂INDOWS寮鍙慉PI 锛岃繖浜汚PI閮藉搴曞眰...
  • 鐢–++鍐欎竴涓榛戠櫧妫绋嬪簭 鐜鏄痩inux 涓嶈VC
    绛旓細鐢–++鍐欎竴涓粦鐧芥绋嬪簭 鐜鏄痩inux 涓嶈VC 鍐欎竴涓▼搴忕敤伪-尾鎼滅储鏉ョ帺榛戠櫧妫嬮粦鐧芥鐨勮鍒欏湪杩欓噷http://zh.wikipedia.org/wiki/%E9%BB%91%E7%99%BD%E6%A3%8B杩欎釜绋嬪簭鐨勮瘎浼板嚱鏁拌鏈変笅闈笁涓弬閲1妫嬪瓙鐨勬暟閲忓拰棰滆壊2鍚堢悊鐨勪笅瀛愪綅缃... 鍐欎竴涓▼搴忕敤伪-尾鎼滅储鏉ョ帺榛戠櫧妫嬮粦鐧芥鐨勮鍒欏湪杩欓噷http://zh....
  • 鎯宠鏁欏悇浣嶅ぇ渚,鍏充簬缃戠粶鐗堜簲瀛妫鐨勮鍒欐槸浠涔?
    绛旓細銆栬疆璧版柟銆楀灞鍗冲皢寮濮嬫椂鐨勯粦鏂规垨鍦ㄥ灞杩囩▼涓竴鏂圭潃娉曞畬姣曞悗鐨勫彟涓鏂规垨鍦ㄢ滀笁鎵嬪彲浜ゆ崲鈥濅腑濡傛灉鐧芥柟鎻愬嚭浜ゆ崲榛戠櫧妫鍚庢柊鐨勭櫧鏂广 銆栧紑灞銆楃敱榛戞涓嬩簩鐫,鐧芥涓嬩竴鐫,鍦ㄥ灞寮濮嬮樁娈靛舰鎴愮殑甯冨眬,鑱屼笟杩炵彔瑙勫垯鍖呮嫭浜屽崄鍏寮灞銆 銆栬儨灞銆楁湁涓鏂硅幏鑳滅殑瀵瑰眬銆傝儨灞鐨勫垽瀹氫负鏈鍏堝湪妫嬬洏涓婂舰鎴愨滀簲杩炩濈殑涓鏂逛负鑳;榛戞柟...
  • easyx杈撳嚭琛ㄦ儏涓轰粈涔堟槸闂彿
    绛旓細鎶婇棶鍙锋敼鎴愯緭鍑烘牸寮%d 鍚庨潰鐨刟rrxx[1]鐨勫兼墠浼氳緭鍑篍asyX 鏄拡瀵 C/C++ 鐨勫浘褰㈠簱锛屽彲浠ュ府鍔╀娇鐢–/C++璇█鐨勭▼搴忓憳蹇熶笂鎵嬪浘褰㈠拰娓告垙缂栫▼銆傛瘮濡傦紝鍙互鐢 VC + EasyX 寰堝揩鐨勭敤鍑犱綍鍥惧舰鐢讳竴涓埧瀛愶紝鎴栬呬竴杈嗙Щ鍔ㄧ殑灏忚溅锛屽彲浠ョ紪鍐欎縿缃楁柉鏂瑰潡銆佽椽鍚冭泧銆榛戠櫧妫绛夊皬娓告垙锛屽彲浠ョ粌涔犲浘褰㈠鐨勫悇绉嶇畻娉曪紝绛夌瓑銆
  • 闆跺熀纭瀛︿範C璇█
    绛旓細娓告垙 22.1 榛戠櫧妫 22.1.1 绋嬪簭鍔熻兘瑕佹眰 22.1.2 杈撳叆杈撳嚭鏍蜂緥 22.1.3 绋嬪簭鍒嗘瀽 22.1.4 绋嬪簭鍒濆鍖 22.1.5 鍒濆鍖栧浘褰㈣澶 22.1.6 缁樺埗妫嬬洏 22.1.7 浜ゆ浛缁樺埗榛戠櫧妫 22.1.8 娓告垙(鍚屾椂鍒ゆ柇鏄惁鏈変竴鏂硅儨鍒) 22.1.9 灏忕粨 22.2 浜斿瓙妫 22.2.1 绋嬪簭鍔熻兘瑕佹眰 22.2.2 杈撳叆杈撳嚭鏍蜂緥 22.2.3 绋嬪簭鍒嗘瀽 22.2.4 涓...
  • 濡備綍瀛﹀ソC璇█?
    绛旓細浠栦护浜哄悆鎯婄殑鏄,鎸囬拡,缁撴瀯浣,浣嶈繍绠楃瓑绛,閮芥病鎼炴噦(鏇翠笉鐢ㄨ绠楁硶鍜屾暟鎹粨鏋),鍙浜嗕笁绉嶇▼搴忕粨鏋,鐜板湪鍙浜咰鍗婂勾,渚胯嚜宸辫兘缂栧嚭璐悆铔,淇勭綏鏂柟鍧,鎵浄,杩樻湁寰堝鍙笉鍑哄悕瀛楃殑灏忔父鎴忔潵,鐜板湪鍙堝湪鍐榛戠櫧妫,鎴戠煡閬撴垜纭疄鏄蛋浜嗕笉灏戝集璺 绋嬪簭搴旇鎬庢牱瀛,瀵笴鏉ヨ,鎴戣寰楀簲璇ヤ粠鐢诲浘瀛﹁捣銆 鍘熷洜鏈変簩銆 涓,鐢诲浘...
  • 扩展阅读:黑白棋9步赢过程图 ... 黑白棋手工图 ... 黑白棋怎么玩图解法 ... 孟辉vcc富勒烯精华液 ... 录制ppt演讲视频露脸 ... 翻转黑白棋规则图解 ... 黑白棋单机版下载 ... v导录屏app官网 ... 黑白棋视频 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网