C# WPF老虎机开发:如何实现点击spin按钮随机展示图标图片
WPF老虎机随机切换图标实现方案
你现有代码已经封装好了随机数生成、图标更新的基础逻辑,只需要修改btnSpin_Click方法里的图标赋值逻辑即可实现随机切换效果,核心修改如下:
核心修改代码
替换你现有btnSpin_Click方法的内容:
private void btnSpin_Click(object sender, RoutedEventArgs e) { int InsertedCoins = Convert.ToInt32(lblCoinsInserted.Content); int CoinsBalance = Convert.ToInt32(lblCoinBalance.Content); if (InsertedCoins == 0 || CoinsBalance == 0) { MessageBox.Show("请先投入硬币", "未投入硬币", MessageBoxButton.OK, MessageBoxImage.Warning); return; } // 扣除一次游玩的硬币 lblCoinBalance.Content = CoinsBalance - 1; // 获取所有图标枚举值 Array allIcons = Enum.GetValues(typeof(SlotMachineIcon)); // 分别给三个位置随机生成图标 SlotMachineIcon leftIcon = (SlotMachineIcon)allIcons.GetValue(Random(0, allIcons.Length)); SlotMachineIcon middleIcon = (SlotMachineIcon)allIcons.GetValue(Random(0, allIcons.Length)); SlotMachineIcon rightIcon = (SlotMachineIcon)allIcons.GetValue(Random(0, allIcons.Length)); // 更新界面显示 UpdateImage(imgLeft, leftIcon); UpdateImage(imgMiddle, middleIcon); UpdateImage(imgRight, rightIcon); }
补充优化建议
- 你原代码里判断条件的单竖线
|要改成双竖线||,单竖线是按位或,双竖线才是逻辑或的短路判断,性能和逻辑更准确 - 现有图标路径的读取方式依赖开发环境的目录结构,发布后会找不到文件,建议把images文件夹里的所有图片属性设置为「资源」,然后修改
UpdateImage方法里的URI为WPF资源路径,示例:
void UpdateImage(Image wpfImage, SlotMachineIcon newIcon) { Uri uri = new Uri($"pack://application:,,,/images/{newIcon}.png", UriKind.Absolute); wpfImage.Source = new BitmapImage(uri); }
这样不管是开发还是发布后都能正常读取图标。
内容的提问来源于stack exchange,提问作者YackiKawaii
相关产品推荐
相关产品推荐

