怎么用.net制作抽奖程序
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍"怎么用.net制作抽奖程序",在日常操作中,相信很多人在怎么用.net制作抽奖程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用.net制作抽奖
千家信息网最后更新 2025年01月16日怎么用.net制作抽奖程序
这篇文章主要介绍"怎么用.net制作抽奖程序",在日常操作中,相信很多人在怎么用.net制作抽奖程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用.net制作抽奖程序"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>加权随机
Default.aspx.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page{ //:<名称:权重> public Dictionary Goods = new Dictionary (); public int TotalWeight = 0; public class Good { /// /// 名称 /// public string Name { get; set; } ////// 权重(大于等于1,否则出现的可能性为0) /// public int Weight { get; set; } } public ListResult = new List (); protected void Page_Load(object sender, EventArgs e) { } /// /// 初始化装备 俺是《梦三国》玩家,嘿嘿 /// protected void InitGoods() { Goods.Clear(); TotalWeight = 0; Goods.Add("寒冰爪", 2); //神器(拳爪类) Goods.Add("重毛皮", 300); Goods.Add("小毛皮", 1000); Goods.Add("轻毛皮", 1000); Goods.Add("神之防具打造书", 5); Goods.Add("传说武器打造书", 20); Goods.Add("紫檀树枝", 300); Goods.Add("硬毛皮", 600); Goods.Add("勾魂水晶", 8); Goods.Add("真龙炙舞剑", 30); Goods.Add("董卓勾魂", 1); //神器中的神器(长柄类) foreach (KeyValuePairkvp in Goods) { TotalWeight += kvp.Value; } } /// /// 初始化餐厅,公司楼下餐厅比较多,只写几个,意思意思。。。 /// protected void InitFood() { Goods.Clear(); TotalWeight = 0; Goods.Add("清真兰州", 1); Goods.Add("长安客", 1); Goods.Add("迎客松", 1); Goods.Add("吉祥混沌", 1); foreach (KeyValuePairkvp in Goods) { TotalWeight += kvp.Value; } } protected int GetTryParse() { try { return int.Parse(txtNum.Text); } catch { return 1; } } //开始抽奖(装备) protected void btnRandom_Click(object sender, EventArgs e) { InitGoods(); lblResult.Text = lblResult.Text + "
"; int Count = GetTryParse(); for (int i = 1; i <= Count; i++) { Random rdm = new Random(GetRandomSeed()); int Weight = rdm.Next(1, TotalWeight + 1); ProduceResult(Weight); } foreach (KeyValuePairkvp in Goods) { int c = Result.Count(d => d.Name == kvp.Key); double rate = c * 1.0 / Count * 1.0 * 100; lblResult.Text = lblResult.Text + "物品名称:" + kvp.Key + " 权重:" + kvp.Value + " 暴出次数:" + c.ToString() + " 暴出率:" + rate + "%
"; } } //开始抽奖(餐厅) protected void btnRandomFood_Click(object sender, EventArgs e) { InitFood(); lblResult.Text = lblResult.Text + "
"; int Count = GetTryParse(); for (int i = 1; i <= Count; i++) { Random rdm = new Random(GetRandomSeed()); int Weight = rdm.Next(1, TotalWeight + 1); ProduceResult(Weight); } foreach (KeyValuePairkvp in Goods) { int c = Result.Count(d => d.Name == kvp.Key); double rate = c * 1.0 / Count * 1.0 * 100; lblResult.Text = lblResult.Text + "餐厅名称:" + kvp.Key + " 权重:" + kvp.Value + " 暴出次数:" + c.ToString() + " 暴出率:" + rate + "%
"; } } ////// 根据随机权重判断所在范围 /// /// protected void ProduceResult(int Weight) { int min = 1; int max = 1; foreach (KeyValuePairkvp in Goods) { max = min + kvp.Value - 1; if (Weight >= min && Weight <= max) { Good g = new Good(); g.Name = kvp.Key; g.Weight = kvp.Value; Result.Add(g); return; } min = max + 1; } } /// /// 随机种子值(防止速度过快造成的重复) /// ///private static int GetRandomSeed() { byte[] bytes = new byte[4]; System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); rng.GetBytes(bytes); return BitConverter.ToInt32(bytes, 0); } //清屏操作 protected void btnClear_Click(object sender, EventArgs e) { lblResult.Text = ""; }}
到此,关于"怎么用.net制作抽奖程序"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
程序
制作
权重
毛皮
餐厅
学习
名称
神器
意思
更多
次数
帮助
实用
混沌
接下来
三国
传说
公司
可能性
吉祥
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
开发费用网络安全费用比例
宁波网络技术开发案例
数据库文件备份方法工具
游戏棋牌软件开发多少钱
web用什么软件开发
wow 数据库 7.0
网络安全检测装置横向隔离
长沙闻博软件开发
服务器设置域名映射ip
深圳创意软件开发科技
云服务器防护软件大全
等级 数据库设计
或者开一家软件开发公司
oracle数据库版本号修改
华为国产化机密计算服务器
江苏省通管局网络安全
怎么连接服务器域用户管理
交通运输局网络安全工作报告
网络安全教育日视频观后感
服务器管理器打开没功能
服务器启动正常无法上网
湖畔镇服务器部落
服务器硬盘空间怎么扩容
新疆电信服务器
网络安全素质教育培训班
北京顺军科教网络安全定向培训
网络技术兼职自学
计算机网络技术大数据分析
环球生物医学数据库河南农业大学
长春软件开发系统价目表