对于五子棋来说,棋盘上落子的位置确定即是用一张二维数组来存储,当鼠标点击该点周围的某个范围的区域中时,便将这点的坐标返回,然后根据返回的坐标绘制出要显示的棋子的图形;
代码如下:
//假设棋盘的左上点坐标为(50,50)
//绘制出棋盘10*10及讲各点坐标存储
Point p1=new Point(50,50);
Point p2=new Point();
Graphics gra=this.CreatGraphics();
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
p2=new Point((i+1)*50,(j+1)*50);
gra.DrawLine(p1,p2);
}
p1=new Point((i+1)*50,(j+1)*50);
}
.......
然后就是判断鼠标的点击位置
MouseClick(object sender,MouseEventArgs e)
{
for(int x=0;x<10;x++)
{
if(e.X>(x+1)*50-25 && e.X<(x+1)*50+25)
{
int xz=x;//xz数组的第一个索引
}
}
for(int j=0;j<10;j++)
{
if(e.Y>(y+1)*50-25 && e.Y<(y+1)*50+25)
{
int yz=y;//yz数组的第二个索引
}
}
}
.........
确定下位置后,就开始绘制图片
Image ima=new Bitmap(string Path);
Point p_temp=new Point((xz+1)*50,(yz+1)*50);
gra.DrawImage(ima,p_temp);
转载于:https://blog.51cto.com/1888229/391690