📄 small.c
字号:
//按行内部 { minline= ( Choose_A.Line< Choose_B.Line) ? Choose_A.Line : Choose_B.Line; maxline= ( Choose_A.Line> Choose_B.Line) ? Choose_A.Line : Choose_B.Line; minrow= (Choose_A.Row < Choose_B.Row) ? Choose_A.Row : Choose_B.Row; maxrow= (Choose_A.Row > Choose_B.Row) ? Choose_A.Row : Choose_B.Row; minline++; while( minline< maxline) { if( OneLine( (minrow), (maxrow) , minline) == 1 ) { if( Flag[minline][Choose_A.Row]<0 && Flag[minline][Choose_B.Row]<0) { if( OneRow(Choose_A.Line, minline, Choose_A.Row) == 1 && OneRow(Choose_B.Line, minline, Choose_B.Row) == 1 ) {// LinePaint((minrow), (maxrow) , minline);// RowPaint(Choose_A.Line, minline, Choose_A.Row);// RowPaint(Choose_B.Line, minline, Choose_B.Row);/* if( (Choose_A.Line<minline && Choose_A.Row==minrow) || (Choose_B.Line<minline && Choose_B.Row==minrow)) { V_Line[minline][minrow]=5; V_Line[minline][maxrow]=4; } else { V_Line[minline][minrow]=3; V_Line[minline][maxrow]=6; }*/ return 1; } } } minline++; } } //按列内部 { minline= ( Choose_A.Line< Choose_B.Line) ? Choose_A.Line : Choose_B.Line; maxline= ( Choose_A.Line> Choose_B.Line) ? Choose_A.Line : Choose_B.Line; minrow= (Choose_A.Row < Choose_B.Row) ? Choose_A.Row : Choose_B.Row; maxrow= (Choose_A.Row > Choose_B.Row) ? Choose_A.Row : Choose_B.Row; minrow++; while( minrow<maxrow ) { if( OneRow( (minline), (maxline) , minrow) == 1 ) { if( Flag[Choose_A.Line][minrow]<0 && Flag[Choose_B.Line][minrow]<0 ) { if( OneLine(Choose_A.Row, minrow, Choose_A.Line)==1 && OneLine(Choose_B.Row, minrow, Choose_B.Line)==1 ) {// RowPaint((minline), (maxline) , minrow);// LinePaint(Choose_A.Row, minrow, Choose_A.Line);// LinePaint(Choose_B.Row, minrow, Choose_B.Line);// if( (Choose_A.Line==minline && Choose_A.Row<minrow) || (Choose_B.Line==minline && Choose_B.Row<minrow))// {// V_Line[minline][minrow]=4;// V_Line[maxline][minrow]=5;// }// else// {// V_Line[minline][minrow]=3;// V_Line[maxline][minrow]=6;// } return 1; } } } minrow++; } } } return 0;}static int Clew(HWND hWnd){ int i=1; int j=1; int k=1; int n=1; while(1) { Choose_A.Line=i; Choose_A.Row=j; Choose_B.Line=n; Choose_B.Row=k; if( JudgeChoose(hWnd)==1 ) { Clew_A.Line=Choose_A.Line; Clew_A.Row=Choose_A.Row; Clew_B.Line=Choose_B.Line; Clew_B.Row=Choose_B.Row; return 1; } k++; if( k>10 ) { k=1; n++; } if( n>8 ) { n=1; j++; } if( j>10 ) { j=1; i++; } if( i>8 ) { i=1; break; } } return 0;}static void Ruffle(){ int i=0; int j=0; int line=0; int row=0; int temp=0; srand( (unsigned)time( NULL ) ); for( i=1; i<9; i++) { for( j=1; j<11; j++) { row=rand()%10+1; line=rand()%8+1; if( Flag[i][j]>=0 && Flag[row][line]>=0 ) { temp=Flag[i][j]; Flag[i][j]=Flag[line][row]; Flag[line][row]=temp; } } }}static void BottomMove(){ int i=0; int j=0; int k=0; int arm[10]; for( k=1; k<11; k++) { j=0; for( i=0; i<10; i++) { arm[i]=-1; } for( i=8; i>0; i--) { if( Flag[i][k]>=0 ) { arm[j]=Flag[i][k]; j++; } } for( i=0; i<8; i++) { Flag[8-i][k]=arm[i]; } }}static void TopMove(){ int i=0; int j=0; int k=0; int arm[10]; for( k=1; k<11; k++) { j=0; for( i=0; i<10; i++) { arm[i]=-1; } for( i=1; i<9; i++) { if( Flag[i][k]>=0 ) { arm[j]=Flag[i][k]; j++; } } for( i=0; i<8; i++) { Flag[i+1][k]=arm[i]; } }}static void LeftMove(){ int i=0; int j=0; int k=0; int arm[10]; for( k=1; k<9; k++) { j=0; for( i=0; i<10; i++) { arm[i]=-1; } for( i=1; i<11; i++) { if( Flag[k][i]>=0 ) { arm[j]=Flag[k][i]; j++; } } for( i=0; i<10; i++) { Flag[k][i+1]=arm[i]; } }}static void RightMove(){ int i=0; int j=0; int k=0; int arm[10]; for( k=1; k<9; k++) { j=0; for( i=0; i<10; i++) { arm[i]=-1; } for( i=10; i>0; i--) { if( Flag[k][i]>=0 ) { arm[j]=Flag[k][i]; j++; } } for( i=0; i<10; i++) { Flag[k][10-i]=arm[i]; } }}static void CenterBTMove(){ int i=0; int j=0; int k=0; int arm[5]; for( k=1; k<11; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=4; i>0; i--) { if( Flag[i][k]>=0 ) { arm[j]=Flag[i][k]; j++; } } for( i=0; i<4; i++) { Flag[4-i][k]=arm[i]; } } for( k=1; k<11; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=5; i<9; i++) { if( Flag[i][k]>=0 ) { arm[j]=Flag[i][k]; j++; } } for( i=4; i<8; i++) { Flag[i+1][k]=arm[i-4]; } }}static void CenterRLMove(){ int i=0; int j=0; int k=0; int arm[5]; for( k=1; k<9; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=5; i>0; i--) { if( Flag[k][i]>=0 ) { arm[j]=Flag[k][i]; j++; } } for( i=0; i<5; i++) { Flag[k][5-i]=arm[i]; } } for( k=1; k<9; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=6; i<11; i++) { if( Flag[k][i]>=0 ) { arm[j]=Flag[k][i]; j++; } } for( i=5; i<10; i++) { Flag[k][i+1]=arm[i-5]; } }}static void BTMove(){ int i=0; int j=0; int k=0; int arm[5]; for( k=1; k<11; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=1; i<5; i++) { if( Flag[i][k]>=0 ) { arm[j]=Flag[i][k]; j++; } } for( i=0; i<4; i++) { Flag[i+1][k]=arm[i]; } } for( k=1; k<11; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=8; i>4; i--) { if( Flag[i][k]>=0 ) { arm[j]=Flag[i][k]; j++; } } for( i=0; i<4; i++) { Flag[8-i][k]=arm[i]; } }}static void RLMove(){ int i=0; int j=0; int k=0; int arm[5]; for( k=1; k<9; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=1; i<6; i++) { if( Flag[k][i]>=0 ) { arm[j]=Flag[k][i]; j++; } } for( i=0; i<5; i++) { Flag[k][i+1]=arm[i]; } } for( k=1; k<9; k++) { j=0; for( i=0; i<5; i++) { arm[i]=-1; } for( i=10; i>5; i--) { if( Flag[k][i]>=0 ) { arm[j]=Flag[k][i]; j++; } } for( i=0; i<5; i++) { Flag[k][10-i]=arm[i]; } }}static int LianWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){ HDC hdc;// HWND hProgBar; int prex,prey; int i=0; int j=0; int line=0; int row=0; int number; switch (message) { case MSG_CREATE: { SetTimer(hWnd, 100, 40 );/* hProgBar=CreateWindow( CTRL_PROGRESSBAR, "progressbar", WS_VISIBLE |WS_CHILD | PBS_NOTIFY, 110, 56,510,560,30,hWnd,0);*/ break; } case MSG_INITDIALOG: { break; } case MSG_PAINT: { hdc = BeginPaint(hWnd); FillBoxWithBitmap(hdc,0,0,800,560,&Bk_Ground); FillBoxWithBitmap(hdc,680,56,120,50,&Bt_Ruffle); FillBoxWithBitmap(hdc,680,126,120,50,&Bt_Clew); FillBoxWithBitmap(hdc,680,196,120,50,&Bt_Restart); FillBoxWithBitmap(hdc,680,266,120,50,&Bt_End); FillBoxWithBitmap(hdc,680,336,120,50,&Bt_Time); FillBoxWithBitmap(hdc,760,140,18,19,&Number[ClewNum]); FillBoxWithBitmap(hdc,760,70,18,19,&Number[RuffleNum]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -