.net制作的抽餐厅和游戏装备的小程序

 这篇文章主要介绍了.net制作的抽餐厅和游戏装备的小程序,小伙伴们以后再也不用每天都考虑去哪里吃饭了,非常好玩和实用,需要的朋友可以参考下

 
 

随便新建一个asp.net web项目,拖入即可。现在知道为什么游戏老是暴不出好装备,因为他的权重是非常小地。。。中午吃饭随机一下,想去哪一家,就把权重值设大一点,再中不了,就认命吧!

Default.aspx

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>加权随机</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtNum" runat="server" Text="100" ></asp:TextBox>
<br />
<br />
<asp:Button ID="btnRandom" runat="server" Text="开始抽奖(装备)" onclick="btnRandom_Click"/>
<br />
<br />
<asp:Button ID="btnRandomFood" runat="server" Text="开始抽奖(餐厅)" onclick="btnRandomFood_Click"/>
<br />
<br />
<asp:Button ID="btnClear" runat="server" Text="清屏" onclick="btnClear_Click"/>
<br />
<asp:Literal ID="lblResult" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>

Default.aspx.cs

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192

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
{
//<string,int>:<名称:权重>
public Dictionary<string, int> Goods = new Dictionary<string, int>();
public int TotalWeight = 0;
 
public class Good
{
/// <summary>
/// 名称
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 权重(大于等于1,否则出现的可能性为0)
/// </summary>
public int Weight
{
get;
set;
}
}
 
public List<Good> Result = new List<Good>();
 
protected void Page_Load(object sender, EventArgs e)
{
}
 
/// <summary>
/// 初始化装备 俺是《梦三国》玩家,嘿嘿
/// </summary>
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 (KeyValuePair<string, int> kvp in Goods)
{
TotalWeight += kvp.Value;
}
}
 
/// <summary>
/// 初始化餐厅,公司楼下餐厅比较多,只写几个,意思意思。。。
/// </summary>
protected void InitFood()
{
Goods.Clear();
TotalWeight = 0;
 
Goods.Add("清真兰州", 1);
Goods.Add("长安客", 1);
Goods.Add("迎客松", 1);
Goods.Add("吉祥混沌", 1);
 
foreach (KeyValuePair<string, int> kvp 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 + "<br/>";
 
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 (KeyValuePair<string, int> kvp 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 + "%<br/>";
}
 
}
 
//开始抽奖(餐厅)
protected void btnRandomFood_Click(object sender, EventArgs e)
{
InitFood();
 
lblResult.Text = lblResult.Text + "<br/>";
 
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 (KeyValuePair<string, int> kvp 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 + "%<br/>";
}
 
}
 
/// <summary>
/// 根据随机权重判断所在范围
/// </summary>
/// <param name="Weight"></param>
protected void ProduceResult(int Weight)
{
int min = 1;
int max = 1;
foreach (KeyValuePair<string, int> kvp 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;
}
}
 
/// <summary>
/// 随机种子值(防止速度过快造成的重复)
/// </summary>
/// <returns></returns>
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 = "";
}
}

 

以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-08-03 19:43:02

.net制作的抽餐厅和游戏装备的小程序的相关文章

.net制作的抽餐厅和游戏装备的小程序_实用技巧

随便新建一个asp.net web项目,拖入即可.现在知道为什么游戏老是暴不出好装备,因为他的权重是非常小地...中午吃饭随机一下,想去哪一家,就把权重值设大一点,再中不了,就认命吧! Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DO

用mfc 制作一个三人跳棋游戏·

问题描述 用mfc 制作一个三人跳棋游戏· 游戏是两个人与计算机进行的,游戏界面什么都能做出来,就是计算机针对两名玩家的走棋, 进行回应这方面的算法怎么写,而且在数据库中收录棋谱,让计算机实现人工智能 这方面怎么破啊,求大神指教~ 解决方案 跳棋比较简单,用广度优先算法遍历可能的走法,并且对盘面进行评估,得到最优的走法. 如果要再高级点,就设计自适应学习算法.

基于javascript制作经典传统的拼图游戏_javascript技巧

