yui·浅 发表于 2006-11-8 18:37:51

[求助]变数+法的问题。也许比较白目请大家原谅

又来请教了。也许比较白目请看到的前辈不要笑我。
关于变数+法的疑问。刚开始学习变数,请大家指点
我想做的是个“回家”的按钮
每1天回去之后的剧情是不同的。
于是这样设想的

*define
globalon
game
*start
mov %300,0;记录回家次数的变量
lsp 1,":c/4,200,1;bg\new.jpg",60,220,255;按纽本体
spbtn 1,1
*btnwait
btnwait2 %0
if %0<=0 goto *btnwait
if %0==1 goto *backhome
*backhome
add %300,1;每次触发记录次数1
if %300=1;很白目的一天一天的设定了
goto *day1
if %300=2
goto *day2
if %300=3
goto *day3
*day1
第一天
reset
*day2
第二天
reset
*day3
第三天
reset
end

但是实际动作之后还是每次都显示是第一天sto
我用了200以上的全局了.应该不会记录不上啊.
请前辈指点Q-Q,拜谢

CountD 发表于 2006-11-8 19:05:39

if不和跳转写在同一行,会把跳转认为是无条件的...

sarah707 发表于 2006-11-8 19:06:04

可能是因为在if后分行了的缘故……貌似ns里if后一定要写成一行的……不然就会作为与if无关的顺序读下去……

sarah707 发表于 2006-11-8 19:23:17

我最近果然在恍惚……竟然发了重复贴……

yui·浅 发表于 2006-11-8 20:05:37

..居然犯了这样的错误sto
以及发现了最终的根源是

*start
mov %300,0;记录回家次数的变量

这里.所以每次reset回来就清0了sto

以及想问下变量没有在开始赋值的话默认是0么?- -?

CountD 发表于 2006-11-8 20:07:22

还有,每次
mov %300,0;记录回家次数的变量
的时候都会把变量重设的...
就算是写到同一行问题也还是不会解决...
首先是要用IF让初始化只执行一次吧...==

yui·浅 发表于 2006-11-8 20:34:37

是的.发现了这问题了sto于是改了.
以及还想问下D君.

因为着是想做成个按纽 放在 SAVE LOAD边上那种
这个能用那defsub/getparam
把他给定义了然后在GAME里每次调用么?
defsub *backhome

*backhome
getparam
add %300,1;每次触发记录次数1
if %300=1;很白目的一天一天的设定了
goto *day1
if %300=2
goto *day2
if %300=3
goto *day3

然后在里面的按纽上直接写上 goto*backhome么?

CountD 发表于 2006-11-8 20:58:44

可以的,不过要用gosub,别用goto……黑线。

冰糖银耳羹 发表于 2006-11-8 21:08:59

一天一天地设定..............OTZ大人的游戏时间是多长呀||||

yui·浅 发表于 2006-11-8 22:58:39

啊感谢D君|||
我果然是白到让人黑线了sto....

以及楼上的甜点君
GAME时间
12天吧.. sto
所以我才敢1天1天的写.
以及这不是养成所以其实每天回去之后的差别还是满大的.sto
页: [1]
查看完整版本: [求助]变数+法的问题。也许比较白目请大家原谅