commit 62a512c519a82d93531bfce215b9391b3556f4aa Author: 冯程 <18373312028> Date: Fri Jan 11 20:40:45 2019 +0800 first commit diff --git a/五子棋课程设计最终版.cpp b/五子棋课程设计最终版.cpp new file mode 100644 index 0000000..cf45526 --- /dev/null +++ b/五子棋课程设计最终版.cpp @@ -0,0 +1,382 @@ +#include +#include +#include +#include +#define SIZE 19 + +int jushu=0; +int q1=0,q2=0; +int k[SIZE][SIZE]; +int WANJIA; +int count; +int X,Y; +char* Text; + + +int welcome(void) +{ + printf("\n\n\n\n\n\n"); + printf("\t\t\t~*************ӭϷ*************~\n"); + printf("\n\n\n"); + printf("\t\t\t~*************ߣ*************~\n"); + printf("\n\n\n"); + printf("\t\t\t~*************س*************~"); + while(getchar() == 0); + system("CLS"); + return 0; +} + +int help(void) +{ + + printf("\n\n\n\n\n\n"); + printf("\t\t\t~**************************************************~\n"); + printf("\n"); + printf("\t\t\t~*************p1wasdƹ꣬Tab************~\n"); + printf("\n\n\n"); + printf("\t\t\t~************p2ҷƹ꣬ո**********~\n"); + printf("\n\n\n"); + printf("\t\t\t~********************سʼϷ******************~"); + while(getchar() == 0); + system("CLS"); + return 0; +} + + +int blackwin(void) +{ + printf("\n\n\n\n\n\n"); + printf("\t\t\t~*************ϲڷʤ************~\n"); + printf("\n\n\n"); + printf("\t\t\t~************ǰܾ%d*************~\n",jushu); + printf("\n\n\n"); + printf("\t\t\t~******ڷʤ%d֣׷ʤ%d******~",q1,q2); + printf("\n\n\n"); + printf("\t\t\t~**********һ***********~\n"); +} + + +int whitewin(void) +{ + printf("\n\n\n\n\n\n"); + printf("\t\t\t~*************ϲ׷ʤ************~\n"); + printf("\n\n\n"); + printf("\t\t\t~************ǰܾ%d*************~\n",jushu); + printf("\n\n\n"); + printf("\t\t\t~******ڷʤ%d֣׷ʤ%d******~",q1,q2); + printf("\n\n\n"); + printf("\t\t\t~**********һ***********~\n"); +} + +int pingju(void) +{ + printf("\n\n\n\n\n\n"); + printf("\t\t\t~***************ϲƽ************~\n"); + printf("\n\n\n"); + printf("\t\t\t~************ǰܾ%d*************~\n",jushu); + printf("\n\n\n"); + printf("\t\t\t~******ڷʤ%d֣׷ʤ%d******~",q1,q2); + printf("\n\n\n"); + printf("\t\t\t~**********һ***********~\n"); +} + + + + +void Chushihua()//̳ʼ +{ +int i,j; +X=Y=SIZE/2; +Text=""; +count=0; +WANJIA=1; +for(i=0;i0&&k[X][Y-i]==WANJIA)w++;else break;//ϼ + +for(i=1;i<5;i++)if(X+i0&&k[X-i][Y]==WANJIA)x++;else break;// + +for(i=1;i<5;i++)if(X+i0&&Y-i>0&&k[X-i][Y-i]==WANJIA)y++;else break;//ϼ + +for(i=1;i<5;i++)if(X+i0&&k[X+i][Y-i]==WANJIA)z++;else break;//ϼ +for(i=1;i<5;i++)if(X-i>0&&Y+i=5) +{return WANJIA;} +else if(w>=5) +{return WANJIA;} + if(x>=5) +{return WANJIA;} +else if(y>=5) +{return WANJIA;} +else +return 0; +} + + + + +int run()//Ϸ +{ + jushu+=1; + int input; + int whichwin; + Chushihua(); + while(1) + { + printqipan(); + input=getch(); + if(input==27) + { + exit(0); + } + + else if(input==32 ||input==0x0009) + { + + if(Put()) + { + whichwin=Check(); + count++; + WANJIA=3-WANJIA; + if(whichwin==1) + { + q1+=1; + system("cls"); + blackwin(); + if (getch()==0xE0) + { + getch(); + } + return WANJIA; + } + + else if(whichwin==2) + { + q2+=1; + system("cls"); + whitewin(); + if (getch()==0xE0) + { + getch(); + } + return WANJIA; + } + + else if (count==SIZE*SIZE) + { + system("cls"); + pingju(); + if (getch()==0xE0) + { + getch(); + } + return 0; + } + } + } + + else if(input==0xE0) + { + input=getch(); + switch(input) + { + case 0x4B: + X--; + break; + case 0x48: + Y--; + break; + case 0x4D: + X++; + break; + case 0x50: + Y++; + break; + + } + if(X<0)X=SIZE-1;//λԽƶԲ + if(Y<0)Y=SIZE-1; + if(X>SIZE-1)X=0; + if(Y>SIZE-1)Y=0; + } + + else if(input=='a') + { + X--; + if(X<0)X=SIZE-1;//λԽƶԲ + if(Y<0)Y=SIZE-1; + if(X>SIZE-1)X=0; + if(Y>SIZE-1)Y=0; + } + else if(input=='d') + { + X++; + if(X<0)X=SIZE-1;//λԽƶԲ + if(Y<0)Y=SIZE-1; + if(X>SIZE-1)X=0; + if(Y>SIZE-1)Y=0; + } + else if(input=='s') + { + Y++; + if(X<0)X=SIZE-1;//λԽƶԲ + if(Y<0)Y=SIZE-1; + if(X>SIZE-1)X=0; + if(Y>SIZE-1)Y=0; + } + else if(input=='w') + { + Y--; + if(X<0)X=SIZE-1;//λԽƶԲ + if(Y<0)Y=SIZE-1; + if(X>SIZE-1)X=0; + if(Y>SIZE-1)Y=0; + } +} +} + + + + +int main()// +{ +system("title γ-");//ñ +system("mode con cols=100 lines=64");//ôڴС +system("color E5");//ɫ +welcome(); +help(); +while(1){//ѭִϷ +run(); +} +} + diff --git a/五子棋课程设计最终版.exe b/五子棋课程设计最终版.exe new file mode 100644 index 0000000..b9cbc71 Binary files /dev/null and b/五子棋课程设计最终版.exe differ