标题: 【求助】關於陣列的問題
GhostsKou
会员
Rank: 1



UID 2099
精华 0
积分 28
帖子 6
阅读权限 5
注册 2009-3-12
 
发表于 2009-3-12 09:16  资料  短消息  加为好友 
【求助】關於陣列的問題

目前剛開始玩krkr,我想要寫一個陣列再將值傳回去。
結果@iscript跟@endscript包在裡面的程式不斷出錯冏rz。


@iscript
function range()
{
        var speed=new Array();
        var rank=new array();
        var a=f.r1_agi;
        var b=f.r2_agi;
        var c=f.r3_agi;
        var e=f.e1.agi;
        speed[]=[a,b,c,e];
        var i,j,k;
        for(i=0;i<4;i++)
        {
           if(speed>=speed[i+1])
              rank=speed;
           else
              rank=speed[i+1];   
        }
       
       
}
[endscript]

顶部
久遠悠 (Kuon.Yuu)
会员
Rank: 1



UID 574
精华 0
积分 108
帖子 45
阅读权限 5
注册 2007-11-26
 
发表于 2009-3-12 19:57  资料  短消息  加为好友  添加 久遠悠 为MSN好友 通过MSN和 久遠悠 交谈
@iscript<<想用"@"還是"[]"? 要和endscript統一一下格式啊…

function range()
{
        var speed=new Array();
        var rank=new array();<<上面對了這句卻打錯了…自己看錯處

       下面這4句用來做什麼…沒在之前定義過就不要拿來用…
        var a=f.r1_agi;
        var b=f.r2_agi;
        var c=f.r3_agi;
        var e=f.e1.agi;  <<這句和上面3個的不同了吧


        speed[]=[a,b,c,e];
        var i,j,k;  <<j和k用來做什麼?
        for(i=0;i<4;i++)
        {
           if(speed"">=speed[i+1])  <<SPEED是array對吧…, ""內的去到哪兒了
              rank=speed; << array的錯誤, 下面亦同
           else
              rank=speed[i+1];   
        }
      
}
[endscript]


建議去多看看array的教學

[ 本帖最后由 久遠悠 于 2009-3-12 21:31 编辑 ]

顶部
GhostsKou
会员
Rank: 1



UID 2099
精华 0
积分 28
帖子 6
阅读权限 5
注册 2009-3-12
 
发表于 2009-3-13 15:17  资料  短消息  加为好友 
@iscript<<想用"@"還是"[]"? 要和endscript統一一下格式啊…

function range()
{
        var speed=new Array();
        var rank=new Array();
  //這句已改正。

         var a=f.r1_agi;
        var b=f.r2_agi;
        var c=f.r3_agi;
        var e=f.e1_agi;

  //這個是在@iscript前面之前宣告的東西,而那個f.e1_agi是我字打錯我已修正回來。


        speed[]=[a,b,c,e];
        var i,j,k;  
  //j,k是我怕後來會用到,所以先宣告
        for(i=0;i<4;i++)
        {
           if(speed"">=speed[i+1])  
    //我不太懂您所說的speed的""內去哪裡了
              rank=speed;
           else
              rank=speed[i+1];   
        }
      
}
@endscript

聽您這樣說明似乎這個部份與我所了解的程式有所差異。
不好意思我只看過吉里吉里裡面漢化的tjs文件而已,不知道您知道有更好的教學嗎?

顶部
久遠悠 (Kuon.Yuu)
会员
Rank: 1



UID 574
精华 0
积分 108
帖子 45
阅读权限 5
注册 2007-11-26
 
发表于 2009-3-13 23:28  资料  短消息  加为好友  添加 久遠悠 为MSN好友 通过MSN和 久遠悠 交谈
speed[]=[a,b,c,e];
        var i,j,k;  
  //j,k是我怕後來會用到,所以先宣告
        for(i=0;i<4;i++)
        {
           if(speed"">=speed[i+1])  
    //我不太懂您所說的speed的""內去哪裡了
              rank=speed;
           else
              rank=speed[i+1];   
        }


