本人在编写一个扫雷的游戏程序,下载了easyx,但始终无法达到示例中直接用ExMessage定义消息变量的功能,也无法引用EX_MOUSE等类别,网上也搜不到到这类问题,想知道是怎么回事。同时,如果自己照示例写出来了一个结构体, 该如何获取鼠标消息?
struct ExMessage
{
USHORT message;
union{
struct
{
bool lbutton :1; // 鼠标左键是否按下
bool rbutton :1; // 鼠标右键
short x; // 鼠标的 x 坐标
short y; // 鼠标的 y 坐标
};
};
};
int play()
{
int i,j,n;
ExMessage m;
while(1)
{
m = GetMessage() //此处括号内还未填写参数
i = m.x/SIZE + 1;
j = m.y/SIZE + 1;
switch (m.message)
{
case WM_LBUTTONDOWN:
if(map[i][j]>=30 && map[i][j]<=39)
{
map[i][j] -= 31;
count++;
if(map[i][j] == 0)
{
connect(i,j);
}
}
break;
case WM_RBUTTONDOWN:
if(map[i][j]>=30 && map[i][j]<=39)
{
map[i][j] -= 10;
}
else if(map[i][j]>=20 && map[i][j]<=29)
{
map[i][j] += 10;
}
break;
}
return map[i][j];
}
}
play()是程序中的一个函数,在上述的ExMessage有问题,同时getmessage()括号内的部分还未填写。 另外的一个问题就是调试的时候总会先在这个函数中出现数组溢出的错误,但实在看不出来哪里有溢出问题(本人水平有限),望大能指正!感谢!