c++ &easyx 五子棋

#include <graphics.h>     // 引用图形库头文件
#include <conio.h>
void set_black(int x,int y){
    setfillcolor(BLACK);
    fillcircle(x,y,12);
}
void set_white(int x,int y){
    setfillcolor(WHITE);
    fillcircle(x,y,12);
}
void qipan(int n){
    initgraph(n*24,n*24);  
    setbkcolor(LIGHTGRAY);
    cleardevice();
    for(int i=0;i<=n*24;i+=n){
        line(0,i,n*24,i);
        line(i,0,i,n*24);
    }
}
int main()
{  
	int luodian[24][24]={0};
    int p=0;
    qipan(30);
    ExMessage m;
    int x,y;
    while(1){
        m=getmessage();
        switch(m.message){
            case WM_LBUTTONDOWN:
            	x=(m.x/30)*30;
            	y=(m.y/30)*30;
            	if(luodian[x/30][y/30]!=0){
            		break;
				}
                if(p%2==0){
                    set_black(x,y);
                    luodian[x/30][y/30]=1;
                }else{
                    set_white(x,y);
                    luodian[x/30][y/30]=2;
                }
                
                p++;
                break;
            case WM_KEYDOWN:
                if(m.vkcode==VK_ESCAPE){
                    return 0;
                }
             
        }
         
    }
     
    _getch();               // 按任意键继续
    closegraph();           // 关闭绘图窗口
    return 0;
} 

人机

#include <graphics.h>     // 引用图形库头文件
#include <conio.h>
#include<bits/stdc++.h>
void set_black(int x,int y){
    setfillcolor(BLACK);
    fillcircle(x,y,12);
}
void set_white(int x,int y){
    setfillcolor(WHITE);
    fillcircle(x,y,12);
}
void qipan(int n){
    initgraph(n*24,n*24);  
    setbkcolor(LIGHTGRAY);
    cleardevice();
    for(int i=0;i<=n*24;i+=n){
        line(0,i,n*24,i);
        line(i,0,i,n*24);
    }
}
int main()
{  	
	srand(time(0));
	int ld[24][24]={0};
    qipan(30);
    ExMessage m;
    int x,y,i,j;
    while(1){
        m=getmessage();
        switch(m.message){
            case WM_LBUTTONDOWN:
            	x=(m.x/30)*30;
            	y=(m.y/30)*30;
            	if(ld[x/30][y/30]!=0){
            		break;
				}
                set_black(x,y);
                ld[x/30][y/30]=1;
				i=x/30;
				j=y/30;
				if(ld[i+1][j]==1){
					if(ld[i+2][j]==0){
						set_white((i+2)*30,y);
                    	ld[i+2][j]=2;
					}
				}else if(ld[i-1][j]==1){
					if(ld[i-2][j]==0){
						set_white((i-2)*30,y);
                    	ld[i-2][j]=2;
					}
				}
				else{//随机 
					do{
						x=rand()%23+1;
						y=rand()%23+1;
					}while(ld[x][y]!=0);
					set_white(x*30,y*30);
					ld[x][y]=2;
				}
				
				
				
                    //set_white(x,y);
                    //ld[x/30][y/30]=2;
                
                
                
                
                
                
                

                break;
            case WM_KEYDOWN:
                if(m.vkcode==VK_ESCAPE){
                    return 0;
                }
             
        }
         
    }
     
    _getch();               // 按任意键继续
    closegraph();           // 关闭绘图窗口
    return 0;
}

  

posted @ 2025-07-05 16:00  王ys  阅读(11)  评论(0)    收藏  举报