wpf 编写连连看布局

本文介绍了使用WPF进行连连看游戏的布局设计,通过10x10的行列布局,利用Img元素替代Button展示,并详细讲解了如何生成随机数以实现图片的随机分布,从而完成连连看游戏的基础布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先布局分成10行10列

 for (int i = 0; i < 10; i++)
            {
                ColumnDefinition colDef = new ColumnDefinition();
                gridGame.ColumnDefinitions.Add(colDef);

                RowDefinition rowDef = new RowDefinition();
                gridGame.RowDefinitions.Add(rowDef);
            }

再为每个空格填入一个button,并在button中显示他所在的行列
 for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Button btn = new Button();
                    btn.Content = i + "," + j;

                    //通过代码修改控件的Grid.Row属性
                    Grid.SetRow(btn, i);
                    Grid.SetColumn(btn, j);

                    gridGame.Children.Add(btn);
                }
            }
显示效果如下


现在看到能够正常生成所以现在把button去掉,用img显示

     		    Image img = new Image();
                    img.Source = new BitmapImage(new Uri("1.jpg",UriKind.Relative));//图片路径
                    Grid.SetRow(img, i);
                    Grid.SetColumn(img, j);
                    gridGame.Children.Add(img);
效果如下:


怎样生成随机数呢??

            Random random = new Random();
            int i1= random.Next(0, 99);//生成一个>=0,<99的随机整数
            int i2=  random.Next(3, 9);//生成一个>=3,<9的随机整数

好了,知道了原理那么就可以随机生成1-9个随机图片了,只需把上面显示固定连接的照片修改一下

                    int imgName = random.Next(1, 10);//生成>=1,<10的随机数

                    Image img = new Image();
                    //代码给Source属性赋值
                    img.Source = new BitmapImage(new Uri("Images/"+imgName+".png",UriKind.Relative));//图片路径
                    Grid.SetRow(img, i);
                    Grid.SetColumn(img, j);
                    gridGame.Children.Add(img);

好了效果图如下:

ok,看来随机生成一张照片是没有问题了。

至此,连连看布局就完成了。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值