T-Sql编程基础
时间:2021-07-01 10:21:17
帮助过:3人阅读
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!
T-Sql编程基础
标签: