#include <bits/stdc++.h> using namespace std; int lie=16,hang=16,lie_shu,hang_shu; int list_flag[16][16]; bool black=true; int B; int black_win( int a , int b ) { if(list_flag[a][b] == 1&&list_flag[a][b+1] == 1&&list_flag[a][b+2] == 1&&list_flag[a][b+3] == 1&&list_flag[a][b+4] == 1 ) { B=1; }else if(list_flag[a][b] == 1&&list_flag[a][b-1] == 1&&list_flag[a][b+1] == 1&&list_flag[a][b+2] == 1&&list_flag[a][b+3] == 1) { B=1; }else if(list_flag[a][b] == 1&&list_flag[a][b-1] == 1&&list_flag[a][b+1] == 1&&list_flag[a][b+2] == 1&&list_flag[a][b-2] == 1) { B=1; }else if(list_flag[a][b] == 1&&list_flag[a][b+1] == 1&&list_flag[a][b-1] == 1&&list_flag[a][b-2] == 1&&list_flag[a][b-3] == 1) { B=1; }else if(list_flag[a][b] == 1&&list_flag[a][b-1] == 1&&list_flag[a][b-4] == 1&&list_flag[a][b-2] == 1&&list_flag[a][b-3] == 1) { B=1; }else if(list_flag[a+1][b] == 1&&list_flag[a+2][b] == 1&&list_flag[a+3][b] == 1&&list_flag[a+4][b] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a-1][b] == 1&&list_flag[a+2][b] == 1&&list_flag[a+3][b] == 1&&list_flag[a+1][b] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b] == 1&&list_flag[a+2][b] == 1&&list_flag[a-1][b] == 1&&list_flag[a-2][b] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b] == 1&&list_flag[a-2][b] == 1&&list_flag[a-3][b] == 1&&list_flag[a-1][b] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a-1][b] == 1&&list_flag[a-2][b] == 1&&list_flag[a-3][b] == 1&&list_flag[a-4][b] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b+1] == 1&&list_flag[a+2][b+2] == 1&&list_flag[a+3][b+3] == 1&&list_flag[a+4][b+4] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a-1][b+1] == 1&&list_flag[a+1][b+1] == 1&&list_flag[a+2][b+2] == 1&&list_flag[a+3][b+3] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b+1] == 1&&list_flag[a+2][b+2] == 1&&list_flag[a-1][b+1] == 1&&list_flag[a-2][b+2] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b+1] == 1&&list_flag[a-3][b+3] == 1&&list_flag[a-2][b+2] == 1&&list_flag[a-1][b+1] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a-4][b+4] == 1&&list_flag[a-3][b+3] == 1&&list_flag[a-2][b+2] == 1&&list_flag[a-1][b+1] == 1&&list_flag[a][b] == 1) { B=1; } else if(list_flag[a-1][b-1] == 1&&list_flag[a-2][b-2] == 1&&list_flag[a-3][b-3] == 1&&list_flag[a-4][b-4] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a-1][b-1] == 1&&list_flag[a+1][b+1] == 1&&list_flag[a-2][b-2] == 1&&list_flag[a-3][b-3] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b+1] == 1&&list_flag[a+2][b+2] == 1&&list_flag[a-1][b-1] == 1&&list_flag[a-2][b-2] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a+1][b+1] == 1&&list_flag[a-3][b-3] == 1&&list_flag[a-2][b-2] == 1&&list_flag[a-1][b-1] == 1&&list_flag[a][b] == 1) { B=1; }else if(list_flag[a-4][b-4] == 1&&list_flag[a-3][b-3] == 1&&list_flag[a-2][b-2] == 1&&list_flag[a-1][b-1] == 1&&list_flag[a][b] == 1) { B=1; } } int f5(){ system("cls"); for(int j=0;j<=hang;j++){ cout<<setw(3)<<j; } cout<<endl; for(int i=0;i<lie;i++) { cout<<setw(3)<<i+1; for(int j=0;j<hang;j++) { if(list_flag[i][j]==0){ cout<<setw(3)<<"."; }else if(list_flag[i][j]==1){ cout<<setw(3)<<"黑"; black_win(i,j); }else if(list_flag[i][j]==2){ cout<<setw(3)<<"白"; } } cout<<endl; } } int main(){ int x,y; while(true) { f5(); if(black==true){ cout<<"黑棋请下:"<<endl; cin>>x>>y; if(x<=lie&&y<=hang){ if(list_flag[x-1][y-1]!=0){//判断棋子是否越界 continue; } list_flag[x-1][y-1]=1;//说明该地方是黑棋 black=false; //切换白棋 } }else{ cout<<"白棋请下:"<<endl; cin>>x>>y; if(x<=lie&&y<=hang){ if(list_flag[x-1][y-1]!=0){ //判断棋子是否越界 continue; } list_flag[x-1][y-1]=2; //说明该地方是黑棋 black=true;//切换黑棋 } } } return 0; }