c语言图像绘制象棋,先要做到移动象棋(先不管移动规则,动起来都不能行)
void MouseEventProcess(int x,int y,int button,int event)
{
//擦除屏幕
DisplayClear();
uiGetMouse(x,y,button,event);
//调用显示函数显示内容
display();
//设置棋子移动
double omx=cx-4*BoardLength,omy=cy-4.5*BoardLength;//前一鼠标位置
double mx,my;//当前鼠标位置
int i;
double r[33];
mx=ScaleXInches(x)-(cx-4*BoardLength);
my=ScaleYInches(y)-(cy-4.5*BoardLength);//pixels --> inches
for(i=0;i<17;i++){
r[i]=(mx-a[i].px)*(mx-a[i].px)+(my-a[i].py)*(my-a[i].py);
if((r[i]<=BallLength*BallLength)&&(button==LEFT_BUTTON)&&(event==BUTTON_DOWN)){
a[i].sure=1;
}
r[i+17]=(mx-b[i].px)*(mx-b[i].px)+(my-b[i].py)*(my-b[i].py);
if((r[i+17]<=BallLength*BallLength)&&(button==LEFT_BUTTON)&&(event==BUTTON_DOWN)){
b[i].sure=1;
}
}
for(i=0;i<17;i++){
if((a[i].sure==1)&&(event==MOUSEMOVE)){
a[i].isMove=1;
}
if((b[i].sure==1)&&(event==MOUSEMOVE)){
b[i].isMove=1;
}
}
for(i=0;i<17;i++){
if((a[i].isMove==1)&&(event==BUTTON_UP)){
a[i].isMove=0;
a[i].px=mx;
a[i].py=my;
}
if((b[i].isMove==1)&&(event==BUTTON_UP)){
b[i].isMove=0;
b[i].px=mx;
b[i].py=my;
}
}
}
就是鼠标放上去没有任何反应,不知道是哪儿的问题
我有象棋移动的代码跟你写的差不多,要不要参考一下