[過去ログ] 【神降臨】TRPG支援ツールを作るスレ【その3】 (983レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
643
(1): 幻月 2005/05/18(水) 19:24:53 ID:??? AAS
>587

以前、要望のあったそれまで記入したチャンネル名を羅列を実装しました。
最新を使ってみてください。
要望されたのとはちょっと形は違いますけどね、動作的には問題ないかと思います。。
644: 2005/05/18(水) 20:22:42 ID:??? AAS
久しぶりに見れたらスレ更新きてたー(微笑み

>>641
是非是非さらしてくださいませ。
情報は公開して共有することが、よりよきゲームへの道だと感じます。
良し悪しの判断は各個人の判断です(`・ω・´)

>>643
対応ありがとうございます。
他のIRCから部屋名を引っ張り出してくる手間が省けるようになりました。

今の仕様ですと、プルダウンメニューを選択した瞬間に部屋に入っているようですが、選択して「入室」ボタンを押してやっと入室という風に変更できませんか?
理由としては、手がすべって目的外の部屋名を選択してしまったら面倒だなーと。
645: 641 2005/05/18(水) 20:34:21 ID:??? AAS
自分が作ったマクロは、こんなもんです。
odproject.net/ill/pukiwiki/pukiwiki.php?OD%20TOOL%20for%20TRPG

ただ、素人がプログラミングの勉強目的で作ったものなので、
使いやすさとか、軽さとか、乱数の偏りなどは全く考えてません。
正直、実プレイなら他のマクロ使ったほうが有用だと思います。
646
(1): 2005/05/18(水) 20:56:18 ID:??? AAS
お、なんかある。
・・・ドラゴンハーフがあるやんか(爆)
647
(1): 幻月 2005/05/18(水) 21:47:20 ID:??? AAS
>644
>他のIRCから部屋名を引っ張り出してくる手間が省けるようになりました。

それは良かった。

>選択して「入室」ボタンを押してやっと入室という風に変更できませんか?

うーーん、ちょっとまた保留させてください。

>641

おぉ、ずいぶんいろんなのがありますね。
ドラゴンアームズがある、いいですね(笑)
648
(1): 幻月 2005/05/18(水) 22:26:57 ID:??? AAS
>644
>選択して「入室」ボタンを押してやっと入室という風に変更できませんか?

とりあえず直してみました、最新を確認してみてください。
「入室」ボタンかエンターで反応します。
もしかしたらVM環境によって動きがずれるかもしれないので、
ちゃんと動いたらOS教えていただけるとうれしいです。
649
(1): 641 2005/05/18(水) 22:44:32 ID:??? AAS
>>646
たぶん誰も使いません(笑)

>>647
もともと天羅零用ダイスだったんですけどね。
エンギアやドラゴンアームズにも転用できる教えられたので、一緒に書いてます。
ちなみに私はルールブック持ってないので確認してませんが。

あと
外部リンク[php]:www.odproject.net
のコメント欄に内輪以外からの投稿があってびっくり。
650
(1): 2005/05/19(木) 00:12:32 ID:??? AAS
>>648
エンターとボタンによる動作を確認しました。
どっちとも通常動作いたしましたー! ありがとうございます(平伏

OSは WindowsXP Pro (sp1適用) です。
java Runtime のバージョンは1.5だったかな。
651: 幻月 2005/05/19(木) 19:55:57 ID:??? AAS
>649
>一緒に書いてます。

まぁ、同じなら使えますしね。

>650
>どっちとも通常動作いたしました

よかった、後はマック系の確認ですね
652: とり 2005/05/20(金) 16:29:27 ID:??? AAS
>幻月さん
たけとんぼ1.9.6の新機能はOSX10.3、J2SE1.4.2update2の環境下で問題なく動作していますよ。

最近はJpSystemの復習であれこれやってます。なかなか勘とリズムが取り戻せないorz
653: 幻月 2005/05/20(金) 20:02:52 ID:??? AAS
>たけとんぼ1.9.6の新機能はOSX10.3、J2SE1.4.2update2の環境下で問題なく動作していますよ。

確認ありがとうございます。
OSX10.3なら問題ないですね。さすがに9前だと保証しかねますが(笑)

>最近はJpSystemの復習であれこれやってます。なかなか勘とリズムが取り戻せないorz

ずいぶん拡張しましたからね。
慣れると楽なんですがテンプレートに慣れるまでが一苦労かも。
楽しみにしてますんでがんばってください。
654: 秋茄子 2005/05/22(日) 23:04:59 ID:??? AAS
>幻月さん

JpCommandRunning("jp.common.setUnitKill('jp.HelloWorld2.Child');");
の動作を確認しました
SubUnitのパネルが表示されているときにはメッセージを送り返して表示されていないときには送り返さないようにできました
以下がそのサンプルです

外部リンク[zip]:taku_kanban.at.infoseek.co.jp

> 馬刺さん
アップローダーを用意していただきありがとうございます。
早速と言うには遅くなりましたが使わせていただきます
655: 641 2005/05/22(日) 23:06:22 ID:??? AAS
皆さんの様子を見て、私もJava勉強してみようかな…と思いつつ。
自分だけのPCじゃないので、JVMをインストールできない環境がちょっぴり憎い。
ネットに繋がってなければ個人用あるんですけどね…。

Lime用のダイスマクロ、ちょっとずつ更新してます。
番長学園!!対応とか。

Vectorにも送ってみたけど、これって需要あるのかしら?
656: 幻月 2005/05/23(月) 01:06:21 ID:??? AAS
>秋茄子さんへ

実行してみたら、サブのパネルが表示されず以下のエラーが出ました。

外部リンク[lzh]:taku_kanban.at.infoseek.co.jp

どうやらパネルの生成がうまく出来てないみたいですね。

>641氏

>皆さんの様子を見て、私もJava勉強してみようかな…と思いつつ

何でかこうなってるだけなんでsけどね。
環境が出来たら挑戦してみてください。

>Vectorにも送ってみたけど、これって需要あるのかしら?

意外にあったりするもんですよ、私も最初出すときにそう思ってましたし。
657
(1): とり 2005/05/23(月) 02:29:08 ID:??? AAS
さて、リハビリ用に作ったイニシアチブ管理プラグインが、ある程度さまになって来たのでアップしました。
触ってみて意見や感想を聞かせて下さい。また、汎用では扱えず、対応してほしいシステムがあったらリクエストして下さい。
サンプルとして汎用モードの他にD&DモードとSFモードを組み込んでいますが、D&Dモードはまだ未完成です。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

>幻月さん
アップした奴は、メソッドアクセスを軸に組んでいますが、製作中にいくつかの問題点にぶつかったので報告します。
>メソッドアクセスについて・・・
1)引数がないメソッドにアクセスが出来なかった。
2)intを引数として渡す場合に、引数の値が10とか20など1の位が0の場合にlongとして認識されてしまう。
この2点ですが、引数がないメソッドについてはログを吐かせてみたところ、メソッドとして認識されていない様に見えました。
引数の表記についてですが、現状はlong型の引数をとる同名メソッドを置く事で対処していますが、わかりにくいので、引数の
表記方法を、数値の末尾にlとかfをつけて区別する様な形に変更出来ませんか?
例)
 int :10(整数値をそのまま表記)
 long :10l(末尾にlが付く)
 double :10.0(ピリオドを含む)
 float :10.0f(ピリオドを含み末尾にfが付く)

もうひとつ重要な問題として、JpSystemがエラーや例外をまったく表示してくれないというのも作っていて非常に困りました。
とりあえず現状は jp.common.LogPrintのblnLogをいじってログ吐かせてますが、blnLogがprivateなうえセッターもないので
ソースいじるしかないというのが少々不便ではないかと思います。

これらの点について、私の勘違いや、幻月さんが特に意図する所があるようでしたら教えて下さい。
658: とり 2005/05/23(月) 02:32:32 ID:??? AAS
>幻月さん
>OSX10.3なら問題ないですね。さすがに9前だと保証しかねますが(笑)
ってか、そもそも9以前はJavaが1.1とか1.2とか迄しかなかったはずなのできっぱり使えないと思いますよ(^^;

>>641さん
LimeChat用のダイスマクロ、あれだけ数を揃えているのはすごいですね。
少なくとも、我々が作っている物よりは需要もありそうな気がします(自爆
色々なツールがあって、使う側に選択の幅があるのは良い事ですし、頑張って下さい。

さて、今日はねます。早くマッププラグインに戻りたい・・・。
659: 秋茄子 2005/05/23(月) 07:42:32 ID:??? AAS
>幻月さん

外部リンク[zip]:taku_kanban.at.infoseek.co.jp

間違ってエラー修正前をアップしてしまいました。
こちらが正常に動くサンプルです

JpCommandの受け取って処理するかを一括して切り替える場合、

public void UnitInterfaceListener(String strCngDataKey){
//openFlugはboolean型処理付き変数に応じた処理をするかどうかのフラグ
if(openFlug = false){
return;
}
//ここから処理付き変数に応じた処理を書く
}

とメソッドアクセスを使わずにする方法もあることにやっと気づきました。
複雑な条件で処理をしたりしなかったりと言うときはメソッドアクセスよりもUnitInterfaceListenerを使う方が様々な条件が記述できそうです。

一方、メソッドアクセスのわかりやすさもかなり便利だと思います
660: 秋茄子 2005/05/23(月) 07:43:59 ID:??? AAS
>657

とりさんの書かれていた問題に私もあったことがあります。

> 1)引数がないメソッドにアクセスが出来なかった
私はメソッドアクセスを多用しているので、この機能は欲しいです。

もう一つの問題は、カードプラグインは文字列の送信が多いため気になってませんでした。

JpSystemのエラーや例外を表示する機能もあったら便利だと思います。
メソッドアクセスを使うときに、呼び出すべきメソッドをJpUnitが持っていなかったときにエラーが表示されると便利だと思います
これがなかったので、メソッド名を1文字間違えていてそれがわかるのに3時間ほどかかったことがあったんです。
661: 幻月 2005/05/23(月) 09:16:18 ID:??? AAS
To:とりさん、秋茄子さん

1)引数がないメソッドにアクセスが出来なかった。

実装忘れていたような気が(^^;
ちょっと確認します。

2)intを引数として渡す場合に、引数の値が10とか20など1の位が0の場合にlongとして認識されてしまう。

これも確認してみないとわかんないですね。
あと、とりさんの提案も考えて見ます。

もうひとつ重要な問題として、JpSystemがエラーや例外をまったく表示してくれないというのも作っていて非常に困りました。

>JpSystemのエラーや例外を表示する機能もあったら便利だと思います。

えぇっと、前々から予定はしてます。
裏JpUnit「なびgete」と言う名前でログの表示は予定はしてあるんですが…ちょっとまって。
二人に対応した実装強化や既出の修正で手がいっぱいでそこまで実装が追いつきません、実装予定は2.1.6以降なんです(笑
当座、その場しのぎですがLogPrintのフラグにセッターを準備する方向で行きます。
662: 2005/05/23(月) 12:04:46 ID:??? AAS
>>641
需要はあるんじゃないでしょうか?

というのは私もPerlBotで似たような事やってます。
設定コマンド送ると同じコマンドの解釈が変わるスタイルですし、
641氏のほど対応してるゲーム多くないですけどね。
663: 幻月 2005/05/23(月) 20:37:19 ID:??? AAS
To:とりさん、秋茄子さん

最新で修正しました。
トリさんの案を基本的には採用しましたので以下のようになります。

 int :10(整数値をそのまま表記)
 long :10l(末尾にlが付く)
 double :10.0(ピリオドを含む)
 float :10.0f(ピリオドを含み末尾にfが付く)

それと、ログインのダイアログでctrl + alt + N で
隠しJpUnit「なびGate」を起動できるようにしました。
今のところ内部のシステムログをそのまま表示するようにしてありますので
参考にしてください。

それと開発者用の裏実装ですのであしからず
664: 幻月 2005/05/23(月) 21:58:03 ID:??? AAS
>とりさん

また、面白いものを。
順序のあるものであればいろいろつかえそうですね。
動作は大丈夫そうです。

>秋茄子さん

うーーん、なぜかエラーがでます。
ログは下記参照
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

がんばれ、もう一回、確認お願いします。
665: 幻月 2005/05/23(月) 22:14:37 ID:??? AAS
>秋茄子さんへ

間違いました、ログはこっちです
外部リンク[lzh]:taku_kanban.at.infoseek.co.jp
666: 秋茄子 2005/05/23(月) 23:07:46 ID:??? AAS
> 幻月さん

ようやく原因がわかりました
ContainerクラスのgetComponentZOrderメソッドに原因があったようです。
getComponentZOrderメソッドはjavaのバージョンが1.5で追加されたメソッドなのでjavaがそれ以下のバージョンだと、エラーがでるようです。

1.5はまだ新しく入れていない人も多いと思うのでgetComponentZOrderを使わない方法でプラグインを作ってみます。
667: 幻月 2005/05/23(月) 23:23:22 ID:??? AAS
>ようやく原因がわかりました

なるほど、私はさっぱりわかってませんでした(笑)
ちなみに私は1.4.1_02使ってます。
来年あたりになったら1.5の機能使おうかなぁとか考えてます。

>1.5はまだ新しく入れていない人も多いと思うのでgetComponentZOrderを使わない方法でプラグインを作ってみます。

うん、そのほうが堅実ですね。
本当はAutoboxingとか使ってみたいんですけどね、私も(笑)
668: とり 2005/05/24(火) 08:04:00 ID:??? AAS
昨日は成果物をアップしないで寝てしまったので仕事に出る前にアップしておきます。
変更点は以下の通りです。
・レイアウトがいい加減だったGUI周りを整理していくつかの機能を追加しました。
・未完成だったD&D用のモードをいちおう使えるレベルまで完成させました。
幻月さんが修正して下さった部分はまだいじっていないので、古いままです。

これはこのままでもだいたい使えそうなので、細かい修正の後メンテナンスモードに移行します。

>幻月さん
私は当分OSX10.3のまま行くつもりなので、1.5には対応出来なかったりします(^^;
新機能は欲しいけど、仕事に使ってるマシンなのでしばらくの間は10.4へのバージョンアップはしない予定。
よって1.4を切り捨てられると開発が止まってしまいますorz

さてと、仕事仕事っと。いってきます。
669
(1): 2005/05/24(火) 08:09:09 ID:??? AAS
>とりさん
イニシアティブ管理のS=Fモードって、CとFがAd仕様ですか?
670
(1): とり 2005/05/24(火) 14:56:19 ID:??? AAS
>>669さん
私はSFのルールブック持ってないので秋茄子さんからチャットで聞いた内容で作っています。
ですからAdとそうでない物がどう違うのかが良くわかりません(^^;
C/F周りは、ダイス目が設定値と一致した場合に+-10して振り足し、C発生後のFは無視です。
私の認識が間違っているかもしれないので、ルールのレクチャーしていただけるとありがたいです。

私自身は手持ちのルールブックがほとんどないので、対応してほしいシステムや機能がありましたら、
出来るだけ詳しくルールを説明していただければ可能な限り対応します。
671
(1): 2005/05/24(火) 15:01:34 ID:??? AAS
>>670
そうするとファンブルの後も振り足してるのかな?
S=FV3のファンブルは、判定値から-10でそこで終了ですね。
672: とり 2005/05/24(火) 16:08:40 ID:??? AAS
了解しました。
いまは出先からの携帯カキコなので、帰ったら修正しますね。
673
(2): 2005/05/24(火) 18:42:10 ID:??? AAS
横レス失礼します。
N◎VAやってるとシーンタロットを机の上でめくるのがめんどくさい上に、公平性にかけると思うのです。
CHOCOAスクリプトなどで、N◎VA用のタロットスクリプトなどないでしょうか?
トランプはあるんですけどね……

ロールお嬢様はマイナスナンバーは対応してないし(−−;
674: 2005/05/24(火) 18:43:00 ID:TDcsYvfM(1)調 AAS
とageそこねました、。失礼。
IRCでの使用を想定しています。
675
(1): 2005/05/24(火) 20:05:11 ID:??? AAS
>>673
トランプスクリプトのデータ部分だけ書き換えればタロットスクリプトが完成する。当然マイナス付きだ。
ついでにトランプ2セット分のスクリプトも作れるぞ。
676: とり 2005/05/24(火) 22:13:50 ID:??? AAS
>>671
ファンブル時に振り足すかどうかを選択出来るように修正しましたので、試してみて下さい。
デフォルトはファンブルが出たら終了する様になっています。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

>幻月さん
修正を確認しました。最新の1.5.3(↑のやつ)は無駄なメソッドやダミー引数を排除してあります。
ついでに他のユニットからイニシアチブカウントと、現在アクティブなユーザー名などを取得出来るように
処理付き変数を設定してあります。詳細は同梱のdocを参照して下さい。

>>673
CHOCOAスクリプトは以前少しいじった事がありますが、処理速度が遅すぎて複雑な事が出来ず
挫折した覚えがあります。既存のものがなくても>>675の方法で簡単に対処出来るかと思います。
677: 幻月 2005/05/25(水) 00:35:22 ID:??? AAS
>とりさんへ
>修正を確認しました。最新の1.5.3(↑のやつ)は無駄なメソッドやダミー引数を排除してあります。

簡単にですが、全メソッドを確認しました。
流石に今回はJADまではしませんでしたが、綺麗に整ってるとおもいます。
私の修正も大丈夫みたいですね。

>ついでに他のユニットからイニシアチブカウントと、現在アクティブなユーザー名などを取得出来るように
>処理付き変数を設定してあります。詳細は同梱のdocを参照して下さい。

ほぼ、基本はOKなんじゃないでしょうか?
しいて難を言うなら、ゲームするときには行動を遅らせるとかもやりたいかな(笑)
d6 + d6 + d6とかは流石に出来ないのですね。
あと、合計値がみれるのはうれしいんですが、サイコロの出た目もみたいかもしれないですね。
678: 秋茄子 2005/05/25(水) 17:44:41 ID:??? AAS
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

getComponentZOrderを使わずにJ2SE 5.0より前のバージョンでもエラーがでないようにしたサンプルです。

> 幻月さん

今度は動くと思うのですが、いかがでしょうか
679: とり 2005/05/25(水) 20:03:29 ID:??? AAS
>秋茄子さん
これは面白いサンプルですね。
親ユニット側に組み込む細工をしなきゃならんのが難と言えば難ですがとても興味深いです。

ちょっとこれを参考にしたフレームワークを考えてみたいです。
680: 幻月 2005/05/25(水) 22:10:40 ID:??? AAS
>秋茄子さん

動作はばっちりです。
うまくつくりましたね。
ソース、今後の参考にさせてもらいます。
681: とり 2005/05/26(木) 05:55:50 ID:??? AAS
久々に徹夜してしまいました。でも今夜の成果は豪華2本立てです。
イニシアチブユニット1.5.4
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
ダイスユニット1.0【新作】
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

>幻月さん
>しいて難を言うなら、ゲームするときには行動を遅らせるとかもやりたいかな(笑)
汎用パネルに、D&Dで使用していた行動遅延機能を移植してみました。試してみて下さい。

>d6 + d6 + d6とかは流石に出来ないのですね。
これって、どういう事でしょうか?単に足しあわせるだけならば、間にスペースを入れなければ、
d4+d6+d8+d10+d12+d20+d30+d100でも動くはずですが?
チャートを参照する際などに使うd66(片方を1の位もう片方を10の位として読む)の様な方法は
イニシアチブを決定する際に使うのは一般的でないと思うので対応していません。
もしそういうシステムがあったら個別に対応します。

>あと、合計値がみれるのはうれしいんですが、サイコロの出た目もみたいかもしれないですね。
イニシアチブはともかく、他の判定時などに使いやすい様にダイスをプラグインとして分けてみました。
使い方の詳細は同梱のdocのjp.birdland.dice.DiceManagerを参照して下さい。

また、このダイスユニットは独自のフレームを持たず、バックグラウンドで動作して他のユニットに機能を
提供するタイプとして組んでいますが、こうしたバックグラウンド型のユニットは、インスタンス化された
時点でdoActionメソッドが呼ばれるほうが自然だと思うのですが、何かいい方法はありますか?
682: とり 2005/05/26(木) 06:01:41 ID:??? AAS
リンク先間違えました。正しいリンク先は↓です。

イニシアチブユニット1.5.4
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
683: 幻月 2005/05/26(木) 21:37:58 ID:??? AAS
>とりさん

ずいぶんがんばりましたね(笑)
動作的にはどちらも問題無しでした、流石です。
>d4+d6+d8+d10+d12+d20+d30+d100でも動くはずですが?

なるほど、動きました。
気が付きませんでした。

>イニシアチブはともかく、他の判定時などに使いやすい様にダイスをプラグインとして分けてみました。

中身を確認しました。よく出来てます。
あとは秋茄子さんがやったみたいに自分の座標も取得できるように直してみてはどうでしょか。
それが出来るようになると他のユニットから子供として使えるようになります。
詳しくはJpUnit(多層機構2)編をみてみてください。
秋茄子さんのサンプルのChildでも使ってますのでお好きなほうでどうぞ。

さて、「イニシアティブ」の方は、みた感じほぼ完成ですね。
アイコンつけてマニュアルつければ、後はカスタムだけでいいのでは?
684: 幻月 2005/05/26(木) 21:43:47 ID:??? AAS
>とりさん

>また、このダイスユニットは独自のフレームを持たず、バックグラウンドで動作して他のユニットに機能を
>提供するタイプとして組んでいますが、こうしたバックグラウンド型のユニットは、インスタンス化された
>時点でdoActionメソッドが呼ばれるほうが自然だと思うのですが、何かいい方法はありますか?

それは作りにもよりますが…どうしてもインスタンス時にしたい行動であれば
コンストラクタからdoActionを呼び出してもいいですし、コンストラクタに直接書くもありです。

ちなみに、私はトリさんの作ったようなインターフェイスを基本は見せない
バックグラウンド型のユニットを中の人(別名daemon unit)と呼んでます。

今日はゆっくり休みましょうね、とりさん。
685: 2005/05/27(金) 22:28:31 ID:??? AAS
こういうのを発見しましたよー
外部リンク:www.paw.hi-ho.ne.jp

>exewrap は実行可能 JAR ファイルから EXE ファイルを
>生成するツールです。 Windows 環境で Java アプリケ
>ーションをより簡単に起動できるようにします。

ラスィ。 窓だけっぽ?
686: 幻月 2005/05/28(土) 01:05:47 ID:??? AAS
>685
情報ありがとうございます。これ、面白いですね。
軽いし綺麗だし。モノはためしで教えていただいたツールで「たけとんぼ」のexe版を作成してみました。
(動作端末にはJREが必要です。)
外部リンク[lzh]:taku_kanban.at.infoseek.co.jp
単品としては完全に動作してます、まるでexeアプリのようです。

ただし、非常に残念なのですがプラグイン周りの機能がexeにすると全滅してしまっています。
これは、自己取得するアドレスが狂ってしまっているんでしょうね、恐らくは。
それはさておいて面白いツールです。
他にもこういうツールはあるんですが変換後がダントツに軽いですね。
jarで作られたツールを単独起動用として変換して配布するなんてのもありですね。
サンプルに私が以前テストもかねて作った単独でも動くものが次です。
外部リンク[lzh]:taku_kanban.at.infoseek.co.jp
本来ならプラグインとしても使えるものなのですがexeなのでたけとんぼが
インストールを受け付けません。
CDにjreなしで焼きこむなんて時にはかなりよさそうですね。
687: 2005/05/30(月) 21:28:19 ID:??? AAS
幻月さんや秋茄子さんは、どんなJAVA環境で作成してるんダロ?

JAVAに手をつけてみたいけど、GUI開発環境がフリーでないっぽ・・・い?
688: 通りすがり 2005/05/30(月) 22:03:57 ID:??? AAS
フリーも有る(有った?)気はするけど。
Java2になってからはJavaから離れてるので知らないケド

安いと言えば1980円とかでもある。売ってるのはソースネクストだが開発はOracle
(一応1年の期限付きだが期限切れでも使えなくなるわけではない)

【激安】Oracle JDeveloper 10g【開発環境】[TECH] 2chスレ:tech
689: 2005/05/30(月) 22:55:19 ID:??? AAS
っ[NetBeans]
フリーのEclipseプラグインもあったような気がする
690: 幻月 2005/05/30(月) 23:07:15 ID:??? AAS
>どんなJAVA環境
私はEclipseつかってます
外部リンク[php]:eclipsewiki.net

GUI周りはパッケージ入れるのが面倒なので私は手で書いて作ってます。
691: とり 2005/05/31(火) 00:22:31 ID:??? AAS
イニシアチブ管理ユニットver1.6 をアップしました。ひとまずこの状態で安定させようと思います。
次はやっとマップにかかる予定ですが、多重機構に合わせて組み直すの大変そうです。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

>JAVA環境
秋茄子さんもEclipseだったと思いますよ。
GUI作るのに何を使ってるかは知りませんが、たぶん手打ちじゃないかなぁ(根拠なし)
ちなみに私は、マカでEclipseがどうも馴染めなかったのでXcode、GUIは手打ちです。
#普段はEclipse使っててGUIまわりだけNetBeans使うって人もいるみたいですね。

>exe生成ツール
プラグインとして使えなくなるのはともかく、パスの問題はexe生成時の設定とかで何とかならんものでしょうか?
JREのインストールがめんどいorできないという人も結構多い様なので、JRE同梱したexeがあると便利かも。
Macではアプリケーションバンドル(.app)を作るツールがOS付属のデベロッパーツールについているので簡単でした。
試してみたところ、プラグイン周りも問題なく動きます。

>幻月さん
なびGateの仮公開お疲れさまです。(仮)がとれるのが楽しみです。
692: 秋茄子 2005/05/31(火) 17:52:18 ID:??? AAS
>JAVA環境
とりさんに書かれているとおり、私もEclipseを使用しています。
また、GUIも書かれているとおり手打ちです。

トランプのディーラーやサンプルみたいにコンポーネントの表示を切り替えて、時にはそれによってフレームの大きさが変化するようなソースを書くので手書きの方がやりやすいことが多いのです。

現在、多層機構版のカードプラグインを作っています。
変なところでとまどってしまってまだかかりそうです
693: 2005/05/31(火) 18:31:15 ID:??? AAS
そろそろまとめサイトが欲しいところ。

というか、スクリーンショットとかあると、みんな結構、おぉ、とか思って、使いはじめると思うんだけど。
694: 幻月 2005/05/31(火) 21:13:36 ID:??? AAS
To:とりさん
>イニシアチブ管理ユニットver1.6 をアップしました。ひとまずこの状態で安定させようと思います。
完成しましたね、おつかれ様でした。
どこかサイトでも作って公開するか、Vectorなど公開ダウンローダを利用することを勧めます。
>次はやっとマップにかかる予定ですが、多重機構に合わせて組み直すの大変そうです。
無理に治さなくてもいいと思いますけどね(笑)
やるんであればがんばって
>#普段はEclipse使っててGUIまわりだけNetBeans使うって人もいるみたいですね。
知人に居ます。
まぁ、Swingなれしてる人は直接書いちゃうみたいですね度ね。
>プラグインとして使えなくなるのはともかく、パスの問題はexe生成時の設定とかで何とかならんものでしょうか?
パスが直ればプラグインも使えるんですよ。
まぁ、今は他のツールで試すのも面倒なのでここまでですけど。
>なびGateの仮公開お疲れさまです。(仮)がとれるのが楽しみです。
ここまで、くるのに一年半もかかってしまいました。
まぁ、ぼちぼちに更新していきますのでとりさんたり開発者は周期的に取得をお願いします。
To:秋茄子さん
>現在、多層機構版のカードプラグインを作っています。
>変なところでとまどってしまってまだかかりそうです
あせらずじっくりいきましょう。
695: とり 2005/06/03(金) 00:56:10 ID:??? AAS
>公開用サイト
仕方がないので作る事にしました。もうしばらくお待ちください。
昔作って放置していたサイトを焼き直して公開用ページを付け足す形で仕上げる予定です。

>幻月さん
試しに、OSX上でも動くJava製のexe作成ツール「exe4j」でたけとんぼをexe化してみました。
テストしてみましたがプラグインもまともに動くようです。また、Mac用のappも同梱してあります。
ただし、どちらもjarでなくなっているので、おそらくはたけとんぼを他のJpUnitのプラグインとして
使用する事は出来なくなっていると思われます。

外部リンク[zip]:taku_kanban.at.infoseek.co.jp
#どちらもJREは同梱していないので必要です。

なお、再配布に問題がある様なら即時削除します。
696: 幻月 2005/06/03(金) 01:21:57 ID:??? AAS
>とりさん

>仕方がないので作る事にしました。もうしばらくお待ちください。
>昔作って放置していたサイトを焼き直して公開用ページを付け足す形で仕上げる予定です。

がんばれ、とりさん。
サイトと出来たら、できたらリンクの許可ください。

>試しに、OSX上でも動くJava製のexe作成ツール「exe4j」でたけとんぼをexe化してみました。
>テストしてみましたがプラグインもまともに動くようです。また、Mac用のappも同梱してあります。
>ただし、どちらもjarでなくなっているので、おそらくはたけとんぼを他のJpUnitのプラグインとして
>使用する事は出来なくなっていると思われます。

友人、知人など個人間での場合に限り、自由に領布すること認めてますけどね、一応。
動いてますねぇ、へぇ、アイコンはトリさんの自作ですか。
このアイコンもらってもいいですか?
それはそれとして、良ければとりさん、「たけとんぼ」再配布してもいいですよ。
そろそろ半年の付き合いですし、そうそう無体な事言わないのは判ってますしね。
697: 秋茄子 2005/06/03(金) 21:13:03 ID:??? AAS
>公開用サイト
私はまだとりあえず動く、というプラグインも作っていないので公開用サイトはとりあえず、というものができてからと言うことにさせてください。

たけとんぼについてリクエストが出てきました。
プラグインの作りに影響しそうです。

外部リンク[zip]:taku_kanban.at.infoseek.co.jp

まず下のサンプルをダウンロードしてください
これをたけとんぼのプラグインのフォルダに入れてコマンドラインでたけとんぼを起動させてプロンプトで標準出力がみれるようにしてください。
このとき「aaa」というニックでIRCサーバーと接続したとします。
たけとんぼの「はろーわーるど2!![多層対応]」というのがプラグインメニューに出てくるのでこれをクリックして動かしてください。
HelloWorld2のdoAction
null
と表示されます。
これは「はろーわーるど2!![多層対応]」で呼び出されるHelloWorld2クラスのdoActionメソッドの冒頭に
    myUdb = getUnitDetail();
    System.out.println("HelloWorld2のdoAction");
  String str = myUdb.getString("nickname");
System.out.println(str);
と書いているためです。
メッセージを確認したら、いったん「はろーわーるど2!![多層対応]」を閉じてください
閉じた後にもう一回「はろーわーるど2!![多層対応]」を起動させると今度は
HelloWorld2のdoAction
aaa
と表示されます。
どうやら、doActionメソッドに書いたmyUdb.getString("nickname");は一回目の呼び出しではnullを返して2回目以降ではニックを返すようになっているようなのです。
一回目の呼び出しからニックを返すようにはできないでしょうか。
698: 幻月 2005/06/04(土) 01:53:36 ID:??? AAS
秋茄子さんへ
アップされたソースを修正してみました。
確認してみてください

外部リンク[zip]:taku_kanban.at.infoseek.co.jp

ちなみに治したのは
HelloWorld2.java
のdoActionだけです。
699: 幻月 2005/06/04(土) 02:04:44 ID:??? AAS
>秋茄子さん
アップの仕方を間違えてしまいました。
再度あげましたのでこちらから落としてください。

外部リンク[lzh]:taku_kanban.at.infoseek.co.jp

>とりさん、秋茄子さん

最新版たけとんぼの「中の人」のなびGateのUnit情報表示能力を強化しておきました。
作成の手伝いに使ってください
700: 秋茄子 2005/06/04(土) 07:33:39 ID:??? AAS
>幻月さん

ありがとうございます
情報取得の機能の使い方を間違っていたみたいです。
やっとわかりました。

最新のたけとんぼなのですが、「V1.9.6o ダウンロード」をクリックしても1.9.6nがダウンロードされるようです。
701
(1): 幻月 2005/06/04(土) 14:27:40 ID:??? AAS
大丈夫なようで何よりです。
用は順番なんですけどね。
連携の薄かったり、Frameに関係のない機能であれば
コンストラクタでもいいんですよ。
ただ、コンストラクタだと、
「アルファベット順なのでたけとんぼよりも先に呼び出されてしまう」
のでたけとんぼからの情報取得はうまくいかないんです。
色々試してみてください。

指摘の件、ありがとうございます。
単純にアップデートまちがってました、最近多いな私
アップしなおしましたのでもう一度落としてください。
V1.9.6o でなびGateが下層のUnitを意識するようになっているはずです。
702: 秋茄子 2005/06/04(土) 15:55:47 ID:??? AAS
> 幻月さん
>701

べつのJUnitから情報を取得したりするときはコンストラクタの後、というでことですね。
複数のプラグインを入れたと時など、どうなるかわからなくなるのでなおさらコンストラクタでの設定や呼び出しは最小限にした方が良さそうです。

> JpUnitのテストです
確認しました。
子になるJUnitを作成するとツリーに子が追加され、削除するとツリーの子も削除されるのを確認しました。
子が作られているかどうか視覚的に確認できるのはとても便利です。
703: 秋茄子 2005/06/04(土) 15:57:54 ID:??? AAS
たけとんぼをいろいろ試していたら、またぶつかってしまいました。
697と同じような現象なので、私の間違いかもしれないのですが・・・
コンストラクタでJUniの設定をしていないので同じ間違いはしていないと思います。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
をダウンロードしてください
プロンプトにはChidが取得したたけとんぼのNickListが表示されるようにしています。

たけとんぼを起動した後、どこのチャンネルにも入室しない状態でこのプラグインである「はろーわーるど2!![多層対応]」を起動してください
幻月さんが作られたサンプルからかえていないhelloworldのコンボボックスには何も表示されません
このあと、SubUnit起動ボタンを押してChildを起動させます。
プロンプトにはニックリストに何もないことが表示されます。
どこのチャンネルにも入室してないのでこれは当たり前です。
次にメニュー>コマンド>チャンネルに入るで適当なチャンネルに入室します
チャンネルに入室したのでニックリストには入室している一覧がないといけないはずなのですが、コンボボックスにもプロンプトにも一覧は表示されません。
このあと、systemタブを押すとまたニックリストが習得されないのがわかり、もう一回先ほど入室したチャンネルのタブを押すと今度はニックリストが取得できていることがわかります

このように、最初にチャンネルに入室したときにはチャンネルリストがうまく取得できないようなのです。
この場合どうすればいいのでしょうか

あと、これはバグなどではないのですが、こういうことになる、という現象の報告です。
このプラグインをChildを消さないまま閉じてもう一回起動させてChildを表示させてください。
プラグインを閉じるときの処理にChildの削除を入れていないのでこのユニットに登録する
JpCommandRunning("jp.common.setUnit('Child','jp.geoark.child.Child','jp.HelloWorld2');");
が二重に働くことでニックリストの取得でnullが返されたりするようになるみたいです。

多層機構を使うときにはプラグインを閉じるときの処理にも気をつけた方がいいみたいです。
704: 幻月 2005/06/04(土) 21:56:56 ID:??? AAS
>秋茄子さん

ニックネームの確定時にチャンネル名を入れるように追加しました。
最新を落としてみてください。

>多層機構を使うときにはプラグインを閉じるときの処理にも気をつけた方がいいみたいです。

あぁ、それはたしかに。
かといって基本パッケージで対応するのも難しいですね。課題ですね
705: 幻月 2005/06/05(日) 16:04:02 ID:??? AAS
>秋茄子さんへ

ニックリストが初期時に取得できない件については最新で修正してあるはずです。
確認してみてください。
706: 秋茄子 2005/06/05(日) 17:38:54 ID:??? AAS
> 幻月さん
> 705

すいません。遅くなりました。
確認しました。
初期でもニックリストが取得していました。

カードプラグインのニックリストもうまく表示できました。
こっちで少し手間取ってました
707: 秋茄子 2005/06/05(日) 21:29:48 ID:??? AAS
> 幻月さん

たけとんぼのリクエストです。実はこの現象の確実な条件を見つけようとしてました。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
をダウンロードしてください
このソースは外部リンク[zip]:taku_kanban.at.infoseek.co.jpとほぼおなじでプロンプトにニックのリストを表示するのですが
Childのコンストラクタに
//意図的に例外を出す
String str = null;
str.trim();
と書いていることが違います。

コマンドラインでたけとんぼを起動して「はろーわーるど2!![多層対応]」を起動してください。
そして、subUnit起動をクリックしてください
何もなければプロンプトにニックのリストが表示されるはずですがされません
なびGateを見るとChildがHellowWorld2の仮想に設定されていないことがわかります

たけとんぼのプラグインをつくって、例外が起こった時try-catchで囲むなどの対処をしていないのならプロンプトに表示されますがどうやらJpUnitのコンストラクタで例外が発生するとプロンプトに表示されないのです
この場合JpUnitが登録されないので、なびGateを確認したりすることでわかりはしますがそこまで到達するのにコンストラクタ以外でのミスに比べてミスの発見が難しいと思うのです
コンストラクタでの例外もJpScriotではなくJavaでの例外なのでプロンプトに表示するようにしてはどうでしょうか。
708: 幻月 2005/06/05(日) 22:09:25 ID:??? AAS
>コンストラクタでの例外もJpScriotではなくJavaでの例外なのでプロンプトに表示するようにしてはどうでしょうか。

意見としてわかるんですがちょっと考えさせてください。
安易にプロンプトに出すと、後でロギングの保存のつくりを作ったときに
もれてしまうんですよね。
なびGateのログ表示ではまずいですか?
709: 秋茄子 2005/06/05(日) 22:59:01 ID:??? AAS
>幻月さん
>なびGateのログ表示ではまずいですか

ロギングの保存に漏れてしまうのはまずいですね。
そういうことなら、なびGateでもいいと思います。

でも、ちょっと無理のあるリクエストだったみたいですね。
すいません
710: 幻月 2005/06/05(日) 23:37:57 ID:??? AAS
>でも、ちょっと無理のあるリクエストだったみたいですね。

まぁ、良いいいたいことは判るんですよ。
実際、本当ならUnit本体のエラーも拾わないとまずいんですけど放置してますし。
来週かそこらにでもなびGateに出るようにしておきます。
711: 幻月 2005/06/06(月) 00:02:39 ID:??? AAS
>秋茄子さんへ

とりあえずエラー内容は表示するように直してしておきましたので確認してください。
今の時点だとログに埋もれてると思うのでメモ帳にでもコピーして
コンストラクタのある物理座標(サンプルだとjp.geoark.child.Child)で検索すれば
引っかかると思います。
もうしばらくしたらログ絞れるようにしますので、それまでは我慢してくださいな。
712: 秋茄子 2005/06/06(月) 00:17:49 ID:??? AAS
>幻月さん

試してみました
[class jp.common.getUnit][UNIT取得エラー:jp.geoark.child.Child]=java.lang.NullPointerException
というところですね。
これだけでもだいぶ違うと思います。
ログが絞れるようになるのに期待してます。

ありがとうございました
713: 幻月 2005/06/06(月) 19:42:07 ID:??? AAS
>秋茄子さんへ
>ログが絞れるようになるのに期待してます。

さて、早速対応しました。
ずいぶん少なくなってると思います。
デバックに使いやすくなったと思います。
あと、コマンドラインから起動したりして
単品としてのバグ等にも活用してみてください。
714: 秋茄子 2005/06/06(月) 21:11:07 ID:??? AAS
>幻月さん

早速、試してみました。
これは、いいです。
今までよくわからなかったエラーもこれで簡単に発見できそうです。
コンストラクタのエラーで悩み続けることもあったのでかなり助かります。
715
(1): 2005/06/06(月) 23:01:00 ID:??? AAS
Eclips 導入失敗 (ノД`) ぇぅ-
716: とり 2005/06/07(火) 05:53:50 ID:??? AAS
おはようございます。公開用サイトが不完全ですが一応用意できましたので貼っておきます。
中身はまだ中途半端ですが、そのうちきちんと整備すると思いますのでご容赦ください。
サイト作る方がプラグイン作るより数倍大変な気がするのはなぜだろうorz
外部リンク[html]:www.geocities.jp

>幻月さん
なびGate使ってて思ったんですが、公開メソッドが途中で切れてしまって見にくい時があるので、
NaviGateFrameのpnlWestとscrollPaneをそれぞれcontentにaddせずに、JSplitPaneを使って
以下の様に変更してもらえると使いやすくなると思うんですが・・・・。
content.add("West", pnlWest);
content.add("Center", scrollPane);
この2行をコメントアウトして以下の物と置き換え。
JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,pnlWest,scrollPane);
split.setDividerLocation(200);
split.setOneTouchExpandable(true);
content.add("Center", split);

あと、たけとんぼのチャットログを他のユニットから監視する事は可能ですか?

>>715さん
どう失敗したのか教えていただければ可能な限りアドバイスしますよ。
上手く行かなかった部分の詳細またはエラーメッセージを貼っていただければ何とかなると思います。
頑張って導入して一緒にJavaで遊びましょう♪参加者熱烈歓迎です(^^)
717: 幻月 2005/06/07(火) 19:59:53 ID:??? AAS
>とりさん

渋いサイトですね(笑)

>サイト作る方がプラグイン作るより数倍大変な気がするのはなぜだろうorz

実際そうですよ。ドキュメント書くほうが時間食われますから。

>この2行をコメントアウトして以下の物と置き換え。

ソースまでかいてもらっちゃ直すしかないですね(笑)
最新で対応してます

>あと、たけとんぼのチャットログを他のユニットから監視する事は可能ですか?

監視自体は出来なくもないけど…
相手から来たログですか?
それとも書き込んでいる全体?
チャットログに反応するのって以外に危険ですからね、何をしたいのか教えてくださいな。

>715

まぁ、最初はそんなもんです。
慌てず急がず一歩ずつですよ?
718: 幻月 2005/06/07(火) 20:14:57 ID:??? AAS
>とりさん

ダイス(中の人)ユニットver1.0.0 へのサイトのリンクが切れているようです。
確認してくださいな
719: とり 2005/06/07(火) 21:25:44 ID:??? AAS
>幻月さん
>ダイスユニットのリンク切れについて
これは単に私が作っていないせいです。
ユーザーインターフェースを持たないユニットの説明と紹介をどうするのか決めかねているので、一時保留にしてあります。

>チャットログ監視について
これは、ボットやらキーワードに反応する通知アラームやらを作るのに必要な機能です。
特に後者はオンセをしてて結構重宝する機能なので、作りたいと思うのですが。
実際の処理としては、送ったメッセージと受け取ったメッセージの最新の1行を処理付き変数に格納してもらえればおっけーだと思います。

>ログ監視の危険について
これはおそらく自動処理の無限ループの事だと思いますが、IRCには、PRIVMSGの他に、自動レスを禁止したメッセージを送るコマンドがあるはずなので、これを実装すれば回避可能ではないかと思います。
今は出先なので詳細はまた後ほど。
720: 幻月 2005/06/07(火) 21:41:44 ID:??? AAS
>とりさん

>ユーザーインターフェースを持たないユニットの説明と紹介をどうするのか決めかねているので、一時保留にしてあります。

なるほど、納得です。
…そうか、確かに難しいですね

>実際の処理としては、送ったメッセージと受け取ったメッセージの最新の1行を処理付き変数に格納してもらえればおっけーだと思います。
>今は出先なので詳細はまた後ほど。

実際のところ、おおよそのつくりは仕込んではあるんです。
反応禁止はIRCのNotieコマンドです。
まぁ、ちょっとまってくださいな。
721: 幻月 2005/06/07(火) 22:41:39 ID:??? AAS
>とりさんへ

処理付き変数「PRIVMSG」にReplyを設定すればログが取れると思います。
機能からの発言時には処理付き変数「notice」で行うようにしてください
722: とり 2005/06/07(火) 22:46:33 ID:??? AAS
帰宅しました。
>幻月さん
>実際のところ、おおよそのつくりは仕込んではあるんです。
>反応禁止はIRCのNotieコマンドです。
>まぁ、ちょっとまってくださいな。
NOTICEコマンドですね。たけとんぼに依存する様になってからIRCコマンドに触ってなかったので失念してました(^^;
私は、製作中に感じたことを幻月さんにフィードバックしているだけなので、作業は幻月さんのペースで行って下さい。
723: 幻月 2005/06/09(木) 18:54:19 ID:??? AAS
>とりさんへ

さて、NOTICEやログ取得について
JpUnit(発言対応)編にまとめました。
724: 2005/06/09(木) 21:33:53 ID:??? AAS
MagicalChat後継じゃないけど、支援ツールっぽ。

418 名前: NPCさん [sage] 投稿日: 2005/06/09(木) 06:32:23 ID:???
外部リンク:magical-gtv.seesaa.net

ついにキタ━━━━(゚∀゚)━━━━!!
166氏のソフトだねー

ちょっと遊んでみた感想。
MagicalChatの後継ではないけど、カタンとか6ニムトとかちゃんと動いているな。
つっても、カタンとかは、全部手動だから、ちょっと微妙だけど。
この辺は、ルールのスクリプト書く人のがんばりなのかね。
6ニムトは、ほぼ自動だし。

安定してないけど、今後に期待。
725: 幻月 2005/06/09(木) 22:01:28 ID:??? AAS
>724
>MagicalChat後継じゃないけど、支援ツールっぽ。

おぉ、すばらしい、素直かつしっかり出来てますね。

まぁ、VBScriptはASPやってる人なら素で書けますから
今後の拡張性はいいですね。

ツールの選択肢は多いにこしたことないですし今後に期待ですね。
726: 2005/06/09(木) 22:31:31 ID:??? AAS
>>MagicalBCT
カード系の追加について、ちょっと見てた
確かに、VBScriptで簡単に追加できそうだな
土日に遊んでみるかなー
727: とり 2005/06/14(火) 03:27:46 ID:??? AAS
>MagicalBCT
素晴らしいですね。マカなので触れないのが残念ですが、スクリーンショットみる限りではかなりよさげ。
まけない様に我々も頑張らなきゃいけませんね。

>幻月さん
1.9.7bアップ乙です・・・と、思ったら夢幻機構が404NotFoundしてますよぉorz
それと、今日落としたって人が、ベクターからだと1.9.4しかないと言っていました。
728: とり 2005/06/14(火) 04:30:49 ID:??? AAS
夢幻機構の404NotFoundは復旧したっぽい。鯖メンテかな。
729: 幻月 2005/06/14(火) 20:18:01 ID:??? AAS
>とりさん

>404NotFound

あのサーバはたまになるんです。
時間をおいてアクセスしてみてください。

>ベクター

あっちは安定したと確認してからアップしてますからね。
必ずしも最新ではないですよ。
730: 幻月 2005/06/17(金) 01:11:44 ID:??? AAS
>秋茄子さんへ
さて、以前いただいたサンプルにちょっと手を加えてみました。
動作には代わりがないのですが親であるHelloWorldのパネルにあった
ChildとChildPanelへのimport宣言をなくしてみました。

外部リンク[lzh]:taku_kanban.at.infoseek.co.jp

これにより、親の方で子供のUnitのリアルパスを書き込む必要がなくなるかと思います。
なお、動作には最新のたけとんぼが必要です。

それと、このサンプル、よく出来てるので
差支えがなければ、この次の機能解説のサンプルにしたいのですが、よろしいですか?

>とりさんへ

なにやら実験をしているようですが
今回の修正で
jp.common.setCopyObjyect
というメソッドを追加しました。
このサンプルで使い方は判るかと思うので確認してみてください。

元々、このツールスレには直接関係なかったので後回しにしてきたのですが
描画系フレームワークを作るために予定していた機能を前倒し実装したものです。
たぶん重宝するかと思います。
731
(1): とり 2005/06/17(金) 03:58:42 ID:??? AAS
>幻月さん
あらら、見つかっちゃいましたか(^^;
以前からプラグインがごちゃごちゃと小さなフレームを生成するのが不満だったので、そこを何とか出来ないかと実験中です。
といっても、まだフレームワークを作成している段階なのでJpSystem関連の機能はいまだにノータッチなんですけどね。

基本構想としては・・・
1)ゲームテーブルというプラグインがGameTableFrameというクラスのフレームをシングルトンで作る。
2)他のプラグインは、getInstance()でゲームテーブルを取得し、オブジェクト、内部フレーム、レイヤー、メニューなどを追加する。
3)ゲームテーブルは、オブジェクトの位置とオブジェクト間の相関関係を管理し、それ以外はオブジェクトを生成したプラグインに任せる。
とまあ、こんな感じです。

