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攻击玩家2 set @hp2 = @hp2 -@atk1; print @paly1 +‘ 攻击 ‘+@paly2+‘ , ‘+@paly2+‘ 损伤 ‘+cast(@atk1 as varchar(10)) --判断 @paly2 是不是挂了 if @hp2<=0 begin print @paly1 +‘胜利!‘ BREAK; end --没死就玩家2攻击玩家2 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 --没死就玩家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!
时间: 2024-10-05 04:45:07