VB写扫雷的问题
1.比如load了9*9个按钮后,怎么删掉?就设置扫雷初级高级的时候怎么增减鸽子数。2.就是在window自带的扫雷中,要是按下左键后,左右移动鼠标,可以看到格子有变化是...
1.比如load 了9*9个按钮后,怎么删掉?就设置扫雷初级高级的时候怎么增减鸽子数。
2.就是在window自带的扫雷中,要是按下左键后,左右移动鼠标,可以看到格子有变化是吧,然后放开鼠标就翻开格子了,这个怎么实现呢?
3.怎么让commandbutton不能单击?设定Enabled=False么?这样的话我发现单击后焦点会立即跑到另外的按钮去。 展开
2.就是在window自带的扫雷中,要是按下左键后,左右移动鼠标,可以看到格子有变化是吧,然后放开鼠标就翻开格子了,这个怎么实现呢?
3.怎么让commandbutton不能单击?设定Enabled=False么?这样的话我发现单击后焦点会立即跑到另外的按钮去。 展开
2个回答
展开全部
1、扫雷的按钮是画出来的,实际上没有一个按钮。你需要自己设计一个绘制指定像素大小按钮的函数(一个绘制鼓起状态、一个绘制凹下状态、一个绘制点开状态,你需要定义一个数组来记录“按钮”阵列的状态,比如:0=突起、1=凹下、2=点开)
2、MouseMove、MouseUp、MouseDown三个事件带有x和y坐标属性。根据x、y坐标可以计算出鼠标在哪个格子里。假如你的格子是12×12像素的,坐标整除12就是格子的行列坐标。既然可以知道格子的坐标,只要在鼠标按下的状态将鼠标所在坐标的格子绘制成凹下、其他格子绘制成突起、已经点开的不变就可以了。
3、由于扫雷的“按钮”其实是画出来的,所以不存在你说的焦点问题。
4、实际做扫雷我建议你用Paint粘贴小图块来做图。扫雷基本上就那么几种图块:鼓起、凹下、点开;地雷、1-8数字、红旗、问号。学会制作图块“字库”是设计这种小游戏的基本功。粘贴图块还可以使你的扫雷更加漂亮,因为你可以用绘图工具精心绘制这些图块,可以使扫雷更漂亮。
5、扫雷这个游戏是个像素矩阵游戏。首先你应该从像素矩阵角度来实现它的数学模型(以数字阵列的形式使它可以运行),而不是首先设计界面。因为界面只是最后的工作。你看到的图块只是矩阵中这些数据的表达。
如果你想寻求更多的帮助,推荐你去CSDN论坛(www.csdn.net)的VB板块求助。那里不乏有人做过扫雷。
2、MouseMove、MouseUp、MouseDown三个事件带有x和y坐标属性。根据x、y坐标可以计算出鼠标在哪个格子里。假如你的格子是12×12像素的,坐标整除12就是格子的行列坐标。既然可以知道格子的坐标,只要在鼠标按下的状态将鼠标所在坐标的格子绘制成凹下、其他格子绘制成突起、已经点开的不变就可以了。
3、由于扫雷的“按钮”其实是画出来的,所以不存在你说的焦点问题。
4、实际做扫雷我建议你用Paint粘贴小图块来做图。扫雷基本上就那么几种图块:鼓起、凹下、点开;地雷、1-8数字、红旗、问号。学会制作图块“字库”是设计这种小游戏的基本功。粘贴图块还可以使你的扫雷更加漂亮,因为你可以用绘图工具精心绘制这些图块,可以使扫雷更漂亮。
5、扫雷这个游戏是个像素矩阵游戏。首先你应该从像素矩阵角度来实现它的数学模型(以数字阵列的形式使它可以运行),而不是首先设计界面。因为界面只是最后的工作。你看到的图块只是矩阵中这些数据的表达。
如果你想寻求更多的帮助,推荐你去CSDN论坛(www.csdn.net)的VB板块求助。那里不乏有人做过扫雷。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询