serflygod 发表于 2008-3-24 01:25:45

intlimit怎麼用?

我在指令手冊裡看到
intlimit 0,10,20

實際去用
改成

intlimit %10,0,2000
但不行

請問這個指令放在哪裡才對?
define區還是*start區?

sarah707 发表于 2008-3-24 10:14:37

放在*define区,后边不要加%,如果加了的话,限制大小的就是%10这个变量的数值的那个编号的变量(真绕口||||||)

serflygod 发表于 2008-3-25 01:35:44

感謝大大回應

你是說後面兩個數字嗎?




不過為何我把這條指令放到define區
雖然沒再跳出除錯對話框
但仍然還是沒有效耶
請問我是不是少加了什麼?
附上我的程式碼

*define
intlimit %10,0,2000;主要是希望敵方被打死之後,血值不要出現負號,而是零

game
*start
mov %10,1000 ;敵人的血值
mov %11,20;敵人的攻擊力
mov %12,40;敵人的防禦力
mov %13,2000 ;我方的血值
mov %14,20;我方的攻擊力
mov %15,40;我方的防禦力
mov %16,10;我方藥品數量
*war
目前敵方血值%10
我方血值%13

select "攻擊",*mattack,"物品",*things

*mattack
我方攻擊!!
rnd2 %1,3,5;設 %1為傷害值,數值3-5之間
sub %10,%14
sub %10,%1
敵人的血值%10\\
if %10<=0 goto*ydie
if %10>0 goto*yattack
end
*yattack
敵人攻擊!!
rnd2 %1,3,5;設 %1為傷害值,數值3-5之間
sub %13,%11
sub %13,%1
我方血值%13\\
if %13<=0 goto*mdie
if %10>0 goto*war
end
*ydie
你贏了!!\\
end
*mdie
你輸了!!\\
end
*things

你現在有%16顆藥
select "使用",*open,"不使用",*war
*open
if %16>0 goto*youcanuse
if %16<=0 goto *youcantuse
end
*youcantuse
你沒藥了!!
goto*war
end
*youcanuse
if %13==2000 goto*nouse
if %13>=1800 goto*initial
if %13<1800goto*add
end
*nouse
你的血值現在是2000
sub %16,1
mov %13,2000
goto*yattack
end
*initial
sub %16,1
你的血值現在是2000
mov %13,2000
goto*yattack
end
*add
sub %16,1
add %13,200
你的血值現在是%13
goto*yattack
end

sarah707 发表于 2008-3-25 10:19:36

我是说前边那个数字……用法就是:
intlimit 10,0,2000
如果你写成
intlimit %10,0,2000
而一般初始变量值是0,这句就相当于你把变量0限制了大小……

serflygod 发表于 2008-3-26 08:39:43

謝謝!
我知道怎麼用了^^
页: [1]
查看完整版本: intlimit怎麼用?