rank和speed都是array吧
是array就不可以直接將數值代進去…
要指定位置…
用法是這樣的: rank[0]=speed[0];
不可以rank=speed[0];…

不過這個比數值方法有點微妙…

顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2009-3-13 23:59  资料  短消息  加为好友 
speed""<=没有这样的语法,请问那个""是哪里来的,做什么用的...|||
更重要的是,你想用这个实现什么啊|||





顶部
GhostsKou
会员
Rank: 1



UID 2099
精华 0
积分 28
帖子 6
阅读权限 5
注册 2009-3-12
 
发表于 2009-3-16 09:15  资料  短消息  加为好友 
@iscript

function range()
{
        var speed=new Array();
        var rank=new Array();
        var a=f.r1_agi;
        var b=f.r2_agi;
        var c=f.r3_agi;
        var e=f.e1_agi;
        speed[]=[a,b,c,e];
        var i,j,k;
        for(i=0;i<4;i++)
        {
           if(speed>=speed[i+1])
              rank=speed;
           else
              rank=speed[i+1];   
        }
        //tf.temp=9;
        →這行是我拿來測試吉里吉里有沒有讀到這個區塊
}



@endscript

以上的程式碼是我想要寫一個判斷速度的順序。

f那些的變量我有宣告後,是有值的。只是在這裡我沒有貼出來。

實際上如果我這樣寫的話,執行時會發生錯誤,我看了錯誤訊息是在@endscript這一行。

我不知道該怎麼樣處理這樣的錯誤。

[ 本帖最后由 GhostsKou 于 2009-3-16 09:23 编辑 ]

顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2009-3-16 12:01  资料  短消息  加为好友 
speed[]=[a,b,c,e];
只能写成
speed=[a,b,c,e];
否则是语法错误

  if(speed>=speed[i+1])<=把数组和数组里的某个值做比较,一点意义也没有吧
              rank=speed;<=这里是等于数组
           else
              rank=speed[i+1];   <=这里却是等于数组里的一个值

结论,你应该把speed这个数组,和你用来给rank赋值的那个变数分开...==b
也就是说,这个叫speed的东西,既然是数组,那么就不能同时当作一般变数来用...

你是希望传入一组变数,然后把他们按照大小顺序排列?
那样的话直接用
变数名.sort()就行了...- -

还是说你是想传入一个值,然后判断这个值是介于a-b,b-c,c-e之间?
(话说为什么abc后面是e啊...==b)

[ 本帖最后由 全局变量D 于 2009-3-16 12:12 编辑 ]





顶部
GhostsKou
会员
Rank: 1



UID 2099
精华 0
积分 28
帖子 6
阅读权限 5
注册 2009-3-12
 
发表于 2009-3-19 10:22  资料  短消息  加为好友 
原來tjs只能寫成這樣啊,因為我所學過的程式是不能這樣寫(這樣會有錯誤),所以當初大人在回覆我的時候我時候搞不懂為什麼能夠這樣寫。

我是想要傳入一組變數,讓他們做大小排列。
大人所說的那個語法我有想過,可是我想要記錄那些變數的順序是如何,所以沒有用sort那個語法。

…變數a,b,c為什麼接下來是e是因為我是設三個角色,然後一個敵人,敵人叫e這樣子。


而大人回覆的這些我改過之後還是有錯誤Orz

顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2009-3-19 14:30  资料  短消息  加为好友 
拜托楼主大大,每种语言的语法都不一样的,你所学过的程式规范怎么可能拿来这里用...简直就和对英国人说日文一样...==b

我是想要傳入一組變數,讓他們做大小排列。
大人所說的那個語法我有想過,可是我想要記錄那些變數的順序是如何,所以沒有用sort那個語法。

顺序?sort有排列后让数组其他行也一起排列,从而保持一致的第二个参数吧,虽然我没试过...

不过我觉得详细的把TJS语法书从头看一遍比较好...特别是变数的类型部分.

[ 本帖最后由 全局变量D 于 2009-3-19 14:31 编辑 ]





顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.023450 second(s), 9 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示