SQL模拟达芬奇密码中文站首页数字游戏

来源:互联网 发布:工资管理系统数据库 编辑:程序博客网 时间:2024/04/29 13:40
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

近来达芬奇密码热抄,也从网上找来看了,对中文官网首页的游戏产生了兴趣.由于是小时候看过这个数学题,现在突然看到备感亲切.所以用SQL模拟了一个.(中文官方见http://davincicode.leiling.com/)

create procdavinci(@intarrayvarchar(1000))as--******************--2004.7--******************declare@spvarchar(1)set@sp=','  

declare@iint,@jint,@maxqint

--初始化ifcharindex(@sp,@intarray)=0begin   ifobject_id('tempdb..##t')isnotnull      droptable##t

   ifisnumeric(@intarray)=0   begin      print'输入参数必须是数字。'      return   end   createtable##t(idintidentity(1,1),qint)   set@i=floor(10+rand()*30)   insertinto##t(q)values(@i)   print'目标:'+cast(@iasvarchar(2))end

--轮回游戏elsebegin   --判断游戏是否结束   ifobject_id('tempdb..##t')isnull   begin      print'本回合已经结束,大侠请重新来过!'      return   end

   --验证用户输入数合法性   ifisnumeric(right(@intarray,charindex(@sp,reverse(@intarray))-1))=0   begin      print'输入参数必须是数字。'      return   end   set@i=cast(right(@intarray,charindex(@sp,reverse(@intarray))-1)asint)   set@maxq=(selectmax(q)from##twhereid>1)   if@i<=isnull(@maxq,0)   begin      print'输入参数必须大于当前最大数。'      return   end   if@i-isnull(@maxq,1)>3   begin      print'输入参数超过范围。'      return   end   if@i>(selectqfrom##twhereid=1)   begin      print'输入参数不得大于目标数。'      return   end

   --插入用户输入数   insertinto##t(q)values(@i)   print'你输入:'+cast(@iasvarchar(2))    --判断胜负   if@i=(selectqfrom##twhereid=1)   begin      droptable##t      print'-------------------------------------'      print'胜败乃兵家常事,大侠请重新来过!'      return   end   if@i=(selectqfrom##twhereid=1)-1   begin   droptable##t      print'达芬奇:'+cast(@i+1asvarchar(2))      print'-----------------'      print'恭喜!你获胜了。'      return   end共2页  1 
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击