T-Sql编程基础

T-sql编程 入门小游戏

T-sql编程基础,包括声明变量,if判断,while循环,以及使用一些基本函数.

记得在学校的时候,写过一个二人对打的文字输出游戏.

上代码

alter proc usp_paly
as

declare @paly1 nvarchar(20),@paly2 nvarchar(20)
declare @atk1 int,@atk2 int
declare @hp1 int,@hp2 int

set @paly1 ='神秘阿会喃'
set @paly2 ='吕布'
set @hp1 = 1000;
set @hp2 = 1000;

declare @rand int,@times int;
set @times = 0;
set @rand = 0;
 while @hp1 > 0 And @hp2> 0
   begin
     set @times = @times+1;
     print ''+ cast(@times as varchar(10))+'回合'
      set @rand = RAND()*100;  --100以内随机数,每一回合都要比看谁先出手
      --双方攻击力,每次都随机
      set @atk1 = cast(RAND() * 100 as int)+10; --攻击力 10到 110
      set @atk2 = cast(RAND() * 40 as int)+40;  --攻击力 40到80
      if @rand>50
        begin
--玩家1 先手 攻击
--回合制,一人打一回合,玩家1攻击玩家2 set @hp2 = @hp2 -@atk1; print @paly1 +' 攻击 '+@paly2+' , '+@paly2+' 损伤 '+cast(@atk1 as varchar(10)) --判断 @paly2 是不是挂了 if @hp2<=0 begin print @paly1 +'胜利!' BREAK; end --没死就玩家2攻击玩家1 set @hp1 = @hp1 -@atk2; print @paly2 +' 攻击 '+@paly1+' , '+@paly1+' 损伤 '+cast(@atk2 as varchar(10)) --判断 @paly2 是不是挂了 if @hp1<=0 begin print @paly2 +'胜利!' BREAK; end end else begin --玩家1 后手 --没死就玩家2攻击玩家1 set @hp1 = @hp1 -@atk2; print @paly2 +' 攻击 '+@paly1+' , '+@paly1+' 损伤 '+cast(@atk2 as varchar(10)) --判断 @paly2 是不是挂了 if @hp1<=0 begin print @paly2 +'胜利!' BREAK; end --回合制,一人打一回合,玩家1攻击玩家2 set @hp2 = @hp2 -@atk1; print @paly1 +' 攻击 '+@paly2+' , '+@paly2+' 损伤 '+cast(@atk1 as varchar(10)) --判断 @paly2 是不是挂了 if @hp2<=0 begin print @paly1 +'胜利!' BREAK; end end print '-----------------------------------------' end go

 

运行效果一览

 

 

Nice!

posted @ 2015-07-03 13:54  兴想事成  阅读(240)  评论(0编辑  收藏  举报