トップページgamedev
1001コメント354KB

■吉里吉里/KAG/TJS雑談質問スレ■その6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/05/23(月) 00:12:51ID:hcSkmt5m
ノベル製作ツール吉里吉里/KAGを使用している人達が雑談や質問をするスレッドです。
本家BBSで聞きづらい質問や初歩的な質問などでもよいのでわからないことがあればどうぞ。
自分のゲームの進行状況や製作ツール等についての話、TJS等の質問もお待ちしています。
マルチポストはやめましょう。個人叩きも禁止です。

5 http://pc8.2ch.net/test/read.cgi/gamedev/1095183786/
4(タイトルは3) http://pc5.2ch.net/test/read.cgi/gamedev/1081199649/
3 http://pc5.2ch.net/test/read.cgi/gamedev/1067436686/
2(再利用) http://pc2.2ch.net/test/read.cgi/gamedev/1044256119/
1 http://pc2.2ch.net/test/read.cgi/gamedev/1021890648/

【公式】
kikyou.info
http://kikyou.info/

吉里吉里ダウンロードページ
http://kikyou.info/tvp/
0747名前は開発中のものです。2005/12/04(日) 05:32:34ID:zzMN6iAE
適当だけどこんな感じでどうかね

function test(a){
 var flags = [];
 for(i=0; i<a.count; ){
  if(!flags[a[i]]){
   flags[a[i]] = true;
   a.erase(i);
   }
  else i++;
  }
 }
0748名前は開発中のものです。2005/12/04(日) 11:03:36ID:INyEknbQ
function eraseDuplication(array)
{
var i = 0; //一応初期化
var j = 0;

while(i < array.count)
{
j = i + 1;

while(j < array.count)
{
if(array[i] == array[j]) array.erase(j);
else j++;
}
i++;
}
}

これで期待通りの動作をしてくれると思うよ
で、書いてる途中でリファレンス読んで気づいたんだけど、
removeで全てを削除するっていうのがあったので、
それで作ってみたのを次のレスに貼っておくね
0749名前は開発中のものです。2005/12/04(日) 11:07:08ID:INyEknbQ
function removeDuplication(array)
{
var tempArray = [];

while(array.count > 0)
{
tempArray.add(array[0]);
array.remove(array[0], true);
}
return tempArray;
}

先に貼ったのと違って、使うときは配列に代入しないとダメだよ
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 3, 5, 7, 9];
arr = removeDuplication(arr);
var i = 0;
while(i < arr.count)
{
System.inform(arr[i]);
i++;
}
動かなかったらごめんよ。まだ勉強し始めたばかりなんだ
0750名前は開発中のものです。2005/12/04(日) 14:44:44ID:/ZeSLtYA
>>747
適当だったんだろうけど微妙に間違ってるな

function test(a)
{
var flags = [];
for(var i=0; i<a.count;)
{
if(!flags[a[i]])
{
flags[a[i]] = true;
i++;
}
else a.erase(i);
}
}
0751名前は開発中のものです。2005/12/04(日) 15:01:08ID:zzMN6iAE
>>750
ああそうか。スマス
それと flags は [] じゃなくて %[] の方がよかったかもね
■ このスレッドは過去ログ倉庫に格納されています