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;
}

浙公網安備 33010602011771號