diff --git a/938.cpp b/938.cpp deleted file mode 100644 index 7754c5d..0000000 --- a/938.cpp +++ /dev/null @@ -1,362 +0,0 @@ -#include -#include -int store[][3]={'_','_','_','_','_','_','_','_','_'},i,j,k,flag=1; -void print_map() -{ - char boundary='|'; - getchar(); - system("cls"); - for(i=0;i<3;i++) - - { - for(j=0;j<3;j++) - { - printf("%c%c",boundary,store[i][j]); - if(j==2) - { - putchar(boundary); - putchar('\n'); - } - - } - } -} -int judge_win(int f=0) -{ - if(store[0][0]+store[0][1]+store[0][2]==3*'X'||store[1][0]+store[1][1]+store[1][2]==3*'X' - ||store[2][0]+store[2][1]+store[2][2]==3*'X'||store[0][0]+store[1][1]+store[2][2]==3*'X' - ||store[2][0]+store[1][1]+store[0][2]==3*'X'||store[0][0]+store[1][0]+store[2][0]==3*'X' - ||store[0][1]+store[1][1]+store[2][1]==3*'X'||store[0][2]+store[1][2]+store[2][2]==3*'X') - return 1; - else if(store[0][0]+store[0][1]+store[0][2]==3*'O'||store[1][0]+store[1][1]+store[1][2]==3*'O' - ||store[2][0]+store[2][1]+store[2][2]==3*'O'||store[0][0]+store[1][1]+store[2][2]==3*'O' - ||store[2][0]+store[1][1]+store[0][2]==3*'O'||store[0][0]+store[1][0]+store[2][0]==3*'O' - ||store[0][1]+store[1][1]+store[2][1]==3*'O'||store[0][2]+store[1][2]+store[2][2]==3*'O') - return -1; - return f; -} -void judge_final(int i) -{ - if(i==0) - printf("ƽ¾Ö"); - else if(i==1) - printf("VICTORY"); - else if(i==-1) - printf("FILE") ; -} -int number_mend(int x) -{ - switch(x) - { - case 1:x=3;break; - case 3:x=1;break; - default:; - } - return x; -} -void Computer() -{ - - int sum,t=0,score[3][3]; - for(i=0;i<3;i++) - for(j=0;j<3;j++) - score[i][j]=0; - for(i=0;i<3;i++) - { - for(j=0;j<3;j++) - t+=store[i][j]; - if(t==2*'O'+'_') - sum=5; - else if(t=='O'+2*'_') - sum=3; - else if(t=='X'+2*'_') - sum=2; - else if(t==3*'_') - sum=1; - else if(t==2*'X'+'_') - sum=6; - else if(t=='X'+'O'+'_') - sum=4; - switch(sum) - { - case 1: - for(k=0;k<3;k++) - { - if(store[i][k]=='_') - score[i][k]+=1; - } - break; - case 2: - for(k=0;k<3;k++) - { - if(store[i][k]=='_') - score[i][k]+=10; - } - break; - case 3: - for(k=0;k<3;k++) - { - if(store[i][k]=='_') - score[i][k]+=50; - } - break; - case 4: - for(k=0;k<3;k++) - { - if(store[i][k]=='_') - score[i][k]+=200; - } - break; - case 5: - for(k=0;k<3;k++) - { - if(store[i][k]=='_') - score[i][k]+=500; - } - break; - case 6: - for(k=0;k<3;k++) - { - if(store[i][k]=='_') - score[i][k]+=1000; - } - break; - } - t=0; - } - for(j=0;j<3;j++) - { - for(i=0;i<3;i++) - t+=store[i][j]; - if(t==2*'O'+'_') - sum=5; - else if(t=='O'+2*'_') - sum=3; - else if(t=='X'+2*'_') - sum=2; - else if(t==3*'_') - sum=1; - else if(t==2*'X'+'_') - sum=6; - else if(t=='X'+'O'+'_') - sum=4; - switch(sum) - { - case 1: - for(k=0;k<3;k++) - { - if(store[k][j]=='_') - score[k][j]+=1; - } - break; - case 2: - for(k=0;k<3;k++) - { - if(store[k][j]=='_') - score[k][j]+=10; - } - break; - case 3: - for(k=0;k<3;k++) - { - if(store[k][j]=='_') - score[k][j]+=50; - } - break; - case 4: - for(k=0;k<3;k++) - { - if(store[k][j]=='_') - score[k][j]+=200; - } - break; - case 5: - for(k=0;k<3;k++) - { - if(store[k][j]=='_') - score[k][j]+=500; - } - break; - case 6: - for(k=0;k<3;k++) - { - if(store[k][j]=='_') - score[k][j]+=1000; - } - break; - } - t=0; - } - t=0; - for(i=0;i<3;i++) - t+=store[i][i]; - if(t==2*'O'+'_') - sum=5; - else if(t=='O'+2*'_') - sum=3; - else if(t=='X'+2*'_') - sum=2; - else if(t==3*'_') - sum=1; - else if(t==2*'X'+'_') - sum=6; - else if(t=='X'+'O'+'_') - sum=4; - switch(sum) - { - case 1: - for(k=0;k<3;k++) - { - if(store[k][k]=='_') - score[k][k]+=1; - } - break; - case 2: - for(k=0;k<3;k++) - { - if(store[k][k]=='_') - score[k][k]+=10; - } - break; - case 3: - for(k=0;k<3;k++) - { - if(store[k][k]=='_') - score[k][k]+=50; - } - break; - case 4: - for(k=0;k<3;k++) - { - if(store[k][k]=='_') - score[k][k]+=200; - } - break; - case 5: - for(k=0;k<3;k++) - { - if(store[k][k]=='_') - score[k][k]+=500; - } - break; - case 6: - for(k=0;k<3;k++) - { - if(store[k][k]=='_') - score[k][k]+=1000; - } - break; - } - t=0; - for(i=0;i<3;i++) - t+=store[i][2-i]; - if(t==2*'O'+'_') - sum=5; - else if(t=='O'+2*'_') - sum=3; - else if(t=='X'+2*'_') - sum=2; - else if(t==3*'_') - sum=1; - else if(t==2*'X'+'_') - sum=6; - else if(t=='X'+'O'+'_') - sum=4; - switch(sum) - { - case 1: - for(k=0;k<3;k++) - { - if(store[k][2-k]=='_') - score[k][2-k]+=1; - } - break; - case 2: - for(k=0;k<3;k++) - { - if(store[k][2-k]=='_') - score[k][2-k]+=10; - } - break; - case 3: - for(k=0;k<3;k++) - { - if(store[k][2-k]=='_') - score[k][2-k]+=50; - } - break; - case 4: - for(k=0;k<3;k++) - { - if(store[k][2-k]=='_') - score[k][2-k]+=200; - } - break; - case 5: - for(k=0;k<3;k++) - { - if(store[k][2-k]=='_') - score[k][2-k]+=500; - } - break; - case 6: - for(k=0;k<3;k++) - { - if(store[k][2-k]=='_') - score[k][2-k]+=1000; - } - break; - } - int maxRow = 0, maxCol = 0; - for (i=0; i<3; i++) - for (j=0;j<3;j++) - { - if (score[i][j] > score[maxRow][maxCol]) - { - maxRow = i; - maxCol = j; - } - } - store[maxRow][maxCol]='O'; - print_map(); -} -void scan_number() -{ - int x,y; - printf("ÇëÊäÈëÒª×ߵįå¸ñÐкźÍÁкţº"); - scanf("%d%d",&x,&y); - printf("%d,%d",x,y) ; - x=number_mend(x); - while(x>3||x<=0||y>3||y<=0||store[x-1][y-1]!='_') - { - printf("·Ç·¨ÊäÈ룬ÇëÖØÐÂÊäÈë\n"); - getchar(); - scanf("%d%d",&x,&y); - x=number_mend(x); - } - store[x-1][y-1]='X'; - print_map(); -} -int main() -{ - int count,i; - printf("ÕâÊÇÒ»¸ö¾®×ÖÆåÓÎÏ·!°´»Ø³µÑ¡ÔñÏÂÆå˳Ðò\n"); - getchar(); - system("cls"); - print_map(); - for(count=0;count<10;count+=2) - { - i=judge_win(); - if(judge_win()) - break; - if(count==9) - { - i=0; - break; - } - scan_number(); - Computer(); - } - judge_final(i); - return 0; -} diff --git a/井字棋.1.cpp b/井字棋.1.cpp deleted file mode 100644 index 4829a27..0000000 --- a/井字棋.1.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include -#include -int store[][3]={'_','_','_','_','_','_','_','_','_'},i,j,flag=1; -void print_map() -{ - char boundary='|'; - getchar(); - system("cls"); - for(i=0;i<3;i++) - - { - for(j=0;j<3;j++) - { - printf("%c%c",boundary,store[i][j]); - if(j==2) - { - putchar(boundary); - putchar('\n'); - } - - } - } -} - -int number_mend(int x) -{ - switch(x) - { - case 1:x=3;break; - case 3:x=1;break; - default:; - } - return x; -} -void scan_number() -{ - int x,y; - printf("ÇëÊäÈëÒª×ߵįå¸ñÐкźÍÁкţº"); - scanf("%d%d",&x,&y); - printf("%d,%d",x,y) ; - x=number_mend(x); - while(x>3||x<=0||y>3||y<=0||store[x-1][y-1]!='_') - { - printf("·Ç·¨ÊäÈ룬ÇëÖØÐÂÊäÈë\n"); - getchar(); - scanf("%d%d",&x,&y); - x=number_mend(x); - } - if(flag%2!=0) - { - store[x-1][y-1]='O'; - print_map(); - flag++; - } - else - { - store[x-1][y-1]='X'; - print_map(); - flag++; - } -} -int main() -{ - int count; - printf("ÕâÊÇÒ»¸ö¾®×ÖÆåÓÎÏ·!Ñ¡ÔñÏÂÆå˳Ðò²¢»Ø³µ¼´¿É½øÈëÓÎÏ·\n"); - printf("ÊÇ·ñÏÈ×ߣ¨Y/N£©\n"); - print_map(); - for(count=0;count<10;count++) - scan_number(); - return 0; -} diff --git a/井字棋.1.exe b/井字棋.1.exe deleted file mode 100644 index 91fed44..0000000 Binary files a/井字棋.1.exe and /dev/null differ diff --git a/打分.cpp b/井字棋.cpp similarity index 81% rename from 打分.cpp rename to 井字棋.cpp index 856ce3e..e98d1c3 100644 --- a/打分.cpp +++ b/井字棋.cpp @@ -1,14 +1,22 @@ #include #include +#include +#define col 3 +#define row 3 +int color(int c) +{ + SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c); + return 0; +} int store[][3]={'_','_','_','_','_','_','_','_','_'},i,j,k,flag=1; -void print_map() +void map() { char boundary='|'; system("cls"); - for(i=0;i<3;i++) + for(i=0;i score[maxRow][maxCol]) { @@ -317,56 +327,68 @@ void Computer() } } store[maxRow][maxCol]='O'; - print_map(); - printf("µçÄÔ×ߵįå¸ñÐкźÍÁкÅÊÇ£º%d %d\n",maxRow+1,maxCol+1); + map(); + maxRow=mend(maxRow+1); + printf("µçÄÔ×ߵįå¸ñÐкźÍÁкÅÊÇ£º%d %d\n",maxRow,maxCol+1); } -void scan_number() +void scan() { int x,y; printf("ÇëÊäÈëÒª×ߵįå¸ñÐкźÍÁкţº"); scanf("%d%d",&x,&y); printf("%d,%d",x,y) ; - x=number_mend(x); + x=mend(x); while(x>3||x<=0||y>3||y<=0||store[x-1][y-1]!='_') { - printf("·Ç·¨ÊäÈ룬ÇëÖØÐÂÊäÈë\n"); + if(x>3||x<=0||y>3||y<=0) + printf("·Ç·¨ÊäÈ룬ÊäÈëÊýµÄ·¶Î§Îª1µ½3£¡ÇëÖØÐÂÊäÈë\n"); + else if (store[x-1][y-1]!='_') + printf("¸ÃÆå¸ñÒѱ»Õ¼ÓУ¬ÇëÖØÐÂÊäÈë\n"); getchar(); scanf("%d%d",&x,&y); - x=number_mend(x); + x=mend(x); } + store[x-1][y-1]='X'; - print_map(); + map(); } int main() { int count=0,i; - char ch,*p=&ch; + char ch; + color(10); printf("\tÕâÊÇÒ»¸ö¾®×ÖÆåÓÎÏ·!\nÔÚÓÎϷ֮ǰÇëÏÈÔĶÁÒÔÏÂ×¢ÒâÊÂÏ\n"); printf("1.Äã¿ÉÒÔÑ¡ÔñÏÂÆåµÄÏȺó˳Ðò\n"); - printf("2.ÄúÊäÈëµÄµÚÒ»¸öÊýÊÇÐУ¬µÚ¶þ¸öÊÇÁУ¬ÇÒµÚÒ»ÐÐÔÚ×îÏÂÃæ¡£ÊäÈëµÄÕýÈ·ÐÎʽΪ£ºx¿Õy\n"); - printf("3.±¾³ÌÐò»¹ÓÐÐí¶à²»×㣬Çë¶à¶à°üº­£¡°®ÄãŶ!!!!!\n") ; - printf("°´»Ø³µ¼´¿É½øÈë\n"); + printf("2.ÄúÊäÈëµÄµÚÒ»¸öÊýÊÇÊúÖ±·½Ïò£¬µÚ¶þ¸öÊÇˮƽ·½Ïò£¬ÊäÈëµÄÕýÈ·ÐÎʽΪ£ºÒ»¸öÊýy¿ÕÒ»¸öÊýx\n"); + printf("3.±¾³ÌÐò»¹ÓÐÐí¶à²»×㣬Çë¶à¶à°üº­£¡\n") ; + printf("°´»Ø³µ¼´¿É½øÈëÓÎÏ·-_- =_= +_+\n"); getchar(); system("cls"); + color(12); printf("ÊÇ·ñÏÈÏ£¨y/n£©"); scanf("%c",&ch); - print_map(); + map(); if(ch=='N'||ch=='n') goto lp; for(count=0;count<10;count++) { - i=judge_win(); - if(judge_win()) + i=judge(); + if(judge()) break; if(count==9) - { + { + color(0); i=0; break; } - scan_number(); + color(14); + printf("ÓÎϷ״̬£ºUNLEND\n"); + color(3); + scan(); lp: Computer(); count+=1; } - judge_final(i); + color(4); + final(i); return 0; } diff --git a/颜昆 18408000618.doc b/颜昆 18408000618.doc new file mode 100644 index 0000000..f633077 Binary files /dev/null and b/颜昆 18408000618.doc differ