㈠ 求五子棋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_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++)
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()
{
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(box[i][j]==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(box[i][j]==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(box[i][j]==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(box[i][j]==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(box[step_x][step_y]==0)
{
box[step_x][step_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(box[j][k]==flag)
n1++;
else
break ;
}
/*水平向右數*/
for(j=x,k=y;j<=18;j++)
{
if(box[j][k]==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(box[j][k]==flag)
n1++;
else
break ;
}
/*垂直向下數*/
for(j=x,k=y;k<=18;k++)
{
if(box[j][k]==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(box[j][k]==flag)
n1++;
else
break ;
}
/*向右下方數*/
for(j=x,k=y;j<=18,k<=18;j++,k++)
{
if(box[j][k]==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(box[j][k]==flag)
n1++;
else
break ;
}
/*向左下方數*/
for(j=x,k=y;j>=1,k<=18;j--,k++)
{
if(box[j][k]==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();
}
㈡ 浜斿瓙媯嬶紝璞℃嬶紝鍥存嬶紝鍒嗗埆鏄璋佸彂鏄庣殑 鍦ㄤ粈涔堟湞浠o紵璇︾粏濡傞 璋㈣阿浜
[緙栬緫鏈孌礭銆愪簲瀛愭嬬畝浠嬨 浼犵粺浜斿瓙媯嬶細 浼犵粺浜斿瓙媯嬬殑媯嬪瓙鍒嗕負榛戠櫧涓よ壊錛岄噰鐢19脳19媯嬬洏錛屾嬪瓙鏀劇疆浜庢嬬洏綰誇氦鍙夌偣涓娿備袱浜哄瑰矓錛屽悇鎵т竴鑹詫紝杞嫻佷笅涓瀛愶紝鍏堝皢妯銆佺珫鎴栨枩綰跨殑5涓鎴5涓浠ヤ笂鍚岃壊媯嬪瓙榪炴垚涓嶉棿鏂鐨勪竴鎺掕呬負鑳溿 鍥犱負浼犵粺浜斿瓙媯嬪湪钀藉瓙鍚庝笉鑳界Щ鍔ㄦ垨鎷挎帀綰ゆ淳錛屾墍浠ヤ篃鍙浠ョ敤綰稿拰絎旀潵榪涜屾父鎴忋 縐拌皳錛 浜斿瓙媯嬶紝鏃ユ枃浜︽湁鈥滆繛浜斿瓙銆佷簲瀛愯繛銆佷覆鐝犮佷簲鐩銆佷簲鐩紕般佷簲鏍箋佷簲鐭熾佷簲娉曘佷簲鑱斻佷含媯嬧濈瓑澶氱嶇О璋擄紝鑻辨枃鍒欑О涔嬩負鈥淔IR (Five In A Row鐨勭緝鍐)銆丟omoku(鏃ヨ鈥滀簲鐩鈥濈殑緗楅┈鎷奸煶)銆丟obang銆乧onnect 5銆乵o-rphion鈥濄傛嵎鍏嬭璸iskvorky錛岄煩璇璷mok鈥︹ 璁稿氬浗瀹剁殑浜哄逛簲瀛愭嬮兘鏈変笉鍚岀殑鐖辯О錛屼緥濡傦紝闊╁浗浜烘妸浜斿瓙媯嬬О涓衡滄儏渚f嬧濓紝鏆楃ず鎯呬漢涔嬮棿涓嬩簲瀛愭嬫湁鍒╀簬澧炲姞鎯呮劅鐨勪氦嫻侊紱嬈ф床浜虹О鍏朵負鈥滅粎澹媯嬧濓紝浠h〃涓嬩簲瀛愭嬬殑鍚涘瓙椋庡害鑳滀技緇呭+錛涙棩鏈浜哄垯縐板叾涓衡滀腑鑰佸勾媯嬧濓紝璇存槑浜斿瓙媯嬮傚悎涓鑰佸勾浜虹殑鐢熺悊鐗圭偣鍜屾濈淮鏂瑰紡錛涚編鍥戒漢鍠滄㈠皢浜斿瓙媯嬬О涓衡滃晢涓氭嬧濓紝涔熷氨鏄璇達紝鍟嗕漢璋堢敓鎰忔椂鍙杈逛笅媯嬭竟璋堢敓鎰忥紝媯嬩笅瀹屼簡鐢熸剰涔熻皥鎴愪簡銆 璧鋒簮錛 浜斿瓙媯嬬浉浼犺搗婧愪簬鍥涘崈澶氬勾鍓嶇殑灝у笣鏃舵湡錛屾瘮鍥存嬬殑鍘嗗彶榪樿佹偁涔咃紝鍙鑳芥棭鍦ㄢ滃哀閫犲洿媯嬧濅箣鍓嶏紝姘戦棿灝卞凡鏈変簲瀛愭嬫父鎴忋傛湁鍏蟲棭鏈熶簲瀛愭嬬殑鏂囧彶璧勬枡涓庡洿媯嬫湁鐩鎬技涔嬪勶紝鍥犱負鍙や唬浜斿瓙媯嬬殑媯嬪叿涓庡洿媯嬫槸瀹屽叏鐩稿悓鐨勩傚湪涓婂彜鐨勭炶瘽浼犺翠腑鏈夆滃コ濞查犱漢錛屼紡緹插仛媯嬧濅竴璇達紝銆婂炲北嫻風粡銆嬩腑璁拌澆錛氣滀紤鑸嗕箣灞辨湁鐭崇剦錛屽悕鏇板笣鍙頒箣媯嬶紝浜旇壊鑰屾枃鐘墮箲鍗點傗濇潕鍠勬敞寮曚笁鍥介瓘閭閮告煩銆婅壓緇忋嬩腑鏇幫細鈥滄嬪矓錛岀旱妯鍚勫嶮涓冮亾錛屽悎浜岀櫨鍏鍗佷節閬擄紝鐧介粦媯嬪瓙錛屽悇涓鐧句簲鍗佹灇鈥濄傝繖孌佃櫧娌℃槑璁叉槸浣曠嶆嬬被錛屼絾鑷沖皯鐭ラ亾榪滃彜灝變互婕備寒鐨勭煶澶翠負媯嬪瓙銆傚洜鑰岃勫垯綆鍗曠殑浜斿瓙媯嬩篃鍙鑳藉嚭鑷褰撴椂錛屽苟鏄鐢ㄧ煶瀛愪綔媯嬪瓙銆備害鏈変紶璇達紝浜斿瓙媯嬫渶鍒濇祦琛屼簬灝戞暟姘戞棌鍦板尯錛屼互鍚庢笎娓愭紨鍙樻垚鍥存嬪苟鍦ㄧ値榛勫瓙瀛欏悗浠d腑閬嶅強寮鏉ャ 鍦ㄥ彜浠o紝浜斿瓙媯嬫嬪叿鉶界劧涓庡洿媯嬬浉綾誨悓錛屼絾鏄涓嬫硶鍗存槸瀹屽叏涓嶅悓鐨勩傛e傘婅緸嫻楓嬩腑鎵璦錛屼簲瀛愭嬫槸鈥滄嬬被娓告垙錛屾嬪叿涓庡洿媯嬬浉鍚岋紝涓や漢瀵瑰矓錛岃疆嫻佷笅瀛愶紝鍏堝巻鐩灝嗕簲瀛愯繛鎴愪竴琛岃呬負鑳溿傗濄 [緙栬緫鏈孌礭銆愪簲瀛愭嬬殑鍙戝睍銆 鏃ユ湰 鎹鏃ユ湰鍙叉枡鏂囩尞璁拌澆錛屼腑鍥藉彜浠g殑浜斿瓙媯嬪厛鐢變腑鍥戒紶鍒伴珮涓斤紙鏈濋矞錛夛紝鐒跺悗浜庡叕鍏1688騫磋嚦1704騫存棩鏈鐨勫厓紱勬椂浠e啀浠庨珮涓戒紶鍒版棩鏈錛屾渶鍒濆湪鐨囧鍜岃吹鏃忓ぇ瀹跺涵涓嫻佽岋紝鍒板厓紱勬湯鏈燂紝寮濮嬪湪姘戦棿鐩涜屻1899騫達紝瀵逛紶緇熶簲瀛愭嬭繘琛岃勫垯鏀硅壇鍚庯紝緇忚繃鍏寮寰佸悕錛屸滆仈鐝犫濊繖涓鍚嶇О鎵嶈姝e紡紜瀹氫笅鏉ャ傚彇鎰忎簬鈥滄棩鏈堝傚悎鐠э紝浜旀槦濡傝仈鐝犫濄傜幇鍐欏仛鈥滆繛鐝犫濄 嬈ф床 20涓栫邯鍒濅紶緇熶簲瀛愭嬪強榪炵彔浠庢棩鏈浼犲叆嬈ф床錛屼簲瀛愭嬬О涓衡淔ive In A Row鈥(緙╁啓涓篎IR)錛屽悓鏃舵牴鎹鏃ヨ鐨勭綏椹鎷奸煶錛屸滀簲鐩銆佷簲鐩紕扳濈О涓"Gomoku銆丟obang"錛屸滆繛鐝犫濆垯縐頒箣涓衡淩enju鈥濄 1958騫翠互鍙1979騫達紝鐟炲吀鍜屽墠鑻忚仈鍒嗗埆鎴愮珛浜嗚繛鐝犺仈鐩熴1988騫達紝鏃ユ湰銆佸墠鑻忚仈浠ュ強鐟炲吀涓変釜鍥藉剁殑榪炵彔緇勭粐鍦ㄧ憺鍏告垚絝嬪浗闄呰繛鐝犺仈鐩(Renju International Federation,綆縐癛IF). 20涓栫邯90騫翠唬嬈ф床涓浜涘浗瀹跺皢浼犵粺浜斿瓙媯嬪紩鍏モ滀氦鎹⑩濈瓑瑙勫垯鍚庯紝緇忚繃鍙戝睍閫愭笎褰㈡垚涓緋誨垪鐨凣omoku鏂拌勫垯姣佺儌璐猴紝涓嬈т竴浜涘浗瀹舵垚絝嬩簡Gomoku緇勭粐錛屽苟鍜屽叚瀛愭嬪叡鍚屾垚絝嬩簡鍥介檯鑱旂洘(GCIF)銆 21涓栫邯鍒濆湪涓懼姙涓栫晫榪炵彔(renju)閿︽爣璧涚殑鍚屾椂涔熶婦鍔炰笘鐣孏omoku閿︽爣璧(GT)鍙婂叚瀛愭嬪浗闄呭叕寮璧(CT)銆 2009騫8鏈堝湪鎹峰厠鍏卞拰鍥(CzechRepublic)甯曞皵鏉滄瘮閲囧競(Parbice)灝嗕婦琛岀11灞婁笘鐣岃繛鐝犻敠鏍囪禌鍜岀3灞婁笘鐣孏omoku閿︽爣璧涖 涓鍥 闀誇箙浠ユ潵浜斿瓙媯嬪湪涓鍥戒竴鐩存病鏈夊緱鍒板彂灞曘 2001騫達紝鍥藉朵綋鑲叉誨矓鎵瑰噯涓鍥芥嬮櫌璇曞姙鍏ㄥ浗鎬т簲瀛愭嬫瘮璧涖 2002騫8鏈2-4鏃ワ紝涓鍥芥嬮櫌涓懼姙浜嗛栧眾鍏ㄥ浗浜斿瓙媯嬩釜浜洪個璇瘋禌錛屾ゅ悗姣忓勾涓懼姙涓嬈° 2003騫達紝鍥藉朵綋鑲叉誨矓鎵瑰噯浜嗕腑鍥芥嬮櫌瀹″畾鐨勩婁腑鍥戒簲瀛愭嬬珵璧涜勫垯銆(璇曡)錛堝弬鑰冭祫鏂 [1] 錛夊拰銆婁腑鍥戒簲瀛愭嬫電駭浣嶅埗銆(璇曡)錛堝弬鑰冭祫鏂 [2] 錛夈 2006騫2鏈堬紝鍥藉朵綋鑲叉誨矓瀵逛簲瀛愭嬫e紡絝嬮」錛屼綔涓哄洿媯嬩笅鐨勪竴涓浜岀駭欏圭洰銆傚叏鍥藉悇鍦扮浉緇ф垚絝嬩簡鏂扮殑浜斿瓙媯嬩勘涔愰儴銆 2007騫5鏈堝拰10鏈堜腑鍥芥嬮櫌鍏堝悗涓懼姙浜嗛栧眾鍏ㄥ浗浜斿瓙媯嬪洟浣撻敠鏍囪禌鍜岄栧眾鍏ㄥ浗浜斿瓙媯嬩釜浜洪敠鏍囪禌銆 2008騫6鏈堝拰12鏈堜腑鍥芥嬮櫌鍏堝悗涓懼姙浜嗙浜屽眾鍏ㄥ浗浜斿瓙媯嬪洟浣撻敠鏍囪禌鍜岀浜屽眾鍏ㄥ浗浜斿瓙媯嬩釜浜洪敠鏍囪禌銆 2009騫5鏈堝拰10鏈堜腑鍥芥嬮櫌鍏堝悗涓懼姙浜嗙浜屽眾鍏ㄥ浗浜斿瓙媯嬪洟浣撻敠鏍囪禌鍜岀浜屽眾鍏ㄥ浗浜斿瓙媯嬩釜浜洪敠鏍囪禌銆 2009騫11鏈堬紝棣栧眾鍏ㄥ浗鏅哄姏榪愬姩浼氬皢浜斿瓙媯嬩綔涓烘e紡姣旇禌欏圭洰錛堝弬鑰冭祫鏂 [3] 錛夈 [緙栬緫鏈孌礭銆愮幇浠d簲瀛愭嬨 闅忕潃浜斿瓙媯嬬殑鍙戝睍錛岄愭ュ彂鐜板厛鎵嬩紭鍔塊潪甯稿ぇ錛屾渶鍚庡緱鍑衡滃厛鎵嬪繀鑳溾濄備簲瀛愭嬭佹垚涓虹珵鎶榪愬姩錛屾牳蹇冮棶棰樻槸鎬庢牱瑙e喅浼犵粺浜斿瓙媯嬩笅娉曚腑鈥滃厛鎵嬪繀鑳溾濈殑闂棰樸 鈥滅珵鎶浜斿瓙媯嬧濆氨鏄鍙傝禌鍙屾柟浠ユ嬬洏鍜屾嬪瓙涓轟粙浣擄紝榪涜屾櫤鍔涙у規姉鐨勭珵鎶浣撹偛欏圭洰銆 鈥滀氦鎹⑩濇濈淮 鈥滀氦鎹⑩濇濈淮鏈変釜褰㈣薄鐨勬瘮鍠伙細涓涓浜哄垏錏嬬硶錛屼竴涓浜洪夎泲緋曘傚嵆錛氫竴浜哄紑灞錛屽彟涓浜洪夋嫨榛戞柟榪樻槸鐧芥柟銆傛ゆ柟娉曟渶涓哄叕騫熾佹渶鏈夋晥鐜囷紝涓旀渶涓虹畝媧佸疄鐢ㄣ備笉榪囨ゆ柟娉曚嬌寮灞鑰呬笉璧板凡鐭ョ殑蹇呰儨錛屾妸媯嬭壓鐨勮緝閲忔紨鍖栦負瀵瑰矓鑰呭紑灞鐨勫崥寮堬紝鑰屸滃厛鎵嬪繀鑳溾濅緷鐒跺瓨鍦ㄣ 濡傦細嬈ф床鐨凷wap2銆丼wap1錛涗腑鍥界殑Swap3銆佺涓鎵嬩氦鎹㈣勫垯絳夈 鈥 紱佹墜 鈥濇濈淮 紱佹浠ユ煇縐嶆墜孌靛彇鑳溿備負浜嗗鉤琛″厛鍚庢墜涔嬮棿鐨勫樊璺濓紝鍓婂急鍏堟墜浼樺娍錛屾棩鏈榪炵彔鎻愬嚭鈥滅佹墜鈥濄傚悗鏉ヨ繛鐝犵殑鍙戝睍璇佹槑紱佹墜騫朵笉鑳藉鉤琛″厛鍚庢墜涔嬮棿鐨勫樊璺濓紝渚濈劧鏄鈥滃厛鎵嬪繀鑳溾濄 鈥滄場娌鈥濆師鐞 鍍忔場娌涓鏍蜂細鐮寸伃銆傚傗滃悆瀛愨濅簲瀛愭嬨傝繛鎴5涓鍚庢秷澶憋紝鍚屾椂鎷挎帀瀵規柟涓涓媯嬪瓙錛岃嚜宸卞啀琛ヤ竴瀛愩傛ゅ師鐞嗙殑鐨勭壒鐐規槸錛氭妸浜斿瓙媯嬮噾鐞冨埗鏀規垚浜嗏滆繘鐞冨埗鈥濓紝鍚屾椂涔熸渶澶ф晥鐜囧湴鍒╃敤浜嗘嬬洏鍜屾嬪瓙錛屽甫鏉ヤ簡鍏ㄦ柊鐨勬濈淮銆傞棶棰樻槸鎬庢牱璁$畻鑳滆礋銆 鈥滀簳瀛楁父鎴忊濆師鐞 浜曞瓧娓告垙鍙堝彨鍦堝弶媯嬶紝鍦堝弶媯嬫槸鍜屾嬶紝鍘熷洜鏄絀洪棿寰堝皬銆 閫氳繃緙╁皬媯嬬洏鏉ユ姂鍒朵簲瀛愭嬪厛鎵嬬殑浼樺娍銆傚傦細15璺媯嬬洏錛13璺媯嬬洏絳夌瓑銆傞棶棰樻槸澶氬ぇ鐨勬嬬洏鎵嶈兘鏄鍜屾嬶紝鐭ラ亾鍜屾嬪悗榪樿兘鎴愪負絝炴妧榪愬姩鍚椼 鈥滆販璺鋒澘鈥濆師鐞 浜斿瓙媯嬪嬬粓鏄鍏堟墜棰嗗厛涓瀛愩傚傛灉鍙屾柟杞嫻侀嗗厛涓瀛愬憿錛 鍙版咕鏁欐巿鍙戞槑鐨勫叚瀛愭嬶紝灝卞傗滆販璺鋒澘鈥濅竴鏍楓傚厛鎵嬪厛涓嬩竴瀛愶紝鐒跺悗鍙屾柟杞嫻佷笅涓ゅ瓙錛屽厛榪炴垚6瀛愯呰儨鍒┿傚叚瀛愭嬩負絎11灞婂ゥ鏋楀尮浜氳$畻鏈烘父鎴忕▼搴忕珵璧涢」鐩錛岄獙璇佸叾鍏騫蟲т笌澶嶆潅鎬с 鑱屼笟鍒朵紶緇熶簲瀛愭: 鐢辨柤浼犵粺浜斿瓙媯嬪叿鏈変笉鍏騫蟲,鑰岀幇浠d簲瀛愭嬩簲瀛愭嬬佹墜瑙勫垯浠や竴閮ㄥ垎媯嬫墜鏈涜屾姝.鏂兼槸浜х敓浜嗚亴涓氬埗浼犵粺浜斿瓙媯,鑱屼笟鍒朵紶緇熶簲瀛愭嬭櫧鐒跺噯澶囬夯鐑,浣嗚儨鍦ㄧ畝鍗曞叕騫,鑰屼笖闅懼害澧炲姞(澶嶆潅紼嬪害楂樻柤涓鍥借薄媯,鎺ヨ繎鍥存),涔呰屼範涔,鎬濈淮媧昏穬. 瑙勫垯濡備笅: 1.鍑嗗19脳19媯嬬洏涓ゅ紶 2.榛戠櫧瀛愭暟鐩蹇呴』婊¤凍 3.絎涓鍥炲悎鍏堟墜鍙鑳戒笅涓鎵,鍏墮鍥炲悎鍙浠ヤ笅榪炵畫涓ゆ墜 4.寰屾墜姣忓洖鍚堝潎鍙浠ヤ笅榪炵畫涓ゆ墜 5.姣忛楀瓙鎵鎶曠殑媯嬬洏娌℃湁闄愬埗 6.鍙瑕佷換鎰忎竴鏂瑰湪涓や釜媯嬬洏涓婁笖鍚屼竴涓鍥炲悎涓婅繛涓轟簲瀛愪負鑳 7.鑻ヤ換鎰忎竴鏂瑰湪涓や釜媯嬬洏涓婁笖涓嶅悓涓涓鍥炲悎涓婅繛涓轟簲瀛愪負璐 8.鑻ヤ換鎰忎竴鏂瑰湪涓嶈凍涓や釜媯嬬洏涓婁笖鍚屼竴涓鍥炲悎涓婅繛涓轟簲瀛愪負璐 緇煎悎鏁堝簲 鈥滅佹墜鈥濇濈淮+鈥滀氦鎹⑩濇濈淮+鈥滀簳瀛楁父鎴忊濆師鐞=榪炵彔 濡傦細RIF瑙勫垯銆丼akata瑙勫垯銆乊amaguchi瑙勫垯Tarannikov瑙勫垯絳夈 鐜頒唬浜斿瓙媯嬬殑鐜扮姸 浜斿瓙媯嬨佸叚瀛愭嬨佽繛鐝犲凡緇忔垚涓烘ф床鐜頒唬浜斿瓙媯嬬殑緇勬垚閮ㄥ垎錛屼婦琛屼簡寰堝氭″ぇ澶у皬灝忕殑姣旇禌錛屽苟涓斿皢涓夌嶆嬬殑涓栫晫閿︽爣璧涜仈鍚堜婦琛屻 涓鍥界殑鐜頒唬浜斿瓙媯嬭繕澶勪簬璧鋒ラ樁孌點2003騫翠腑鍥芥嬮櫌銆婁腑鍥戒簲瀛愭嬬珵璧涜勫垯銆嬪弬鑰冧簡RIF瑙勫垯錛屽悓鏃跺吋欏懼彂灞曚紶緇熶簲瀛愭嬨 [緙栬緫鏈孌礭銆愪簲瀛愭嬫電駭浣嶅埗銆 涓鍥戒簲瀛愭嬫電駭浣嶅埗 (璇曡) 錛堝叿浣撳唴瀹硅佸弬鑰冭祫鏂 [2] 錛 浜斿瓙媯嬬殑孌電駭浣嶅硅薄錛 鍙傚姞涓鍥芥嬮櫌璁ゅ彲鐨勫浗鍐呭栦簲瀛愭嬫瘮璧涚殑浜斿瓙媯嬬埍濂借呫 絎鍥涙潯 孌典綅鍏卞垎涔濅釜絳夌駭錛屾渶楂樻槸涔濇碉紝浠ヤ笅鍒嗗埆鏄鍏孌點佷竷孌點佸叚孌點佷簲孌點佸洓孌點佷笁孌點佷簩孌點佸垵孌點傛典綅浠ヤ笅鍏卞垎鍗佷釜絳夌駭錛屾渶楂樻槸涓綰э紝浠ヤ笅鍒嗗埆鏄浜岀駭銆佷笁綰с佸洓綰с佷簲綰с佸叚綰с佷竷綰с佸叓綰с佷節綰с佸嶮綰с 絎浜旀潯 鏍規嵁涓鍥戒簲瀛愭嬬埍濂借呭湪鍥藉唴銆佸浗闄呬氦嫻佷腑鎵浣撶幇鍑烘潵鐨勫疄闄呮按騫籌紝鍦ㄤ簲瀛愭嬫電駭浣嶅埗搴﹀疄鏂藉垵鏈燂紝瀵圭埍濂借呮巿浜堢殑鏈楂樻典綅鏆傚畾涓哄叚孌點傞殢鐫涓鍥芥嬫墜鍙備笌鍥藉唴澶栦氦嫻佹満浼氱殑澧炲姞鍜屾妧鏈姘村鉤鐨勬彁楂橈紝閫愭ュ炲姞鎵鎺堜簣孌典綅鐨勪笂闄愶紝鐩磋嚦涔濇點 鐜板湪鍦ㄤ腑鍥斤紝鑾峰緱孌電駭浣嶇殑涓昏佹笭閬撴槸閫氳繃姣旇禌銆傚湪鍏ㄥ浗浜斿瓙媯嬮個璇瘋禌絳夊浗鍐呭ぇ璧涗腑鑾峰緱涓瀹氬悕嬈★紝鍗沖彲鑾峰緱鐩稿簲孌典綅銆 鐩稿叧瑙勫畾瑙侊紙鍙傝冭祫鏂 [2] 錛 [緙栬緫鏈孌礭銆愭嬬洏銆佹嬪瓙涓庤拌氨鏂規硶銆 鐩鎬紶涓鍗庢皯鏃忕殑紲栧厛杞╄緯榛勫笣鏃犳剰涔嬩腑鐢諱笅浜嗗嶮涓冩潯妯綰垮嶮鏉$珫綰匡紝榪欐棤鎰忎腑鐨勫彂鏄庨犲氨鍑轟簡浜斿瓙媯嬨傛棭鍦ㄥ叕鍏595騫村彜浜哄氨鐢ㄧ摲鏉ョ儳鍒朵簲瀛愭嬬洏浜嗐傚崈鐧懼勾鏉ワ紝浜轟滑鐢ㄥ悇縐嶆潗璐ㄦ潵鍒墮犲洿媯嬬殑媯嬪瓙錛屽傦細鐜葷拑銆佺摲鍣ㄣ佺帀銆佺帥鐟欍侀摐絳夌瓑銆 鍙や唬浜斿瓙媯嬫嬬洏涓庡洿媯嬫嬬洏鏄閫氱敤鐨勶紝奼夐瓘鏃朵負鍗佷竷璺錛17脳17錛夋嬬洏錛岃嚦鍗楀寳鏈濇椂鍗沖凡嫻佽屽嶮涔濊礬錛19脳19錛夋嬬洏錛岀洿鑷1931騫達紝鎵嶅嚭鐜版墍璋撲簲瀛愭嬩笓鐢ㄦ嬬洏錛屽傚浘鎵紺猴紝涓哄嶮浜旇礬錛15脳15錛夋嬬洏錛屽艦鐘惰繎浜庢f柟褰錛屽鉤闈涓婄敾妯絝栧悇15鏉″鉤琛岀嚎錛岀嚎璺涓洪粦鑹詫紝鏋勬垚225涓浜ゅ弶鐐癸紝閭昏繎涓や釜浜ょ偣鐨勮窛紱葷旱綰跨害涓2.5鍘樼背錛屾í綰跨害涓2.4鍘樼背銆傛嬬洏姝d腑涓鐐逛負鈥滃ぉ鍏冣濄傛嬬洏涓ょ鐨勬í綰跨О絝綰匡紝媯嬬洏宸﹀彸鏈澶栬竟鐨勪袱鏉$旱綰跨О杈圭嚎銆備粠涓ゆ潯絝綰垮拰涓ゆ潯杈圭嚎鍚戞d腑鍙戝睍鑰岀旱妯浜ゅ弶鍦ㄧ鍥涙潯綰垮艦鎴愮殑鍥涗釜鐐圭О涓衡滄槦鈥濄傚ぉ鍏冨拰鏄熷簲鍦ㄦ嬬洏涓婄敤鐩村緞綰︿負0.5鍘樼背鐨勫疄蹇冨皬鍦嗙偣鏍囧嚭銆 浜斿瓙媯嬫嬪瓙浜︾О鈥滄嬬煶鈥濆垎榛戙佺櫧涓よ壊錛屽艦鐘朵負鎵佸渾褰錛屾湁涓闈㈠嚫璧鋒垨涓ら潰鍑歌搗絳夊艦鐘訛紝鍘氬害涓嶈秴榪0.8鍘樼背錛岀洿寰勪負2.0鍀2.3鍘樼背錛涗竴鍓媯嬪瓙鎬繪暟涓225鏋氾紝鍏朵腑榛戝瓙113鏋氾紝鐧藉瓙112鏋氥傛寜璐ㄥ湴鐨勪笉鍚岋紝鍙鍒嗕負鐜葷拑銆侀櫠鐡楓佸戞枡銆佹櫤鐭熾佺侀搧銆佽洡璐濄佺儳鏂欍佹按鏅躲佺帥鐟欍佺帀鐭崇瓑媯嬪瓙銆 鍥藉唴璐ㄩ噺姣旇緝濂界殑鏄浜戝瓙錛岃屾棩鏈甯哥敤鐨勬嬪瓙鏄璐濆3鍒朵綔鐨勩 浜斿瓙媯嬫h勭殑璁拌氨鏂規硶涓虹敤鈥滀簲瀛愭嬬跨焊鈥濓紝鍗充笓渚涗簲瀛愭嬬埍濂借呰板綍瀵瑰矓鎴栫潃娉曠殑紼跨焊銆傚叾涓婂嵃鏈夋h勪笓鐢ㄦ嬬洏鍥懼艦錛岃板綍鏃跺彧瑕佹寜鐩稿簲浣嶇疆鍦ㄧ焊涓婃爣鏄庤屾嬬殑鍏堝悗錛屽嵆鍙鍙嶆槧瀵瑰矓鐨勮繘琛岃繃紼嬨傞潪姝h勭殑璁拌氨鏂規硶涓虹敤鏍煎瓙綰歌板綍錛屽嵆鐢ㄥ崟鏁1銆3銆5絳夎板綍榛戞柟鐨勮蛋娉曪紝鐢ㄥ弻鏁2銆4銆6璁板綍鐧芥柟鐨勮蛋娉曪紝鍚屾牱鍙鍙嶆槧瀵瑰矓鐨勮繘琛岃繃紼嬨傚彟澶栬繕鏈夊寳浜浜閮戒簲瀛愭嬪崗浼氫負浜嗘帹騫跨洸浜轟笅浜斿瓙媯嬶紝浠ュ強姝e父浜轟笅鐩叉嬪苟鑳岃典簲瀛愭嬫嬭氨錛屼笓闂ㄨ捐$殑鐩叉嬭拌氨娉曠瓑銆 [緙栬緫鏈孌礭銆愮浉鍏蟲湳璇銆 銆愬瑰矓鐩稿叧鏈璇銆戙栭粦鏂廣楁墽榛戞嬩竴鏂圭殑綆縐般 銆栫櫧鏂廣楁墽鐧芥嬩竴鏂圭殑綆縐般 銆栬儨灞銆楁湁涓鏂硅幏鑳滅殑瀵瑰矓銆 銆栧拰灞銆楀垎涓嶅嚭鑳滆礋鐨勫瑰矓銆 銆栫粓灞銆楀瑰矓緇撴潫銆 銆栧嶇洏銆楀瑰矓鍙屾柟灝嗘湰鐩樺瑰矓鍏ㄨ繃紼嬬殑鍐嶇幇銆 銆愯屾嬬浉鍏蟲湳璇銆戙栭槼綰褲楀嵆:鐩寸嚎錛屾嬬洏涓婂彲瑙佺殑妯綰電洿綰褲 銆栦氦鍙夌偣銆楅槼綰垮瀭鐩寸浉浜ょ殑鐐癸紝綆縐扳滅偣鈥濄 銆栭槾綰褲楀嵆:鏂滅嚎錛岀敱浜ゅ弶鐐規瀯鎴愮殑涓庨槼綰挎垚45擄澶硅掔殑闅愬艦鏂滅嚎銆 銆栬惤瀛愩楁嬪瓙鐩存帴钀戒簬媯嬬洏鐨勭┖鐧戒氦鍙夌偣涓娿 銆栬疆璧版柟銆楀嵆鈥滆屾嬫柟鈥濓紝鏈夋潈鍒╄惤瀛愮殑榛戞柟鎴栫櫧鏂廣 銆栫潃銆楀湪瀵瑰矓榪囩▼涓錛岃屾嬫柟鎶婃嬪瓙钀藉湪媯嬬洏鏃犲瓙鐨勭偣涓婏紝涓嶈鴻惤瀛愮殑鎵嬫槸鍚﹁劚紱繪嬪瓙錛屽潎琚瑙嗕負涓鐫銆 銆栧洖鍚堛楀弻鏂瑰悇璧頒竴鐫錛岀О涓轟竴涓鍥炲悎銆 銆栧紑灞銆楀湪瀵瑰矓寮濮嬮樁孌靛艦鎴愮殑甯冨矓銆 銆栬繛銆楀悓鑹叉嬪瓙鍦ㄤ竴鏉¢槼綰挎垨闃寸嚎涓婄浉閭繪垚涓鎺掋 銆栭暱榪炪椾簲鏋氫互涓婂悓鑹叉嬪瓙鍦ㄤ竴鏉¢槼綰挎垨闃寸嚎涓婄浉閭繪垚涓鎺掋 銆栦簲榪炪楀彧鏈変簲鏋氬悓鑹叉嬪瓙鍦ㄤ竴鏉¢槼綰挎垨闃寸嚎涓婄浉閭繪垚涓鎺掋 銆栨垚浜斻楀惈鏈変簲鏋氬悓鑹叉嬪瓙鎵褰㈡垚鐨勮繛錛屽寘鎷浜旇繛鍜岄暱榪炪 銆栧洓銆楀湪涓鏉¢槼綰挎垨闃寸嚎涓婅繛緇鐩擱偦鐨5涓鐐逛笂鍙鏈夊洓鏋氬悓鑹叉嬪瓙鐨勬嬪瀷銆 銆栨椿鍥涖楁湁涓や釜鐐瑰彲浠ユ垚浜旂殑鍥涖 銆栧啿鍥涖楀彧鏈変竴涓鐐瑰彲浠ユ垚浜旂殑鍥涖 銆栨誨洓銆椾笉鑳芥垚浜旂殑鍥涖 銆栦笁銆楀湪涓鏉¢槼綰挎垨闃寸嚎涓婅繛緇鐩擱偦鐨5涓鐐逛笂鍙鏈変笁鏋氬悓鑹叉嬪瓙鐨勬嬪瀷銆 銆栨椿涓夈楀啀璧頒竴鐫鍙浠ュ艦鎴愭椿鍥涚殑涓夈 銆栬繛媧諱笁銆楀嵆錛氳繛鐨勬椿涓(鍚岃壊媯嬪瓙鍦ㄤ竴鏉¢槼綰挎垨闃寸嚎涓婄浉閭繪垚涓鎺掔殑媧諱笁)銆傜畝縐扳滆繛涓夆濄 銆栬煩媧諱笁銆椾腑闂撮殧鏈変竴涓絀虹偣鐨勬椿涓夈傜畝縐扳滆煩涓夆濄 銆栫湢涓夈楀啀璧頒竴鐫鍙浠ュ艦鎴愬啿鍥涚殑涓夈 銆栨諱笁銆椾笉鑳芥垚浜旂殑涓夈 銆栦簩銆楀湪涓鏉¢槼綰挎垨闃寸嚎涓婅繛緇鐩擱偦鐨5涓鐐逛笂鍙鏈変袱鏋氬悓鑹叉嬪瓙鐨勬嬪瀷銆 銆栨椿浜屻楀啀璧頒竴鐫鍙浠ュ艦鎴愭椿涓夌殑浜屻 銆栬繛媧諱簩銆楀嵆錛氳繛鐨勬椿浜(鍚岃壊媯嬪瓙鍦ㄤ竴鏉¢槼綰挎垨闃寸嚎涓婄浉閭繪垚涓鎺掔殑媧諱簩)銆傜畝縐扳滆繛浜屸濄 銆栬煩媧諱簩銆椾腑闂撮殧鏈変竴涓絀虹偣鐨勬椿浜屻傜畝縐扳滆煩浜屸濄 銆栧ぇ璺蟲椿浜屻椾腑闂撮殧鏈変袱涓絀虹偣鐨勬椿浜屻傜畝縐扳滃ぇ璺充簩鈥濄 銆栫湢浜屻楀啀璧頒竴鐫鍙浠ュ艦鎴愮湢涓夌殑浜屻 銆栨諱簩銆椾笉鑳芥垚浜旂殑浜屻 銆栧厛鎵嬨楀規柟蹇呴』搴旂瓟鐨勭潃娉曪紝鐩稿逛簬鍏堟墜鑰岃█錛屽啿鍥涚О涓衡滅粷瀵瑰厛鎵嬧濄 銆栦笁涓夈椾竴瀛愯惤涓嬪悓鏃跺艦鎴愪袱涓媧諱笁銆備篃縐扳滃弻涓夆濄 銆栧洓鍥涖椾竴瀛愯惤涓嬪悓鏃跺艦鎴愪袱涓鍐插洓銆備篃縐扳滃弻鍥涒濄 銆栧洓涓夈椾竴瀛愯惤涓嬪悓鏃跺艦鎴愪竴涓鍐插洓鍜屼竴涓媧諱笁銆 銆愭垬鏈鐩稿叧鏈璇銆戙栭庤濺杞銆楁寚鍦ㄤ竴瀹氬尯鍩熷唴鏉ュ洖鍦扮粫鐫榪炵畫榪涙敾鐨勬垬鏈鎴栨妧宸э紝灝卞儚涓涓椋庤濺杞涓鐩村湪杞鐫浼肩殑錛岃繖鏍風殑鍙栬儨鏂規硶涔熺О涔嬩負鈥滈庤濺鑳溾濄 銆栦簩澶磋泧銆楁寚鏌愪竴鏂逛互媧諱笁榪涙敾鏃訛紝鏃犺哄規柟闃插畧浜庡摢涓澶撮兘闅懼厤琚錏囧ご鍜浼わ紝鍥犱負姝ゆ椂鐨勬椿涓夊傚悓浜屽ご錏囦竴鏍鳳紝涓ゅご閮芥湁鍘夊崇殑鏉鐫銆備篃縐扳滀袱澶磋泧鈥濄 銆栦竴瀛愬弻鏉銆椾竴瀛愯惤涓嬪悓鏃跺艦鎴愪袱縐嶅彇鑳滄柟娉曡屽規柟鏃犳硶鍚屾椂闃插畧鐨勫彇鑳滄妧宸с 銆栦竴瀛愬氭潃銆椾竴瀛愯惤涓嬪悓鏃跺艦鎴愪袱縐嶄互涓婂彇鑳滄柟娉曡屽規柟鏃犳硶鍚屾椂闃插畧鐨勫彇鑳滄妧宸с 銆栦竴瀛愬弻闃層椾竴瀛愯惤涓嬪悓鏃跺艦鎴愰槻瀹堜袱縐嶅彇鑳滄柟娉曠殑闃插畧鎶宸с 銆栧叓鍗﹂樀銆椾互鈥滄棩鈥濆瓧鐨勪竴緇勫硅掔偣涓烘嬪瀷錛屼簰涓洪┈姝ョ殑闃插畧闃靛瀷銆傛瀯鎴愪簲瀛愭嬪叓鍗﹂樀銆 銆朧CF銆楄嫳鏂 Victory of Continuous Four 鐨勫瓧澶寸緝鍐欙紝鏄鍒╃敤榪炵畫涓嶆柇鍦板啿鍥涜繖縐嶇粷瀵瑰厛鎵嬶紝鐩磋嚦鏈緇堝彇寰楄儨鍒╃殑鎴樻湳鎶宸с 銆朧CT銆楄嫳鏂 Victory of Continuous Threat 鐨勫瓧澶寸緝鍐欙紝鏄鍒╃敤榪炵畫涓嶆柇鍦版椿涓夈佸啿鍥涖佸仛鏉絳夊厛鎵嬶紝鐩磋嚦鏈緇堝彇寰楄儨鍒╃殑鎴樻湳鎶宸с 銆愭瘮璧涚浉鍏蟲湳璇銆戙栦釜浜鴻禌銆楄$畻涓浜烘垚緇╃殑姣旇禌銆 銆栧洟浣撹禌銆楄$畻榪愬姩闃熷洟浣撴垚緇╃殑姣旇禌銆 銆栬疆絀恆楄禌鍒朵腑閮ㄥ垎閫夋墜鐩存帴浠庝腑闂存煇杞寮濮嬪弬鍔犳瘮璧涳紝鏌愯疆鏈姣旇禌鐨勫畨鎺掑氨鍙杞絀恆 銆栬妭銆椾竴涓姣旇緝闆嗕腑鐨勬瘮璧涘崟浣嶆椂闂(濡備竴涓涓婂崍鎴栦竴涓涓嬪崍鎴栦竴涓鏅氫笂)縐頒竴鈥滆妭鈥濄 銆栬疆銆楀弬璧涚殑鍚勯槦(鍥浣撹禌)鎴栧悇鍚嶆嬫墜(涓浜鴻禌)鏅閬嶅嚭鍦烘瘮璧涗竴嬈(涓鍒杞絀鴻呴櫎澶)縐頒竴鈥滆疆鈥濄 銆栨°楀洟浣撹禌涓鐨勫悓涓杞涓ら槦涔嬮棿瀹屾垚鐨勬瘮璧涚О涓轟竴鈥滄♀濇瘮璧涖 銆栧満銆椾袱鍚嶆嬫墜涔嬮棿瀹屾垚鐨勪袱灞鍒舵垨澶氬矓鍒剁殑涓嬈℃瘮璧涚О涓轟竴鈥滃満鈥濇瘮璧涖 銆栧矓銆椾袱鍚嶆嬫墜涔嬮棿瀹屾垚鐨勪竴鐩樻瘮璧涚О涓轟竴鈥滃矓鈥濇瘮璧涖 [緙栬緫鏈孌礭銆愰偅姘忎簲瀛愬叺娉曘 涓鍥界幇浠d簲瀛愭嬬殑寮鎷撹呴偅濞佽崳瑾変節孌碉紝澶氬勾閽葷爺浜斿瓙媯嬶紝娼滃績鍙戞帢浜斿瓙媯嬬殑涓鍥芥皯闂撮樀娉曪紝浠栨葷粨浜嗕簲瀛愭嬭屾嬬殑瑕侀嗗拰涓撮樀瀵瑰矓鐨勭粡楠岋紝寰楀嚭涓濂椻 縐樿瘈 鈥 錛岃皳涔嬨婇偅姘忎簲瀛愬叺娉曘嬶細 鍏堟墜瑕佹敾錛屽悗鎵嬭佸畧錛屼互鏀諱負瀹堬紝浠ュ畧寰呮敾銆 鏀誨畧杞鎹錛屾厧鎬濆彉鍖栵紝鍏堣屼簤澶猴紝鍦扮牬澶╂儕銆 瀹堝彇澶栧娍錛屾敾鑱氬唴鍔涳紝鍏鍗︽槗瀹堬紝鎴愯掓槗鏀匯 闃繪柇鍒嗛殧錛岀ǔ濡傛嘲灞憋紝涓嶆濅簤鍏堬紝鑳滃傜櫥澶┿ 鍒濈洏浜変簩錛岀粓灞鎶涓夛紝鐣欎笁涓嶅啿錛屽彉鍖栦竾鍗冦 澶氫釜鍏堟墜錛岀粏綆楁″厛錛屼簲瀛愯佺偣錛屾″簭鍦ㄥ墠銆 鏂滅嚎涓洪槾錛岀洿綰誇負闃籌紝闃撮槼緇撳悎錛岄槻涓嶈儨闃層 榪炰笁榪炲洓錛屾槗瑙佷負鏄庯紝璺充笁璺沖洓錛屾殫鍓戞繁鈃忋 宸辮惤涓瀛愶紝鏁屽炰竴鍏碉紝鏀誨叾瑕佺偣錛屽畧鍏跺繀浜夈 鍔垮凡褰㈡垚錛岃觸鍗抽檷涓達紝浜斿瓙綺懼崕錛屼竴瀛愯緭璧銆 [緙栬緫鏈孌礭銆愪簲瀛愭嬬殑寮灞銆 浜斿瓙媯嬬殑寮灞涔熺О甯冨矓錛屼竴鑸鍦3~7鎵嬪乏鍙沖畬鎴愩備簲瀛愭嬬殑寮灞鏄鍗佸垎閲嶈佺殑銆備竴鑸鎯呭喌涓嬶紝涓灞浜斿瓙媯嬬殑鐫鏁板湪20鑷40鐫涔嬮棿錛屽洜姝わ紝瀹冪殑寮灞闃舵墊槸闈炲父鐭鏆傜殑錛屽ぇ綰﹀湪涓冨叓鐫鑷沖嶮鍑犵潃涔嬮棿銆傚湪榪欎竴闃舵電殑浜夊ず涓錛屽弻鏂圭殑甯冨矓銆佸簲絳斿皢瀵逛互鍚庣殑鑳滆礋璧風潃鍏抽敭鐨勪綔鐢ㄣ備竴鑸鏉ヨ達紝榛戞嬩互鏀諱負涓伙紝鑰岀櫧媯嬪垯浠ラ槻涓轟富銆 鍦ㄥ紑灞闃舵碉紝鍙屾柟涓昏佹槸浜岀殑浜夊ず銆傚弻鏂瑰繀欏昏炬硶鍒涢犺嚜宸辯殑榪炰簩銆佹椿浜屻佽煩浜屾垨澶ц煩浜岀瓑錛屽悓鏃惰侀樆鎸″規柟鐨勬椿浜屻傛棤璁哄摢縐嶅紑灞錛屽潎浣撶幇鍑鴻繖涓瑙勫緥銆 鍙浠ヨ達紝鍝涓鏂圭殑浜屽仛寰楀 ( 鏈変袱涓浠ヤ笂鐨勬椿浜 ) 錛屾垨鑰呮湁鏁堝湴闃繪尅浣忓規柟鐨勬椿浜岋紝閭d箞錛屽摢涓鏂圭殑鑳滅巼灝辨瘮杈冨ぇ銆傚彟澶栵紝寮灞鏃舵瘡涓涓嬈″簭銆佹瘡涓縐嶈妭濂忛兘涓嶈兘蹇借嗭紝杈撹耽灝卞湪涓姝ヤ箣宸銆 鐩存㈡墦娉曞紑灞涓轟簡渚誇簬璁板繂銆佸尯鍒嗕互鍙婃瘮璧涖傚彧瀵瑰墠3姝ョ粍鎴愮殑媯嬪艦榪涜屼簡閮ㄥ垎鍙栧悕銆 涓鍥戒簲瀛愭嬬珵璧涜勫垯鐨勪簲瀛愭嬪紑灞 寮灞褰㈢姸鍧囦互鈥滄槦鈥濆拰鈥滄湀鈥濆懡鍚嶃傦紙鍙傝冭祫鏂 [1] 涓鈥滅涓夋潯鈥濓級 鏂滄㈡墦娉曞紑灞鍏ㄥ浗姝e紡姣旇禌鍧囬噰鐢26縐嶅紑灞錛屽寘鎷鏂滄寚寮灞鐨勯暱鏄熷矓銆佸場鏈堝矓銆佹亽鏄熷矓銆佹按鏈堝矓銆佹祦鏄熷矓銆佷簯鏈堝矓銆佹鄲鏈堝矓銆佸矚鏈堝矓銆侀摱鏈堝矓銆佹槑鏄熷矓銆佹枩鏈堝矓銆佸悕鏈堝矓銆佹収鏄熷矓鍜岀洿鎸囧紑灞鐨勫瘨鏄熷矓銆佹邯鏈堝矓銆佺枏鏄熷矓銆佽姳鏈堝矓銆佹畫鏈堝矓銆侀洦鏈堝矓銆侀噾鏄熷矓銆佹澗鏈堝矓銆佷笜鏈堝矓銆佹柊鏈堝矓銆佺憺鏄熷矓銆佸北鏈堝矓銆佹父鏄熷矓銆 榛戞柟蹇呰礋寮灞 鍙鐢ㄣ婂江姘忓彛璇銆嬭繘琛岃板繂錛 浜屽嶮鍏灞鍏堝純浜岋紝鐩存寚娓告槦鏂滄収鏄熴 瀵掓槦婧鏈堢枏鏄熼栵紝鑺辨畫浜屾湀騫剁櫧鑾詫紝 闆ㄦ湀閲戞槦榪介粦鐜夛紝鏉句笜鏂板電憺灞辮叆銆 鏄熸湀闀垮場鎮掓按嫻侊紝鐧借幉鍨備繌浜戞鄲宀氾紝 榛戠帀閾舵湀鍊氭槑鏄燂紝鏂滄湀鍚嶆湀鍫縐版湅銆 [緙栬緫鏈孌礭銆愪簲瀛愭嬬殑鏁板︽濊冦 鍙鑳藉緢灝戞湁浜烘敞鎰忓埌錛屼簲瀛愯繛鐝犳父鎴忓叾涓鍖呭惈鐫涓涓鏋佷負娣卞埢鐨勬暟瀛﹂棶棰樸備負浠涔堜笉鏄鍥涘瓙榪炵彔錛屾垨鑰呮槸鍏瀛愯繛鐝狅紵浣犲彲鑳戒細璇達紝鍥涘瓙榪炵彔錛岄偅灝卞お瀹規槗鍟︼紝涓嬪嚑姝ュ氨鑳滀簡銆傝屽叚瀛愯繛鐝犲憿錛屽垯澶闅句簡錛岃皝涔熷埆鎯寵繛鎴愩傝繖灝辮存槑錛屼簲瀛愯繛鐝犳瀬鍙鑳芥槸涓涓鏈浣蟲敾瀹堝鉤琛″礆紝涓涓杈炬垚榪炵彔鐨勬渶澶у箋傚炰竴瀛愩佸噺涓瀛愰兘浼氭墦鐮磋繖涓騫寵銆傚洓瀛愯繛鐝犲お鏄擄紝鏀繪柟澶勪簬緇濆逛紭鍔匡紱鑰屽叚瀛愯繛鐝犲お闅撅紝瀹堟柟澶勪簬緇濆逛紭鍔褲傝屾父鎴忚勫垯蹇呴』鏄璁╂父鎴忓弻鏂瑰勪簬騫崇瓑鐨勪綅緗鎵嶅彲鑳借繘琛岋紝鍚﹀垯娓告垙灝變笉鎴愬叾涓烘父鎴忋傝佹兂榛戠櫧媯嬭繛鐝犳垚涓轟竴縐嶇﹀悎娓告垙瑙勫垯鐨勬櫤鍔涙父鎴忥紝浜斿瓙榪炵彔鏃犵枒鏄涓涓鏈浣蟲柟妗堛備腑鍗庢皯鏃忕殑紲栧厛鍦ㄥ彂鏄庝簲瀛愯繛鐝犵殑榪囩▼涓錛岀寽鎯寵偗瀹氫篃涓嶆槸涓韞磋屽氨錛岃屾槸鏋佸彲鑳界粡鍘嗕簡鍥涘瓙榪炵彔銆佸叚瀛愯繛鐝犵殑灝濊瘯榪囩▼錛屾渶鍚庢墠紜瀹氫負浜斿瓙榪炵彔錛屽苟嫻佽屽紑鏉ャ 榪欎釜闂棰橈紝琚褰撲唬縐戞櫘浣滃跺倕灝忔澗縐頒箣涓轟簲瀛愯繛鐝犻棶棰橈紝鍙堢О浜斿瓙榪炵彔鐚滄兂銆傚叾鍑嗙『琛ㄨ堪鏄錛 鍦ㄤ互妯綰褲佺珫綰誇簰鐩鎬氦鍙夛紙涓鑸鍚勪負15鏉★級鐨勬柟褰㈠鉤闈錛堟嬬洏錛変腑錛岄粦鐧戒袱縐嶁滅偣鈥(媯嬪瓙)鍏堝悗娌挎í綰褲佺珫綰挎帓鍒楋紙琛屾嬶級錛屽湪騫抽潰錛堟嬬洏錛夋í綰褲佺珫綰褲佹枩綰匡紙鏃犲疄綰胯繛鎺ワ級涓婂艦鎴愯繛緇鐨勫悓鑹測滅偣鈥濓紙媯嬪瓙錛夛紝浜斾釜鈥滅偣鈥濓紙媯嬪瓙錛変負鍙鑳借揪鎴愯繛鐝犵殑鏈澶у箋 浜斿瓙榪炵彔鏄榛戠櫧媯嬭繛鐝犵殑涓涓鏈浣蟲柟妗堬紝榪欏湪瀹為檯涓鏃╁凡涓嶄細鏈変漢鎬鐤戙傚苟涓旓紝浜斿瓙榪炵彔宸茬粡瀛樺湪騫跺彂灞曚簡鍑犲崈騫達紝鎴愪負浜嗕竴縐嶈叮鍛蟲у己錛屽悓鏃舵妧宸ф瘮杈冨嶆潅銆佺珵浜夋縺鐑堢殑媯嬬被娓告垙錛屼笌鍥存嬨佸浗闄呰薄媯嬨佷腑鍥借薄媯嬬殑宸у欐с佸嶆潅鎬т篃鏈変竴鎷箋傝繖浼間箮瓚充互璇佹槑浜斿瓙榪炵彔鐨勬渶浣蟲с備絾浠庣戝︾湡鐞嗙殑瑙掑害鐪嬶紝涓涓囨″疄璺電殑璇佹槑涔熶笉鑳戒唬鏇塊昏緫鍜屾暟瀛︿笂鐨勮瘉鏄庛傝佺『瀹氫簲瀛愯繛鐝犳槸榛戠櫧媯嬭繛鐝犵殑涓涓鏈浣蟲柟妗堬紝浜斿瓙榪炵彔鏄涓涓鏈浣沖箋佹渶澶у礆紝蹇呴』榪涜屾暟瀛︿笂鐨勮瘉鏄庛 鈥滀簲瀛愯繛鐝犻棶棰樷濈殑璇佹槑鍙鑳介潪甯稿嶆潅錛岃繖鏄鍥犱負錛岀涓錛屽畠涓嶆槸涓涓闈欐佺殑闂棰橈紝鑰屾槸涓涓鍔ㄦ佺殑闂棰樸傛嬬洏鏄涓涓闈欐佺殑浜岀淮騫抽潰錛屼絾琛屾嬪崥寮堟槸涓涓鐨勫姩鎬佺殑榪囩▼銆傜浜岋紝榪欎笉鏄涓涓綰挎у拰紜瀹氭ч棶棰樼殑錛岃屾槸涓涓闈炵嚎鎬у拰妯$硦鎬ч棶棰樸傛墍璋撯滀簲瀛愯繛鐝犫濈殑鏈浣沖礆紝鏄鍦ㄥ崈鍙樹竾鍖栫殑鏀諱笌闃蹭腑杈懼埌鐨勪竴縐嶉粯濂戙傚洜姝わ紝瑕佽В鍐斥滀簲瀛愯繛鐝犵寽鎯斥濓紝鍙鑳借佽繍鐢ㄥ埌鍗氬紙璁恆佹ā緋婃暟瀛︾瓑宸ュ叿銆 [緙栬緫鏈孌礭浜斿瓙媯嬫敾闃茬瓥鐣 浜斿瓙媯嬫簮浜庝腑鍥斤紝鍚庝紶鍏ユ棩鏈鍚嶄負鈥滆繛鐝犫濄傚︿粠涓鍥斤紝浼犺嚦涓鍥姐 涓嬩簲瀛愭嬮』寰楁硶錛屾硶涓鍙樺寲鏈夎帿嫻嬶紱浜斿瓙涔嬪彉濡傛按鍔匡紝鍥犲娍閬塊珮鑰岃秼涓.鎴樹笉榪囨敾瀹堬紝娉曚笉榪囧囨o紝濂囨d箣娉曪細寰澶嶅驚鐜錛屸滀笉絝濡傛睙嫻鳳紝鏃犵┓濡傚ぉ鍦扳濄 鍏剁ゥ娉曞備笅 錛氬洿銆佸嚮鉶氥佸氨瀹炪佸′紬 錛堝洿錛夌敱浜庝簲瀛愭嬫簮浜庡洿媯嬶紝鏁呬笅浜斿瓙媯嬭嫢鎯崇珛浜庝笉璐ヤ箣鍦幫紝欏諱互鍥存嬩箣娉曡屾嬶紝璇寸櫧浜嗗氨鏄鈥滃寘楗哄瓙鈥濓紝璇曟兂錛氬傛灉瀵規柟鐨勬嬪瓙琚鍥翠綇浜嗭紝宸﹀啿鍙崇獊閮戒笉琛岋紝鍓嶉棷鍚庨鏇翠笉瑙佹晥錛屾ゆ椂浠栧績鐞嗘瀬搴﹂儊闂鳳紝宸叉棤鏂楀織錛屾嬭繕鑳戒笅濂藉悧錛熷彧鑳芥槸杈撶殑浠戒簡錛侊紒錛佹ゆ嫑鐢ㄤ簬闃插畧銆 錛堝嚮鉶氾級鍏墊硶鏈変簯錛氣滈伩瀹炲嚮鉶氣濓紝涓嬩簲瀛愭嬩箣綺鵑珦涔熷湪鍏剁悊銆備笉榪囨や婦璐靛湪榪涙敾錛岃繘鏀昏嫢鑳芥敾鍏剁┖鉶氫箣澶勶紝涓斿緱娉曪紝灝嗕細浠ヨ繀闆蜂笉鍙婃帺鑰充箣鍔胯岀牬絝瑰皢瀵規墜鍑昏觸銆傛ゆ嫑鐢ㄤ簬榪涙敾銆 錛堝氨瀹烇級鑰佸瓙銆婇亾寰風粡銆嬩腑璁蹭簡涓囩墿姝e弽涓や釜鏂歸潰鍙婃秷闀誇箣鐞嗭紝鏀誨畧浜︿笉榪囧傛わ紝鏁呮湁鈥滈伩瀹炲嚮鉶氣濆垯灝辨湁鈥滃氨瀹炶╄櫄鈥濄傗滃氨瀹炶╄櫄鈥濆氨鏄瀵規柟寰鍝閲岃蛋媯嬶紝鍜卞氨寰鍝閲岃蛋媯嬶紝濂芥瘮闅忓艦闄勫獎涓鑸銆傝繖鎷涜佹妸鎻″ソ鐏鍊欙紝涓嶈兘榪囧害涔熶笉鑳藉け搴︼紝鍥犱負涓嬫嬪緢瀹規槗鏀誨畧鏄撳娍錛堟敾涔嬫瀬涔冨畧鏃訛紝瀹堜箣鏋佷箖鏀繪椂錛涙敾涓鐢熷畧錛屽畧涓鐢熸敾錛夛紝姝ゆ嫑鐢ㄤ簬闃插畧銆 錛堝′紬錛夈婂瓩瀛愨棌鉶氬疄銆嬩腑鏇幫細鈥......澶囧墠鍒欏悗瀵★紝澶囧悗鍒欏墠瀵★紝澶囧乏鍒欏彸瀵★紝澶囧彸鍒欏乏瀵★紝鏃犳墍涓嶅囷紝鍒欐棤鎵涓嶅......鈥濇ゆ嫑鐢ㄥ湪浜斿瓙媯嬩腑鍒欏弽鍏墮亾鑰岃岋紝鍒欎細鏀跺埌鎰忔兂涓嶅埌鐨勬晥鏋滐紝鍏蜂綋鎷涙硶鏄鈥滃牭浜嗗墠闈㈠垯鍫靛悗闈錛屽牭浜嗗悗闈㈠垯鍫靛墠闈錛屽牭浜嗗乏杈瑰垯鍫靛彸杈癸紝鍫典簡鍙寵竟鍒欏牭宸﹁竟鈥濓紝鍓嶅悗宸﹀彸鍥涢潰鍏鏂歸兘鍫碉紝鍒欏規柟鍒欐棤璺鍙閫冿紝鏃犳嬪彲涓嬶紒姝ゆ嫑鍜岋紙鍥達級榪炵敤銆傛棤鎵涓嶈儨錛岀敤鍦ㄩ槻瀹堛 鍙﹀栵紝鏈夋椂鍦ㄦ湁璁$畻鐨勫墠鎻愪笅錛岃繛緇鍐蹭笁銆佸啿鍥涳紙vct銆乿cf錛夋湁鍙鑳藉壋閫犳柊鐨勮繘鏀繪満浼氾紱鍙嶄箣錛屼竴鍛崇殑VC錛屽彧鑳借繜婊炶觸浜$殑姝ヤ紣錛屽弽鑰屼嬌鑷宸辮鈥滃洿鈥濋櫡鍏ラ搧妗墮樀錛堜竴鑸鍙椹妗墮樀錛変腑銆傞櫎浜嗚繖浜涘栵紝鍏鍗﹂樀鏄闃插畧鐨勬棤浜岀樺疂錛屽彧鏄鏄庡叓鍗﹀お榪囨槑鏄撅紝鍥犳ゆ殫鍏鍗︼紙鐢ㄩ儴鍒嗗叓鍗︾偣鍋氫富鍔涳紝灝戦噺鏉傚瓙浣滈殰鐪礆級鐨勫姛搴曞氨鎴愪簡琛¢噺鎶鏈鐨勯噸瑕佹寚鏍囥 鍙傝冦愭嬬粡鍗佷笁綃囥 銆 浜斿瓙媯嬭礎鐚鍒嗘瀽娉 銆 浜斿瓙媯嬩綔涓烘皯闂存父鎴忔潵璇達紝涔熸槸棰囨湁鏅哄姏闊靛懗鐨勶紝涓嬮潰浠嬬粛涓涓嬬悊璁轟腑鐨勪簲瀛愭嬬殑璐$尞闂棰樹笌娉曞垯錛 璁句互鍥存嬫嬬洏宸︿笅瑙掍負鍧愭爣鍘熺偣寤虹珛鐩磋掑潗鏍囩郴xOy錛岃嫢(9,10)(9,11)(10,10)(11,9)涓婃湁榛戝瓙錛(8,12)(10,9)(11,8)涓婃湁鐧藉瓙錛岀幇鍦ㄥ埌鐧芥嬭蛋瀛愶紝鑻ヨ蛋(10,12)(11,11)灝卞睘浜庢枩鍚戣蛋瀛愶紝浣嗘槸閫氬父鐩村悜鐨(緔ц創鐫媯嬪瓙璧扮殑)璧板瓙瑕佹瘮鏂滃悜鐨勮蛋瀛愬歸槻瀹堢殑璐$尞澶э紝鑻ヨ蛋(8,11)(8,10)(8,9)(9,9)鍏朵腑涓涓鐨勫潎灞炰簬鍗曚晶璧板瓙錛岃屽彟涓渚у垯絀鴻櫄錛屾墍浠ヤ篃涓嶅ソ錛岃嫢璧(11,10)涔熶笉濂斤紝鍥犱負鍦(11,8)鐨勫瓙宸茬粡瀵歸槻瀹堟湁浜嗕竴瀹氱殑璐$尞浜嗭紝鍚岀悊璧(10,11)鐨勪篃涓嶅ソ,鍥犱負(10,9)鐨勫瓙涔熷歸槻瀹堟湁浜嗕竴瀹氱殑璐$尞.鎵浠ヨ存ゆ椂鏈浣崇殑璧板瓙鏂規硶灝辨槸璧(9,12) 鑻(8,10)鏈夌櫧瀛,(10,10)(11,10)(12,10)鏈夐粦瀛,鍒扮櫧瀛愯蛋,鐢變簬(8,10)瀵歸槻瀹堣礎鐚浜嗕竴閮ㄥ垎,鎵浠ュ簲璇ヨ蛋(13,10)鑰屼笉璧(9,10)銆傝嫢涓洪粦璧,灝卞簲璇ヨ蛋(13,10)鑰屼笉璧(9,10),鍥犱負鐧藉瓙鐨(8,10)浼氬墛寮卞畠瀵規敾鐨勮礎鐚
楹葷儲閲囩撼錛岃阿璋!
㈢ 急求井字游戲的編程源代碼(MFC格式)
「井字棋」游戲(又叫「三子棋」),是一款十分經典的益智小游戲,想必很多玩家都有玩過。「井字棋」的棋盤很簡單,是一個3×3的格子,很像中國文字中的「井」字,所以得名「井字棋」。「井字棋」游戲的規則與「五子棋」十分類似,「五子棋」的規則是一方首先五子連成一線就勝利;「井字棋」是一方首先三子連成一線就勝利。
井字棋(英文名Tic-Tac-Toe)
井字棋的出現年代估計已不可考,西方人認為這是由古羅馬人發明的;但我們中國人認為,既然咱們都發明了圍棋、五子棋,那發明個把井字棋自然是不在話下。這些純粹是口舌之爭了,暫且不提。
想起小時候上課喜歡玩井字棋,只要一張草稿紙、一支筆、同桌兩人就可以玩了。上體育課,也可以拿著樹枝在沙坑裡玩。但一直感覺這游戲太簡單了,後來接觸了五子棋,著迷了一陣,但水平總是很差,便也不玩了。
一字棋游戲極小極大分析法
設有九個空格,由MAX,MIN二人對弈,輪到誰走棋誰就往空格上放一隻自己的棋子,誰先使自己的棋子構成「三子成一線」(同一行或列或對角線全是某人的棋子),誰就取得了勝利。
用叉號表示MAX,用圓圈代表MIN。
比如右圖中就是MIN取勝的棋局。
為了不致於生成太大的博弈樹,假設每次僅擴展兩層。估價函數定義如下:
設棋局為P,估價函數為e(P)。
(1) 若P對任何一方來說都不是獲勝的位置,則e(P)=e(那些仍為MAX空著的完全的行、列或對角線的總數)-e(那些仍為MIN空著的完全的行、列或對角線的總數)
(2) 若P是MAX必勝的棋局,則e(P)=+∞。
(3) 若P是B必勝的棋局,則e(P)=-∞。
比如P如右圖示,則e(P)=6-4=2
要注意利用棋盤位置的對稱性,在生成後繼節點的位置時,下列博弈結局
都是相同的棋局(在博弈中,一宇棋的分枝系數比較小起初是由於對稱性,而後是由於棋盤上未布子的空格減少所致)。圖3.15畫出了經過兩層搜索生成的博弈樹,靜態估值記在端節點下面,倒推值記在圓圈內。
由於右圖所示位置具有最大的倒推值,它應當選取為MAX的第一步(正好是MAX的最好的優先走步)。
現在我們假設MAX走了這一步,而MIN的回步是直接在X上方的空格里放上一個圓圈(對MAX來說這是一步壞棋,他一定沒有採用好的搜索策略)。下一步,MAX又在新的格局下搜索兩層,產生如圖3.16所示的搜索圖。
現在圖中MAX有兩個可能「最好的」優先走步,假設MAX走了圖上指明的那一步。而MIN為了避免立即敗北被迫走了另一步,從而產生如下棋局:MAX再次搜索,產生如圖3.17所示的樹。
在這棵樹中某些端節點(例如其中一個標記著A)代表MIN獲勝,因此它們的估值為—∞。當這些估值被倒推回去時,可看到MAX的最好的也是唯一能使他避免立即失敗的一個走步。現在,MIN可以看出MAX必然在他的下一走步中獲勝,因此,MIN只好認輸。
按極大極小演算法編程下一字棋的演示(右圖,可以點擊操作)...
我們就利用Visual Basic編寫一個「井字棋」的小游戲。
【設計思路】
首先,我們要知道,「井字棋」游戲是一款典型的棋類游戲,游戲時一方式是電腦,另一方是玩家。所以,這類游戲在開始時有兩種方式:一種是玩家先走;另一種是電腦先走。這是我們要考慮的第一個問題。
其次,由於與玩家對戰的是計算機,所以我們要編寫一個過程(Chuqi),它可以使程序模擬人的思維與人下棋(其實就是「人工智慧」的體現),這個Chuqi過程也是本游戲軟體的關鍵。此外,我們還要編寫兩個過程(Lianxian和Shuying),Lianxian過程用來時刻判斷棋盤中是否有三個棋子連成一線;Shuying過程用來判斷如果有三個棋子連成一線,是哪一方連成一線的,即判斷哪一方獲勝。
以上幾個問題就是該「井字棋」游戲實現的關鍵思路。....