おおもとになるフレームのインスタンスを他のプラグインから触れる様にする事で、フレームをまとめてしまおうと言ういい加減な構想です。
オフラインでのセッションに照らしてみると、内部フレームがキャラクターシートなどプレイヤーの手元にあるシート類を、独自実装したオブジェクトが
テーブルに並べられた駒やカードあるいは、マップなどを表すと思って下さい。そのそれぞれの物は、それぞれのプラグインが管理する・・・・

現在はJTreeで表示しているオブジェクトの相関関係を、ドラッグ&ドロップで変更出来る様にするための作業を行っています。
JTreeも、java.awt.dndパッケージも、これまで触った事がなく手探り状態なので、制作はかなり難航しています(^^;;

まあ、そのうちこのフレームワークを使ったプラグインのサンプルと一緒にアップしますんでもうしばらくお待ちください。
732: 秋茄子 2005/06/17(金) 12:12:26 ID:??? AAS
> 幻月さん

サンプルの使用はOKです。
ご自由にお使いください。

現在、幻月さんが改良したソースを検証しています。
jp.common.setCopyObjyectはこちらににも使われているのですね。
オブジェクトを返すクラスは役立ちそうです。
カードプラグインにも使えそうなので、使ってみます。

>親の方で子供のUnitのリアルパスを書き込む必要がなくなる
というのがちょっとわからないのですがどこのことなのでしょうか。
203行目で
HelloWorld2.JpCommandRunning("jp.common.setUnit('Child','jp.geoark.child.Child','jp.HelloWorld2');");
とあるので、ここではないと思うのですがちょっとわからなくて。
733: 幻月 2005/06/17(金) 12:32:20 ID:??? AAS
休憩時間なのでちょっとだけ返答です。

>まあ、そのうちこのフレームワークを使ったプラグインのサンプルと一緒にアップしますんでもうしばらくお待ちください。

がんばってください、ゆっくり。
あ、ただ、ソース見てみたんですけど一箇所だけ修正お願いします。
GameTableFrameの
JpDetailBean jdb = JpDetailBean.getInstance();
なんですが将来的にcommonパッケージの外からのアクセスを不可にします。

「たけとんぼ」で処理つき変数で一覧を取得してますので
コピーしてもいいのでそのやり方に直してもらえませんか?

>秋茄子さん
ありがとうございます。使わせてもらいます。

>>親の方で子供のUnitのリアルパスを書き込む必要がなくなる
>というのがちょっとわからないのですがどこのことなのでしょうか。

元のソースだとHelloFrame.javaに
import jp.geoark.child.Child;
import jp.geoark.child.ChildPanel;
とあったのが消えてると思います。
それと同じくHelloFrame.javaの
actionPerformedの
} else if (btnChild == evt.getSource()) {
の下を見てみてくださいな、ここに大きく手を入れてます。
734: 秋茄子 2005/06/17(金) 21:52:19 ID:??? AAS
> 幻月さん

やっとわかりました
import文がないこと、子のパネルの取得にJpScriptを使っていることが重要なところと言うわけですね
735: 幻月 2005/06/17(金) 22:19:53 ID:??? AAS
>秋茄子さん

>import文がないこと、子のパネルの取得にJpScriptを使っていることが重要なところと言うわけですね

そうです。
メソッドは利用できたり情報は取れるけど直接は手を突っ込まない。
そうすることによって堅牢性と再利用性を確保してますから。
まぁ、実際にはPanelに触れるって言うことはある程度スルーしちゃうってことなんですけどね。
それでも、この場合のサンプルだとChildとHelloworldの製作者が違うときなんかに重要になって来るわけです。
というか、common以外にはimportがないっていうのがベターですね(笑)
736: 幻月 2005/06/17(金) 22:21:16 ID:??? AAS
補足です。

通常のSDKパッケージとかへのimportは問題無しですよ?(笑)
737: 秋茄子 2005/06/18(土) 08:21:54 ID:??? AAS
>幻月さん

だいぶわかってきました。
同じプラグイン内に二つのJpUnitがあった場合、その二つの間での情報のやりとりはJavaのメソッドではなくJpScriptを使った方がいいんですね。

幻月さんのHPの「JpUnit(発言対応)編」に誤植を見つけました。
最初の方の「それでは、さっそくJpUnit「helloworld」を見てみましょう。」のすぐ下のソースを書いているところです。
ソースは「helloworld」のなのですがタイトルが「child.java」になっています。

同様にHelloFrameのタイトルもChildFrame.javaになっています。

JpUnit(発言対応)編でわからなかったとこがあります。
NOTICEコマンドのことなのですが、NOTICEコマンドを使うと処理付き変数PRIVMSGは変更されないといことなのでしょうか。
738: 幻月 2005/06/18(土) 12:28:09 ID:??? AAS
>秋茄子さん

指摘有難うございます。

>NOTICEコマンドのことなのですが、NOTICEコマンドを使うと処理付き変数PRIVMSGは変更されないといことなのでしょうか。

そうです。
基本的にNOTICEを使ったときはそれには反応してはいけないというのがIRCの
お約束ですので、現状拾わないことにしてます。
739: 幻月 2005/06/18(土) 12:36:16 ID:??? AAS
>秋茄子さん
>同じプラグイン内に二つのJpUnitがあった場合、その二つの間での情報のやりとりはJavaのメソッドではなくJpScriptを使った方がいいんですね。

えぇ、まだ先の実装になりますが複数のjarファイルで親子関係なんてのも想定してますので、それに対する準備的な意味合いも有ります。
それとね、個人的にはjavaで一番面倒なバグはオブジェクト違いの動作不良だと思ってます。
以前、多重起動であったあれとかですね。
その点、パネルに限らず相手のUnitが返してきたものなら深く考えずに使うことが出来ますからね。
動作不良があったら渡してきたUnit(この場合はChild)が原因かもしれない、と。
740: 秋茄子 2005/06/20(月) 07:59:05 ID:??? AAS
> 幻月さん

今、カードプラグインの多層機構化をしています。
その作業中にリクエストが出てきました。

カードプラグインのJpUnitとしての構造は
jp
+-カード
+-ディーラー
+-プレイヤー
としてます。
プレイヤーはプレイヤーだけではなくディーラーともJpScriptで通信をします。
このようにJpUniが通信する相手は自分と同じ名前ではないが親は同じということはカード以外にもあり得ることだと思うのです。
現在MyJpPathで自分のJpUnitとしてのパスは取得できますが、親のパスは取得できません。
なので、親のパスも自分のパスと同様に取得できるとよいと思うのですがどうでしょうか。
741: 秋茄子 2005/06/20(月) 17:35:46 ID:??? AAS
親のパス取得ですが、思いついた方法があったのでやってみました。

外部リンク[zip]:taku_kanban.at.infoseek.co.jp

SubUnit起動ボタンを押したときに、Childが取得した子のパスをコンソールに表示します。

追加部分には
***********************************追加部分
とコメントをつけています。

情報取得を使ってできたのですがJpScriptを使う場所、Childに親のパス書かないようにするのに悩みました。
742: 幻月 2005/06/20(月) 21:43:02 ID:??? AAS
かんがえましたね。
まぁ、チャイルドで取得できるパスの一番最後を削れば親になるんですけどね。
とりあえず「ParentJpPath」で取れるようにしてみました。
743: 秋茄子 2005/06/20(月) 22:43:19 ID:??? AAS
>幻月さん

>まぁ、チャイルドで取得できるパスの一番最後を削れば親になるんですけどね。
確かに・・・・気づいてませんでした。

>とりあえず「ParentJpPath」で取れるようにしてみました。
確認しました。
確かに、親のパスが取得できていました。
これは、すごく良いですね。
今まであちこちに親のパス取得のためのソースが分散していたのが一行ですむので楽だし、間違いもありません。
744: 幻月 2005/06/20(月) 22:58:07 ID:??? AAS
>秋茄子さん

>これは、すごく良いですね。

動いてるみたいですね、良かった。
カードプラグイン、楽しみにしてます。
早く出せるのを待ってますよ。
745: 秋茄子 2005/06/21(火) 21:01:40 ID:??? AAS
> 幻月さん

JpScriptについて質問です
JpUnitの構成を以下のようにしました

A+-b
+-c

このとき、dddというニックのユーザーがcから
jp.taketombo.sendAll.A.b.setText('文字列');
のJpScriptを使ったとします
このときdddの使っているAの子のbのsetTextメソッドはよびされないのでしょうか。
746: 幻月 2005/06/21(火) 21:06:10 ID:??? AAS
>秋茄子さんへ

たけとんぼの機能の「sendAll」ですね。
はっきりと確認はしてないですが、多分呼ばれないんじゃないでしょか。
IRCでチャンネルに対して発言しても自分には帰ってこないですからね。
747: 秋茄子 2005/06/22(水) 00:18:16 ID:??? AAS
>はっきりと確認はしてないですが、多分呼ばれないんじゃないでしょか

カードプラグインを作っていて、ディーラーから全てのプレイヤーに対して送信したときに発信元のプレイヤーのみが反応していませんでした。
sendUnitでは、自分自身にも送信できたので本当に送信元にはsendAlでl送信できないのか悩んでいました

クライアントサーバの役割を持つプラグインを考えるとサーバープラグインがあるのと同じ場所のクライアントプラグインにもsendAllで送信したいときも多いと思うのです
なので、自分自身にも送信できるsendAllのようなものがあった方が良いと思います
748: 幻月 2005/06/22(水) 00:40:15 ID:??? AAS
>自分自身にも送信できるsendAllのようなものがあった方が良いと思います

うーーん、私としてはちょっと保留ですね。
原理的にはsendUnitを回せばいいんですけどね。
秋茄子さん、急ぎです?
749: 幻月 2005/06/22(水) 00:47:01 ID:??? AAS
多分、カードのクライアントに対して一括で送る際に自分自身にも反応させたいんだと思う
んですが、そうだとすればsendUnitでサーバに過負荷をかける必要性はなくて
jp.Card.Player
あてにもう一回コマンド発行すれば済んでしまうんです。
ただ、秋茄子さんの言いたいことも判らないではないです。
やってもいいです、ただ今回はちょっと時間かかりますよ?
どうします?
750: とり 2005/06/22(水) 05:43:42 ID:??? AAS
モロッコ戦見ながら作業中。あーあ、負けちゃったよ。

>幻月さん
CopyObjyectのテストをしてみました。これいいですね、非常に便利です。
個人的にはメソッド名をCopyObjectにしてほしいところですが(^^;
さておき、これのおかげで現在製作中のプラグインはかなり楽になりそうです。

あと、たけとんぼのプラグインメニューにデーモンユニットを表示しない方法を
教えてほしいです。以前はUnitName=""で行けたんですが出来なくなってるので。

もうひとつ、作業してて目についたんですがjp.common.jplinkって何ですか?
なびGateで見ると、興味深い名前の公開メソッドが並んでいるんですけど・・・

>秋茄子さん
自分自身にも送信できるsendAllですが、個人的には必要ない気がします。
理由としては、sendAllはtaketomboの処理付き変数だというのがひとつ。
また、プラグイン側でどうしてもこれが必要ならば、UnitBaseCtrlのサブクラスに
数行書き加えるだけで実装出来るという事もあります。例えば、こんな感じです。
public static void sendAll(String commandString)(
JpCommandRunning(commandString);
JpCommandRunning(commandString.replaceFirst("^jp","jp.localunit.sendAll"));
}
さすがにこれはいい加減すぎるかもしれませんが、こうした方法で対処が出来るなら
当面これで済ませ、幻月さんには他の部分の充実に力を注いでもらう方が良いのでは?
私のイニシアチブプラグインでは、jp.birdland.initiative.InitiativeCommandの中で
同様の処理を行っているので覗いてみて下さい。
751: 秋茄子 2005/06/22(水) 06:52:40 ID:??? AAS
>幻月さん とりさん

>秋茄子さん、急ぎです?

いえ、全く急ぎません
多層機構を使っていない時では、Javaで直接メソッドを呼び出していましたが多層機構を使った場合の考え方ではどうやって良いかわかりませんでした。
なので、幻月さんととりさんに

> jp.Card.Player

> 私のイニシアチブプラグインでは、jp.birdland.initiative.InitiativeCommandの中で同様の処理を行っている

といったような方法を教えてもらったので問題は全くありません。
よい方法を教えてくださり、ありがとうございます。
この方法を早速使ってみます。
752: 幻月 2005/06/22(水) 09:14:47 ID:??? AAS
>>幻月さん
>CopyObjyectのテストをしてみました。これいいですね、非常に便利です。
>個人的にはメソッド名をCopyObjectにしてほしいところですが(^^;

名前、間違えました(苦笑
次のアップで修正します、二人とも注意してください。

>あと、たけとんぼのプラグインメニューにデーモンユニットを表示しない方法を
>教えてほしいです。以前はUnitName=""で行けたんですが出来なくなってるので。

素直に言ってしまうなら、まだ、作ってないのです。
デーモンなんて早々作らないだろうと後回しにしてたもので…ちょっとまってね。

>もうひとつ、作業してて目についたんですがjp.common.jplinkって何ですか?
>なびGateで見ると、興味深い名前の公開メソッドが並んでいるんですけど・・・

たけとんぼ上での最後の実装機能、直接接続(未完成)です。
IRCを使わないというわけではなくて、「JPコマンドを別のルートで送る」ためのつくりです。
あと、「プラグイン同士でネットワーク通信ができる」というおまけつき。
というか、元々は、テスト用の汎用プラットフォーム目指してましたから
これが本来のネットワークの実装(笑)
ためしに、たけとんぼを起動後、もう一つ別に最新のなびGate(jp.jar)を起動しましょう。
上のメニューのコマンドの送信が使用できるはず…たぶん。

>秋茄子さん

>よい方法を教えてくださり、ありがとうございます。
>この方法を早速使ってみます。

いぇ、それでできるならありがたいかなぁとか(笑
あんまり類似機能増やしたくないだけなんですよ、単純に。
後で混乱しそうで。
753: 幻月 2005/06/22(水) 21:56:01 ID:??? AAS
>個人的にはメソッド名をCopyObjectにしてほしいところですが(^^;

修正しました。最新版で確認してください。
754: 秋茄子 2005/06/23(木) 07:40:45 ID:??? AAS
> 修正しました。最新版で確認してください。

確認しました。
「CopyObjyect」ではJPanelが取得できず、なびGateにも「CopyObjyect」が不正だと言うことが表示されていましたが「CopyObject」だと、正常に動作してJPanelを取得できました。

CopyObjyectはいいですね。
今、3種類のJPanelを返すJpUnitを作ってます。

なびGateを使っていて思ったのですが、なびGateを起動させた直後、なびGateはIRCサーバー接続設定ダイアログに重なってIRCサーバー接続設定ダイアログを隠してしまいます。
IRCサーバー接続設定ダイアログはタクスバーに表示されないので、IRCサーバーに接続するには一端なびGateを動かさないといけません。
なので、なびGateを起動した直後にもIRCサーバー接続設定ダイアログが画面の一番上になるようにしたら便利だと思うのですがどうでしょうか。
755: 幻月 2005/06/23(木) 09:12:22 ID:??? AAS
>CopyObjyectはいいですね。
>今、3種類のJPanelを返すJpUnitを作ってます。

元々、たけとんぼでは実装予定のない機能でしたがやっぱり使いますか(笑
使ってみてしばらく動作確認しててください。

>なびGateを起動した直後にもIRCサーバー接続設定ダイアログが画面の一番上になるようにしたら便利だと思うのですがどうでしょうか。

それはやめときましょう。
私みたいになびGateだけあげてたけとんぼ本体起動しないというのもいますし
アクションタイミングが難しいのです。
なびGateがたけとんぼ専用ならできるんですけどね。
756: 秋茄子 2005/06/23(木) 12:16:32 ID:??? AAS
> 私みたいになびGateだけあげてたけとんぼ本体起動しないというのもいますし
> アクションタイミングが難しいのです。
> なびGateがたけとんぼ専用ならできるんですけどね。

了解です
たけとんぼから使う方法でしか使っていなかったので、たけとんぼなしに使う視点が抜けてました
757: 幻月 2005/06/23(木) 22:38:07 ID:??? AAS
>秋茄子さん

かわりにIRCサーバー接続設定ダイアログをタクスバーにでるようにしてみました。
これでどうです?
758: 秋茄子 2005/06/24(金) 07:15:48 ID:??? AAS
> かわりにIRCサーバー接続設定ダイアログをタクスバーにでるようにしてみました。

以前のバージョンと何度か比較して試してみました。

なびGateに隠れた後に前面に出すとき以外に、IRCサーバー接続設定ダイアログがでている状態でブラウザやソースを見たときにもたけとんぼが起動していることを確認できるのでタクスバーに表示される方がずっと使いやすいと思います。
759: 幻月 2005/06/24(金) 23:49:28 ID:??? AAS
>とりさん、秋茄子さん

バックグラウンド処理の細かいバグを直してました。
最新のたけとんぼ、ja.jarで製作、テストしてください。
760: とり 2005/06/26(日) 03:56:33 ID:??? AAS
>幻月さん
CopyObjectを試していて壁にぶつかったのでアドバイスをお願いします。
トラブルの内容は、親子関係にない別のユニットから自作したクラスのインスタンスをコピーし、
それを元にクラスにキャストしようとするとClassCastExceptionが出るというものです。

↓のサンプルを使って検証してみました。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
検証の手順は以下の通りです。
1)jp.jarをコマンドラインから起動します。
2)なびGateが起動したら「コマンド>フォルダ内のUnitをセットで読み込む」を選択。
3)ダイアログに「plugin」と入力してsampleとtestを読み込みます。
4)なびGateから「jp.sample」というJpScriptを送ってsampleを起動します。
5)なびGateから「jp.test」というJpScriptを送ってtestを起動します。
6)標準出力に以下の様な出力が出ます。

読み込んだパネル:
 class jp.birdland.sample.SamplePanel
 java.net.URLClassLoader@a23610
SamplePanel:
 class jp.birdland.sample.SamplePanel
 java.net.URLClassLoader@e8a021
equalsでクラスを比較:false
読み込んだパネルはSamplePanelとしてキャスト出来ません。

#長いので分けます。
761: とり 2005/06/26(日) 04:15:32 ID:??? AAS
#続きです。

見ての通り、読み込んだパネル=sample側のSamplePanelもtest側のSamplePanelも、同じ名前の
jp.birdland.sample.SamplePanel ですが、クラスローダーが異なっているために別のクラスとして
扱われているようです。

このように、別のユニット同士が同じ自作クラスを使いたい場合、どうしたら良いのでしょうか?
そもそもそのような設計をすべきでないのか、リフレクションを使えば何とかなるのか、あるいは
他にもっと簡単な方法があるのか・・・・

幻月さんの意見を聞かせて下さい。
762: 幻月 2005/06/26(日) 04:42:53 ID:??? AAS
>とりさんへ

たぶん、私がやったサンプルみたいにJPanel(親)にキャストすれば動くんじゃないでしょうか。
Javaは型変換にはシビアで同じソースで作ってもパッケージが違うとキャストできなかったりします。
だから、受け渡す際にはSDKの基本クラスにキャストすることを念頭に置いた設計が必要です。

取り合えず、JPanelへのキャストで試してみてくださいな。
763: 幻月 2005/06/26(日) 04:56:25 ID:??? AAS
いまソースの確認してて気が付きました。
ボーダーレイアウト受け渡したいんですね。
これは難しいかな…ちょっと良い方法が浮かばないですね。
出来上がったレイアウトと表示をのは可能だと思うんですけどね。

ボタンのセットはtestでやって(CopyObjectでボタンを渡す)
完成したレイアウトを受け渡すのでは駄目なんでしょうか?
764: 幻月 2005/06/26(日) 05:45:04 ID:??? AAS
連続投稿ですいません。
>とりさん
しばらくいじってましたがやはりうまく抜けないですね。
あと、先ほどのを訂正。
sampleにたいしてCopyObjectしてsampleで設定ですね、やるなら。
しかし、こんな初期で引っかかるとは(苦笑)
あとリフレクションでは多分無理ですね。
クラスローダーに手を入れてもコンパイル後に指定する形だと
返却するときはObject型になるのでまた戻ってしまいます。

ちょっと調べますね。
765: とり 2005/06/26(日) 06:44:15 ID:??? AAS
>幻月さん
えーと、これは問題点を示すためのサンプルであって別にレイアウトを渡したい訳じゃないんです。
たとえば、最近作っていたゲームテーブルなら、GameTableDesktopという自作クラスを他のユニットと
共有したいですし、自作クラスを別ユニットで共有して何かするという構造が使いたい場面は多そうなので。

前回のサンプルで示したのは、SamplePanelというクラスをsampleとtestが共有するというモデルケースで、
sampleから受け取ったSamplePanelを、test側でSamplePanelとして扱う事の出来ない問題を示した物です。

んで、リフレクションと言ったのは、同じクラスを共有する事を諦めて、リフレクションを用いてオブジェクト
からメソッドを直接取得して使用するという方法を考えていましたが、試した結果これは可能でした。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
この方法だと非常に大きなオーバーヘッドが発生し、頻繁に使う機能には使えないという問題点や、
オブジェクトを受け取る側のコーディングが煩雑になるなど問題が少なくないです。

やはり出来れば普通にダウンキャストして使えるというのが理想なんですが・・・・(^^;
766: 幻月 2005/06/26(日) 13:09:37 ID:??? AAS
>えーと、これは問題点を示すためのサンプルであって別にレイアウトを渡したい訳じゃないんです。

了解です。

>この方法だと非常に大きなオーバーヘッドが発生し、頻繁に使う機能には使えないという問題点や、
>オブジェクトを受け取る側のコーディングが煩雑になるなど問題が少なくないです。
>やはり出来れば普通にダウンキャストして使えるというのが理想なんですが・・・・(^^;

ソース見ましたけどね。
リフレクション遅いですからね、私も中で使ってますが。
ダウンキャストは現状とことん抜けませんね。
JpUnitの基本がやってるようにアブストラクトを用いて
メソッド共有するしかないかも知れません。
767: 幻月 2005/06/26(日) 15:25:25 ID:??? AAS
>とりさんへ
さて、先ほどの問題をリフレクションを用いないで私なりに
解決したものを作ってみました。
なお、ダウンキャストについては解決できてないので回避し
ちょっと変わった解決方法を取ってみました。

外部リンク[lzh]:taku_kanban.at.infoseek.co.jp

まぁ、見てみてから、感想ください
768: とり 2005/06/27(月) 03:03:42 ID:??? AAS
>幻月さん
拝見しました、きれいに動作していますね。
ですが、やはりユニットごとの対処で回避しようとすると煩雑になるのは仕方がなさそうですね。
問題の回避はやはり単なる回避でしかなく、根本的な解決にはならないという結論に至りました。

で、jp.jarに手を入れてみました。一応はダウンキャスト出来る様になっていると思います。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp

いじったのはjarUnitLoad.javaだけなのでチェックしてみて下さい。
ちなみに、同梱されたsample.jarとtest.jarは31と同じ物なので動作に怪しい部分があります。
769: 幻月 2005/06/27(月) 08:29:33 ID:??? AAS
>とりさん

確認しました。
これは、ちょっと…ね。
クラスローダーのインスタンスに手を入れているのは
判らなくもないけど多層機構で不整合起こしますね、これだと。
1-
あと 214 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.044s