冷月葬花魂 发表于 2015-1-16 22:31:11

ASP.NET编程:举例经由过程VB编写豁拳游戏来说述前提语句...

有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。前提|语句本文合适读者次要是进门读者和对VB进门教授教养有乐趣的伴侣。前提判别是盘算机编程中完成次要逻辑布局的流程把持语句。在VB中供应了IF前提表达式1then[代码部分]elseIf前提表达式2then[代码部分]else[代码部分]endIF<P>的把持流程来把持程序的实行布局。前提表达式决意了实行前提的判别。这里我们来举个例子申明该把持流程的事情办法。本例经由过程用VB完成一个豁拳程序来剖析前提判别语句。起首我们先来剖析一下基础的豁拳划定规矩:1.豁拳包含三个基础的拳(石头,铰剪,布)2.胜败划定规矩:石头>铰剪铰剪>布布>石头然后我们来思索豁拳游戏的完成,起首豁拳是由选手和电脑之间的竞赛举行的,电脑的豁拳我们经由过程随机数来天生vb的随机输函数rnd函数能够天生0~1之间的随机数我们经由过程Int(rnd()*3)+1来完成天生【1~3】的随机数,暗示(石头,铰剪,布),而选手选择的拳纪录在变量中playerGuess,然后我们再来编写划定规矩来完成。关于编写划定规矩我们就能够使用到下面所先容的前提判别的流程把持了。经由过程前提判别的流程把持我们能够做以下对照,假如电脑出(石头,铰剪,布)的一种,选手出的(石头,铰剪,布)的一种,那末就有9种组合划定规矩,因而这里就必要嵌套的前提判别。DimguessAsStringGuessTimer.Enabled=Falseguess=randGuess(Int(Rnd()*3)+1)RandLabel.Caption=guessIfguess="石头"ThenIfplayerGuess="Rock"ThenTitleLabel.Caption="玩家出石头电脑出石头两边平"Draw=Draw+1ElseIfplayerGuess="Forfex"ThenTitleLabel.Caption="玩家出布电脑出石头玩家赢"Win=Win+1ElseplayerGuess="Cloth"TitleLabel.Caption="玩家出铰剪电脑出石头电脑赢"Own=Own+1EndIfElseIfguess="铰剪"ThenIfplayerGuess="Rock"ThenTitleLabel.Caption="玩家出石头电脑出铰剪玩家赢"Win=Win+1ElseIfplayerGuess="Forfex"ThenTitleLabel.Caption="玩家出铰剪电脑出铰剪两边平"Draw=Draw+1ElseplayerGuess="Cloth"TitleLabel.Caption="玩家出布电脑出铰剪电脑赢"Own=Own+1EndIfElseguess="布"IfplayerGuess="Rock"ThenTitleLabel.Caption="玩家出石头电脑出布电脑赢"Own=Own+1ElseIfplayerGuess="Forfex"ThenTitleLabel.Caption="玩家出铰剪电脑出布玩家赢"Win=Win+1ElseplayerGuess="Cloth"TitleLabel.Caption="玩家出布电脑出布两边平"Draw=Draw+1EndIfEndIfResultLabel.Caption="赢:"&Win&"场"&"平:"&Draw&"场"&"负:"&Own&"场"<P>同时我们统计赢,平,负的场数。<P>全部程序计划:

程序界面计划





程序源代码:

PrivateplayerGuessAsStringPrivaterandGuess()AsStringPrivateWinAsSinglePrivateOwnAsSinglePrivateDrawAsSingle<P>PrivateSubClothCommand_Click()playerGuess="Cloth"GuessTimer.Enabled=TrueTitleLabel.Caption="玩家筹办出布"EndSub<P>PrivateSubForfexCommand_Click()playerGuess="Forfex"GuessTimer.Enabled=TrueTitleLabel.Caption="玩家筹办出铰剪"EndSub<P>PrivateSubForm_Load()ReDimrandGuess(3)randGuess(1)="石头"randGuess(2)="铰剪"randGuess(3)="布"ResultLabel.Caption="赢:"&Win&"场"&"平:"&Draw&"场"&"负:"&Own&"场"DimsumAsSinglesum=0Fori=1To12sum=sum+iNextiMsgBoxsumEndSub<P>PrivateSubGuessCommand_Click()DimguessAsStringGuessTimer.Enabled=Falseguess=randGuess(Int(Rnd()*3)+1)RandLabel.Caption=guessIfguess="石头"ThenIfplayerGuess="Rock"ThenTitleLabel.Caption="玩家出石头电脑出石头两边平"Draw=Draw+1ElseIfplayerGuess="Forfex"ThenTitleLabel.Caption="玩家出布电脑出石头玩家赢"Win=Win+1ElseplayerGuess="Cloth"TitleLabel.Caption="玩家出铰剪电脑出石头电脑赢"Own=Own+1EndIfElseIfguess="铰剪"ThenIfplayerGuess="Rock"ThenTitleLabel.Caption="玩家出石头电脑出铰剪玩家赢"Win=Win+1ElseIfplayerGuess="Forfex"ThenTitleLabel.Caption="玩家出铰剪电脑出铰剪两边平"Draw=Draw+1ElseplayerGuess="Cloth"TitleLabel.Caption="玩家出布电脑出铰剪电脑赢"Own=Own+1EndIfElseguess="布"IfplayerGuess="Rock"ThenTitleLabel.Caption="玩家出石头电脑出布电脑赢"Own=Own+1ElseIfplayerGuess="Forfex"ThenTitleLabel.Caption="玩家出铰剪电脑出布玩家赢"Win=Win+1ElseplayerGuess="Cloth"TitleLabel.Caption="玩家出布电脑出布两边平"Draw=Draw+1EndIfEndIfResultLabel.Caption="赢:"&Win&"场"&"平:"&Draw&"场"&"负:"&Own&"场"EndSub<P>PrivateSubGuessTimer_Timer()RandLabel.Caption=randGuess(Int(Rnd()*3)+1)EndSub<P>PrivateSubRockCommand_Click()playerGuess="Rock"GuessTimer.Enabled=TrueTitleLabel.Caption="玩家筹办出石头"EndSub<P>总结:<P>本程序是一个复杂易懂的VB进门程序,经由过程该程序使刚起步的伴侣在乐趣中懂得程序的基础逻辑布局同时抛开了C的呆板庞大性。
不过你如果学.net的话,你就不要选os了,这课比较底层的。你可以旁听数据库加上软件构件和中间件。(webservices和面向服务的课也应该听一听)

仓酷云 发表于 2015-1-19 16:02:09

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

若相依 发表于 2015-1-25 15:01:23

那么,ASP.Net有哪些改进呢?

admin 发表于 2015-2-2 22:33:48

逐步缩小出错代码段的范围,最终确定错误代码的位置。

金色的骷髅 发表于 2015-2-8 16:35:58

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。

山那边是海 发表于 2015-2-25 20:49:24

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

小妖女 发表于 2015-3-8 03:46:56

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

再见西城 发表于 2015-3-15 21:07:10

碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。

冷月葬花魂 发表于 2015-3-22 04:15:51

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
页: [1]
查看完整版本: ASP.NET编程:举例经由过程VB编写豁拳游戏来说述前提语句...