You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:15:05