怎么用.net制作抽奖程序
发表于:2025-02-21 作者:千家信息网编辑
千家信息网最后更新 2025年02月21日,这篇文章主要介绍"怎么用.net制作抽奖程序",在日常操作中,相信很多人在怎么用.net制作抽奖程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用.net制作抽奖
千家信息网最后更新 2025年02月21日怎么用.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安全错误
数据库的锁怎样保障安全
车联网网络安全公司排名
广州中企天呈网络技术
广东电子软件开发计划
数据转发到另外一台服务器访问
人力怎么招软件开发岗位
部队网络安全利与弊的总结
网吧电脑无盘服务器
网络安全法的网络概念
海门租房网络安全
后台监控系统备份数据库
数据库设计例子
正定正规软件开发专业服务
万方文献数据库
acl端口网络安全策略
数据库怎么还原后保留原有的
饥荒联机服务器管理员
小学网络安全为人民
形容网络技术玩的较好的人
qoe服务器
南京智慧学校软件开发
供暖公司网络安全整改报告
上海管理平台软件开发
服务器非管理口能检测告警吗
打印机服务器是有什么用
e成长网络安全小讲师
hod在服务器中什么意思
中国电信网络安全员招聘
聚和庄互联网科技
软件开发哪些大学
打印机代理服务器445怎么解决