ASP.NET中随机数生成及应用(2)

2008-02-22 09:31:53来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


 response.write("Theresultofr1.next(100)is:" r1.next(100).tostring())
 response.write("The result of r1.next(100,150) is:" r1.next(100,150).tostring())
 response.write("The result of r1.nextdouble() is:" r1.nextdouble().tostring())
 r1.nextbytes(r) // dim r(300) as byte
 response.write("the r(100) is:")
 response.write(r(199))
end sub </script>

  其测试结果如图1所示:



图1 伪随机数测试运行结果

  实例开发

  应用程序需求分析:创建一个用于模拟掷骰子游戏的应用程序。此游戏中,游戏者将随机滚动一个骰子。每一个骰子有六个面,分别代表1,2,3,4,5,6这六个点。当骰子停下以后,观察骰子上表面的点数。如果掷得的点数为6,则提示赢的信息,否则将继续投掷。

  1、关键技术

  1.1 Web控件表单

  Web控件表单具有高级语言的面向对象的特性,它是ASP.NET中System.Web.UI.WebControls命名空间的对象。其处理过程与HTML控件表单相似,有如下几个特点:表单在服务器端运行;输入域都是控件,具有强大且丰富的属性和方法,输入域的信息可以保留;具备对输入域的验证能力;包含有数据显示控件等。

  一个典型的Web控件表单代码如下:

  <asp: button id=”sub3” text=”confirm” runat=”server”/>

  其中ASP:XXX指明是哪一类Web控件;ID属性指明控件的标识名称;Runat属性的值为server,指明这是在服务器端运行的控件。

  本例中将用到的Web控件主要为按钮控件。其中Image控件用于显示图像文件,有以下几个属性:Imageurl,指明图像文件的URL;Width,图像文件显示的宽度;Height,图像文件显示的高度等。

  1.2 伪随机数生成

  根据需求分析描述,为模拟随机投掷骰子所得到的点数,需要随机产生范围在1~6之间的整数,此时可利用到System.Random类的Next(i,j)方法,这里i=1,j=7。(笔者编写了一个测试程序发现如果j=6,所生成的随机数在1~5之间)

  2、程序实现

  该程序的主要代码实现如下:

<script language="vb" runat="server">

sub disp(obj as object,e as eventargs)

dim r1 as random =new random() //定义一个随机数类

dim file_prefix as string = "Images\die"

dim file_suffix as string = ".png"

value = r1.next(1,7) //dim value as Integer

s1 = file_prefix value.tostring() file_suffix

pic1.imageurl = s1 //更新Image控件的imageurl属性

if value = 6 then

disp.text = "You win" //显示提示信息

else

disp.text = "Try again"

end if

end sub

</script>

<form id="form1" runat="server"><br>

<asp:button id="disp" runat="server" onclick="disp" text="start"/>

<asp:image id="pic1" runat="server" width="50" height="50"/></form>

  程序的运行结果如图2所示:


图2 程序运行结果

  结束语

  Web应用程序中有很多地方都要用到伪随机数,如何选择生成随机序列的种子参数,以及选用何种随机算法以期生成性能更佳的伪随机序列是计算机软件开发人员追求的目标之一。利用ASP.NET框架提供了伪随机数生成类以及脚本语言VB.NET提供的函数方法可以生成各种满足不同要求的随机序列。如在Web系统中用于身份认证的随机校验码就用到了随机数生成的技术,这点在网站上有很多文章介绍,在此不再赘述。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ASP.NET入门随想之抽象的力量

下一篇:ASP.NET入门随想之博德之门 类与实例