- 注册时间
- 2006-8-4
- 最后登录
- 2010-1-2
⑥精研
- 积分
- 2084
|
我的思想是:定义纸牌数据随机生成(分属于三种属性且有5种面值,这个做成了),并且根据获得的属性将相应的图片地址给文字变数$101(似乎也成了),以后可以套用在图片显示命令里(这里出现了不能获得数据$101的提示)。
局部代码如下:;mode800
*define
defsub setcard
;------------------------------------
;%0 btn专用变数
;%100-%120 纸牌用变数
;$100-$120 纸牌用文字变数
;
;%100随机生成卡片类型用变数
;%101记录生成的卡片类型的变数
;%102生成某类卡片的攻击力类型1~5
;%103卡片实际面值
;$100纸牌类型的文字变数
;$101变化的纸牌地址
game
*setcard
;生成属性与数值
rnd %100,9 ;给出0~10之间的随机数
if %100<=1 mov %101,3:mov $100,"health" ;20%的几率回复牌
if %100>=6 mov %101,1:mov $100,"physic" ;40%的几率物理牌
if %100<6 && %100>1 mov %101,2:mov $100,"magic" ;40%的几率魔法牌
if %101=1 rnd %102,4 ;物理属性攻击力大小类型0~4
if %101=2 rnd %102,4 ;魔法
if %101=3 rnd %102,4 ;回复
if %102=0 mov %103,10 ;纸牌实际面值
if %102=1 mov %103,20
if %102=2 mov %103,30
if %102=3 mov %103,40
if %102=4 mov %103,50
;赋予文字变量$101对应的图片地址
if %101=1 && %102=0 mov $101,"pic\phy10.jpg"(phy是单数半角字符,这是不可以的)
if %101=1 && %102=1 mov $101,"pic\phy20.jpg"
if %101=1 && %102=2 mov $101,"pic\phy30.jpg"
if %101=1 && %102=3 mov $101,"pic\phy40.jpg"
if %101=1 && %102=4 mov $101,"pic\phy50.jpg"
if %101=2 && %102=0 mov $101,"pic\ma10.jpg"
if %101=2 && %102=1 mov $101,"pic\ma20.jpg"
if %101=2 && %102=2 mov $101,"pic\ma30.jpg"
if %101=2 && %102=3 mov $101,"pic\ma40.jpg"
if %101=2 && %102=4 mov $101,"pic\ma50.jpg"
if %101=3 && %102=0 mov $101,"pic\heal10.jpg"
if %101=3 && %102=1 mov $101,"pic\heal20.jpg"
if %101=3 && %102=2 mov $101,"pic\heal30.jpg"
if %101=3 && %102=3 mov $101,"pic\heal40.jpg"
if %101=3 && %102=4 mov $101,"pic\heal50.jpg"
return
*start
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
setcard
文字变量一零一的值是$101。@
;目前为止运行没问题,$101的值在运行时顺利地显示了
*cardtable
bg "pic\battle.jpg",10,500 ;铺桌面
setcard
btndef "$101" ;将$101图片作为按钮读入
;---------------------上面这行有错误:无法开启档案$101
;---------------------下面的程序还没整理成型,不用在意= =
setcard
btn 1,35,415,100,150,35,415 ;第一张纸牌的位置
btndef "$101"
btn 2,140,415,100,150,140,415
setcard
btndef "$101"
btn 3,245,415,100,150,245,415
setcard
btndef "$101"
btn 4,350,415,100,150,350,415
setcard
btndef "$101"
btn 5,455,415,100,150,455,415
setcard
btndef "$101"
btn 6,560,415,100,150,560,415
setcard
btndef "$101"
btn 7,665,415,100,150,665,415
btnwait %0
if %0<=0 goto *cardlist
if %0==1 goto *card1
if %0==2 goto *card2
if %0==3 goto *card3
if %0==4 goto *card4
if %0==5 goto *card5
if %0==6 goto *card6
if %0==7 goto *card7
end
我对代码不熟,一边看论坛里的帖子一边做的。
莫非是btndef命令不能这样用吗? [s:6] |
|