本文实例为大家分享了javascript制作经典传统的拼图游戏的关键代码,供大家参考,具体内容如下 效果图: 拼出你喜欢的白雪公主和七个小矮人 实现代码: <!DOCTYPE html> <html> <head> <title>pingtu.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

偷室友信用卡狂购游戏装备

本报讯 (记者 曾育军 通讯员 刘晓芸) 袁某偷走室友银行信用卡,透支了2000元购买游戏装备,近日被警方依法刑拘. 1月25日下午1时30分许,在某工厂上班的杨某来到蓬江区新城派出所报案称,1月22日下午2时许,他放在出租屋内桌上的一张建设银行信用卡不见了,查询发现被透支了2000元.经数日侦查,民警发现杨某室友袁某很可疑,1月28日将袁某带回派出所调查. 经审讯,嫌疑人袁某交代是自己盗走杨某的信用卡,由于痴迷网络游戏,他用信用卡支付方式,购买了一些游戏装备.

Painter制作华丽的降妖游戏场景绘制教程

给各位Painter软件的使用者们来详细的解析分享一下制作华丽的降妖游戏场景的绘制教程. 绘制步骤: 1.起稿,用大色块定下场景的主体山脉.主光源.主色调.以及主体角色---龙的动态剪影.   2.加入男女角色,这幅图的要求是要画一男一女两人决斗恶龙的场面,而男女均为游戏主角,因此构图上男.女.龙三个都是画图的主体,这样对于画面重点的取舍和构图上就带来了一些困难,因为三个主体虽然在商业内容表达上满足了需要,但是单就美术画面欣赏层面来讲,主体一多,画面就会散掉,这在构图上是一个挑战. 我们可以这样

私自下载《传奇》服务器 贩卖游戏装备被判刑

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 江苏东海几名无业人员及农民,租用服务器,未经运营商许可私自下载网络游戏服务端程序,非法出售游戏装备获利数十万元被判刑.东海县法院日前判决这起网络侵犯著作权案,以侵犯著作权罪判处李胜杰有期徒刑三年,缓刑三年,并处罚金50万元,其他4名被告人也被判处相应刑罚. 法院审理查明,自2006年10月开始,在陈环的帮助下,李胜杰未经<传奇>游

急于提升战斗力的他,随即加对方QQ求购游戏装备

福州仓山的林某上网玩网络游戏,无意间看到一个售卖http://www.aliyun.com/zixun/aggregation/28609.html">游戏装备的网址.急于提升战斗力的他,随即加对方QQ求购游戏装备. 按"卖家"要求,林某注册了新账户,并充值了800元,随后点击购买了游戏装备.但随后要退款时,页面却显示"银行卡账号不对,资金被冻结"字样,林某遂再次联系"卖家"客服. 对方要求"再存3800元,作为冻结保证

男子在晋诈卖网上游戏装备获刑

中新网太原2月19日电(赵静)河南无业人员豆某苦于没有任何经济来源,便利用网络游戏,非法牟取钱财.19日,山西省阳曲县http://www.aliyun.com/zixun/aggregation/31896.html">人民法院对田某以诈骗罪判处拘役三个月,缓刑六个月,并处罚金5000元. 据了解,豆某和其朋友高某共同在藏宝阁网站拥有一个名字为"月光美人"的游戏帐号.2012年6月,豆某背着高某在互联网上发布消息称:自己有一套游戏装备(五件仙器)欲出售,阳曲县的某闫某

90后离婚的财产分割:微博、网店、游戏装备都能分

90后离婚的财产分割:微博.网店.游戏装备都能分当下,越来越多的"90后"步入了婚姻殿堂,其中有一些年轻人结婚不久,便出现了"闪离"现象.与老一辈相比,"90后"们的生活与互联网的关系更加密切. 所以,在其离婚分割财产时,除传统的实物财产外,"吉利"数字的QQ号码,网络游戏中的装备.宠物.角色等级与角色技能,电子邮箱,网店及域名等虚拟财产,也都 成了被分割的财产.这些看不见又摸不着的虚拟财产到底算不算法律定义上的财产?离婚时该