[過去ログ] 【神降臨】TRPG支援ツールを作るスレ【その3】 (983レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
>とりさん
確認しました。
これは、ちょっと…ね。
クラスローダーのインスタンスに手を入れているのは
判らなくもないけど多層機構で不整合起こしますね、これだと。
770: 幻月 2005/06/27(月) 09:22:39 ID:??? AAS
と、説明が足りないと思うので簡単にだけ補足します。
とりさんが行ったのはjarで読み出すときにURLUnitLoaderを一つにまとめ同じパッケージ名の場合に別のものとして
扱わせないという修正です。
これはある意味スマートな解決方法で、本来「javaは同一パッケージ名を許容しない」というルールからすれば問題ありません。
が…実際問題、製作者のことを考えると同一パッケージの別存在を許容しないといけないのです。
例を挙げます。
たとえば秋茄子さんの作ってきたサンプル、HelloWorld2
これは私が作ったサンプルをベースに拡張したものです。
しかもテスト用であるためパッケージ名、クラス名は変更してありません。
では、とりさんの修正版で元のHelloWortldがある状態で実行するとどうなるか?
元のHelloWortldが読み込まれて、HelloWorld2は読み込まれないんです。
もう一つ例を出します。
とりさんのダイスUnitがありますね。
これを仮に私のプラグイン「マスタースクリーン」で採用したとします。
で、一年位してから、リニューアルした「マスタースクリーンz」というものを出したとしましょう。
もちろん、「マスタースクリーンz」ではダイスUnitは最新のものに変えます。
では動かしてみるとどうなるか…古い方しか呼ばれないんです。
ほかの人のソースを許可もらって組み込むのにわざわざパッケージ名を変える人は少ないというのが私個人の見解です。
で、とりさんの修正を見てちょっと考えてることがあります、のでちょっとまっててくださいな。
771: 幻月 2005/06/27(月) 21:30:28 ID:??? AAS
>とりさんへ
さて、とりさんの案を元に組替えてみました。
外部リンク[lzh]:taku_kanban.at.infoseek.co.jp
無条件にローダーをまとめるのではなく
Jp-Unit-Group: グループ名
をマニュフェストに書くことでまとめられるようにしてあります。
これでどうです?
772: とり 2005/06/28(火) 07:14:06 ID:??? AAS
>幻月さん
確認しました。とりあえず、問題なく動作しているので問題はないと思います。
今回のやり取りで幻月さんと私のユニットの連携に対する認識に若干のずれを感じましたので
認識の擦り合わせのために私の考えを述べておきます。
以下に述べる意見については、いち制作者の意見として参考程度にとどめておいて下さい。
>JpScriptについて
これは親に機能を追加して行くだけのプラグイン機構ではなく、ユニット同士がスクリプトを
介して連携し、ひとつのネットワークを構築するという物だと考えています。
>ユニットの独立性に関して
前述の考えに基づくと、各ユニットは個としての独立性を保つ必要性があり、
私のダイスユニットを例にとるなら、あれは他のユニットのjarに内包される事は考えていません。
そのかわりに、全ての機能はJpScriptを介して利用出来る様になっており、そうする事でユニットの
内包するクラスを一意に保つ事が出来、こうした使い方をする限り幻月さんが770であげた様な状況
は起こりえないと考えています。
秋茄子さんのサンプルのケースについては、あくまでサンプルという特殊なケースであって、本来の
パッケージの命名規則である逆ドメインあるいはそれに準じた方法を用いている限り、起こりえない
ものだと思います。
#ちなみに私はjp.birdland.〜、秋茄子さんはjp.toubousya.〜という識別子を使用しています。
個人的には、ほかの人の既存のユニットをユニットのjarの中に組み込むという使い方はJpSystemの
設計思想を考えると推奨すべきではないと思うのですが・・・。
とはいえ、jp.jarについては現状の仕様で問題ないのでそれでどうこうという類いの意見ではないです。
まあいい機会なので、こうした設計思想の部分やプラグインを作る上でのお約束事などは、擦り合わせを
しておいた方がいいかなとは思いますが(^^;
773: 幻月 2005/06/28(火) 09:26:43 ID:??? AAS
>とりさん
>確認しました。とりあえず、問題なく動作しているので問題はないと思います。
ではこれで固定します。
今晩にでもたけとんぼ、なびGateともにアップしますので最新を取得してください。
>JpScriptについて
基本的にあっています。
>ユニットの独立性に関して
ダイスユニットについては私が誤解してましたね。
了解です。
>特殊なケースであって、本来のパッケージの命名規則である
>逆ドメインあるいはそれに準じた方法を用いている限り、起こりえない
それに関しては、後にJakarta等の外部パッケージ組込形などが登場した場合に
ありえるのではないかと考えています。
まぁ、ある意味杞憂の可能性大なので流してもらってもいいです。
#長いので分けます
774: 幻月 2005/06/28(火) 09:27:17 ID:??? AAS
>個人的には、ほかの人の既存のユニットをユニットのjarの中に組み込むという使い方はJpSystemの
>設計思想を考えると推奨すべきではないと思うのですが・・・。
ちょっと余談をしましょう。
とりさんにプラグインとしての開発を進めていらい私のほうでも
随時必要に応じて少しずつ仕様を変えて拡張してきた面もあります。
とりさんの意識する設計思想は、たぶんに初期に想定した理想のつくりを把握してくれているもので
基本設計者としてはかなりうれしいものがあります。
ですが、卓上の理論系では実際の実装に厳しい。
それを二人とやり取りしてて強く感じるときがあります。
ObjectCopyは近年になってから追加設計した仕様です。
素直に言うならとりさんの行ったような利用までは深く想定していませんでした。
理論と実装、ある意味共存でありながらトレードオフの関係にあると意識しています。
だから、無理に「設計とはこうあるべきだ」と強要するつもりはさらさらありませんし
そこらへんは、ある程度お互いに妥協しながら作っていくものだと思います。
そこまでを前提に既存のユニットを無差別に組み込むと言うのは確かに推奨しませんが、
そのうちやる人はいるだろうし、状況にもよるな、と緩く考えてます。
>まあいい機会なので、こうした設計思想の部分やプラグインを作る上でのお約束事などは、擦り合わせを
>しておいた方がいいかなとは思いますが(^^;
やってもいいですけど、掲示板形式ではちょっとつらいかな、速度的にも。
メールで連絡とってIRCなんかで簡単にやってもいいですね。
775: とり 2005/06/29(水) 07:40:13 ID:??? AAS
おはようございます。かなり早く目が覚めてしまったのでちょっとだけ作業してました。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
ゲームテーブル>カードマップの順で立ち上げて下さい。
>幻月さん
ふむふむ、やっぱり結構認識に違いがあるんですねぇ、面白いです。
あ、>>731でお約束した通り、ゲームテーブルの使用例の様な物を↑にあげておきました。
これもきちんとキャストの出来るCopyObjectがあってこそなんで、ありがたい限りです。
まだ完成度50%以下なんでソースは付けていませんが、触ってみて下さい。
>メールで連絡とってIRCなんかで簡単にやってもいいですね。
秋茄子さんとはIRCでちょくちょく顔合わせるんで、予定を調整してメールしましょうか?
秋茄子さんはだいたいいつも23時頃に落ちるんで、その前の時間帯になると思いますが・・・
幻月さんのご都合の良い日の候補をあげておいて下さい。
おっと、やばい仕事行かなきゃ(^^;
776: 幻月 2005/06/29(水) 08:25:57 ID:??? AAS
確認した感想は後で(笑
>とりさん
>結構認識に違いがあるんですねぇ、面白いです。
まぁ、人間ですからね。
違いも有るかと思います。
多分、最終的にやりたいことに少しずれがあるんでしょう、すりあわせが可能な範囲です(笑)
>幻月さんのご都合の良い日の候補をあげておいて下さい。
いつでもいいですよ。
ただ、私も11時以降はアウトですね。
今日あたりは一段落してのんびりしてるとおもいます。
777: 幻月 2005/06/29(水) 20:56:35 ID:??? AAS
>とりさん
さて、動かしてみました。
いや、面白いです。
多少、重いですけど先々手直しで軽くなると、かなり使える物になりますね。
以前約束したデーモンの設定を使ったプラグインのサンプルを作りました。
外部リンク[lzh]:taku_kanban.at.infoseek.co.jp
コンストラクタで
UnitDetailBean myUdb = getUnitDetail();
myUdb.setDaemon(true);
を設定したUnitはリストにでないようになっています。
早く完成に近づくといいですね。(笑)
778: とり 2005/07/01(金) 23:25:21 ID:??? AAS
>幻月さん
デーモンの設定、確認しました。
これに伴い、ダイスユニットをver1.1.0にバージョンアップして公開しました。
外部リンク[html]:www.geocities.jp
なお、中の人であるためプラグインメニューには現れず、単体では機能しません。
動作のテストは、たけとんぼから起動したなびGateで↓とでも送ってみて下さい。
jp.dice.commandStack('jp.taketombo.setString("println","成否:[rollResult] 結果:[order]=[value]");','3d6+8');
>早く完成に近づくといいですね。(笑)
8月あたま頃までには実際に使えるものを提供したいと思ってはいるんですが・・・
#ところで、メールした件はOKだと思っておいて大丈夫でしょうか?
779: 幻月 2005/07/01(金) 23:40:07 ID:??? AAS
今から動作確認します、感想は後で。
>8月あたま頃までには実際に使えるものを提供したいと思ってはいるんですが・・・
それは堅実なスケジュールですね。
>#ところで、メールした件はOKだと思っておいて大丈夫でしょうか?
はい、OKです。
不都合がおありでしたらご連絡くださいとあったので
ないならいいのかなとか思ってました、すいません(苦笑
780: 幻月 2005/07/02(土) 00:00:56 ID:??? AAS
>とりさんへ
>ダイスユニットをver1.1.0にバージョンアップして公開しました。
動きはばっちりです。
Unit連携での動作もみました。
これでトリさんの所の公開プラグイン二個目が完成ですね。
着実に増えてますね、これにゲームテーブルにRpg2DMapが完成すると
バリエーションが広がりますね、あせらないでは欲しいですが完成が楽しみです。
781: とり 2005/07/03(日) 02:12:24 ID:??? AAS
今日は制作者3人でIRC座談会などやっておりました。
秋茄子さんは途中でお休みになりましたが、幻月さんとはつい先ほどまで話をしていました。
実に有意義で濃い内容で、今後の方針が見えた気がします。
>幻月さん&秋茄子さん
今日はお疲れさまでした。大変楽しく有意義な時間を過ごさせていただきました。
実用に堪えるツールを目指して今後も頑張りましょう。
782: 幻月 2005/07/03(日) 18:31:25 ID:??? AAS
>とりさん
頼まれたキャラクター名追加とキャラクター名削除を装備しました。
最新のたけとんぼの、なびGateでメソッドを見てみてください。
783: とり 2005/07/04(月) 07:02:06 ID:??? AAS
おはようございます。
ゲームテーブルとたけとんぼを結ぶ新プラグイン「フェイスチャット」が近々公開出来そうです。
ちょっと面白いプラグインになっていると思うのでご期待ください。
>幻月さん
キャラクター名追加メソッドなんですが、すでに登録されている名前を追加すると同じ名前が
重複して登録されてしまう様です。すでに登録してある名前は無視してほしいのですが・・・
784: とり 2005/07/04(月) 07:05:18 ID:??? AAS
良く考えたら、ゲームテーブル自体まだ公開してなかったorz
バグだらけ&未実装の機能多数ですがフェイスチャットと一緒に公開します。
785: 秋茄子 2005/07/04(月) 19:22:51 ID:??? AAS
多層機構、実体複写を使用したカードプラグインの作りかけです。
現在実装されている機能は以前、途中で出したのと代わりありませんがその後追加された機能のうち上の二つを使用してあるユニットが他のユニットをimportしないように注意して作り直しました
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
次は、個人の場札を扱う機能を追加しようと思っています。
786: 幻月 2005/07/04(月) 22:06:12 ID:??? AAS
>とりさんへ
キャラクター追加に少し修正しました。
確認してみてください。
>秋茄子さん
おぉ、来ましたね。
後で確認しますね
787: 幻月 2005/07/04(月) 23:14:48 ID:??? AAS
>秋茄子さん
きちんと動いています。
内部構造は増分変わったはずですが、以前と同じ動きをしているっていうのがいいですね。
次は機能の拡張ですね(笑
788: 秋茄子 2005/07/06(水) 17:49:22 ID:??? AAS
カードプラグインの作りかけです。
立ち上げたあとに、ディーラーが新しくプレイヤーを登録するたびにフレームの左側にプラグインを使っている本人以外のプレイヤーの場札を表示するスペースを確保するようになっています。
このスペースにそれぞれのプレイヤーの前に置く場札を表示するのですが、まだ表示するスペースを確保しただけでカードを置く機能は実装していません。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
次は、フレームの右と左を分けるのにスプリットペインを使ってみたいと思います。
789: 幻月 2005/07/08(金) 19:26:58 ID:??? AAS
>カードプラグインの作りかけです。
動きは大丈夫そうです。
とりさんのゲームテーブルでも確認しました。
たけとんぼとなびGate(基本パッケージ)を更新しました。
最新にして置いてください
790: 秋茄子 2005/07/09(土) 17:42:04 ID:??? AAS
> 動きは大丈夫そうです。
無事動いているみたいですね。よかった
スプリットペインを使うのに苦戦すると思っていたのですが、案外簡単にできたのでカードを裏にする機能をつけてみました
裏にする機能の方に時間がかかってしまいましたが
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
場札をダブルクリックするとカードが裏返ります。
手札を裏返すことはできないようにしています。
今度は、場に裏にしたカードを置く機能をつけてみたいと思います
791: 幻月 2005/07/09(土) 18:50:30 ID:??? AAS
>秋茄子さん
>場札をダブルクリックするとカードが裏返ります。
うまくひっくり返りません。
場札、ですよね?
792: 秋茄子 2005/07/10(日) 06:19:04 ID:??? AAS
> うまくひっくり返りません。
> 場札、ですよね?
原因がわかりました。
1.5にしかないメソッドを使用していました。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
これが修正したものです。
今度は裏返すことができると思います。
793: とり 2005/07/10(日) 15:16:04 ID:??? AAS
秋茄子さんが頑張っているようなので、釣られてフライング気味のアップです。
たけとんぼをプラグインとして利用するコンテナユニット「ゲームテーブル」と
発言に顔画像を付けて会話風に表示する「フェイスチャット」のふたつです。
外部リンク[zip]:www.geocities.jp
1)解凍後、ディレクトリ構造をいじらずに@GameTable.jarを起動。
2)標準メニューからたけとんぼを起動して接続後、適当なチャンネルにJoin。
3)プラグインメニューからフェイスチャットを起動。
4)フェイスチャットメニュー>読み込み>facechat.txtを選択。
5)名無し以外の名前を選択して発言してみて下さい。
なお、顔画像はカードワースの規格である74×94の画像が使えます。お試し下さい。
>秋茄子さん
ちょっと触ってみましたが、47はきれいに動いている様です。
794: 幻月 2005/07/10(日) 15:57:24 ID:??? AAS
とりさんの@GameTableを使う時には
今までたけとんぼが動いていたところkら
taketombo.properties
をコピーしてきたほうが楽ですね。
これを解凍したフォルダに入れることで
たけとんぼのすべての設定がコピーされます。
>秋茄子さん
うん、ばっちりです。
場札がちゃんと裏返ってます。
>とりさん
仮公開しましたね、基本的な動きはOKです。
あのね、既存のキャラクターネームがゲームテーブルにはでてこないみたいなので
そこのところのつくりが欲しいですね。
やり方はこの前渡したソースに有るのでそれを見てみてくださいね。
795: 秋茄子 2005/07/10(日) 17:43:12 ID:??? AAS
>とりさん、幻月さん
テスト、ありがとうございます
うまくいったみたいなので次の機能追加をしてみました
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
ディーラーが場に裏にしたカードを配ることができるようにしました
「場に配る」というタイトルがついたボーダーの中の「表」ボタンを押したら表のカードが、「裏」ボタンを押したら裏にしたカードが場に配られます
796: 幻月 2005/07/10(日) 18:08:59 ID:??? AAS
>秋茄子さん
>「場に配る」というタイトルがついたボーダーの中の「表」ボタンを押したら表のカードが、「裏」ボタンを押したら裏にしたカードが場に配られます
確認しました、うん、動いてます。
ネットワーク越しでも大丈夫そうです。
次は手札を裏で出す機能あたりでしょうか。
797: 秋茄子 2005/07/12(火) 18:39:13 ID:??? AAS
> 次は手札を裏で出す機能あたりでしょうか。
はい、その通りです。
手札を裏にして場にだす機能をつけました。
使い方は、山札から場札に出すときと同じです
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
798: 幻月 2005/07/12(火) 20:16:52 ID:??? AAS
>秋茄子さん
早速確認しました。
大丈夫そうです。綺麗に裏で処理できてます。
次は何でしょう(笑
そうそう、テストする際にチャンネルタブので右クリック、
「プラグインの直接接続」を選んでみてください。
799: とり 2005/07/12(火) 20:57:17 ID:??? AAS
>秋茄子さん
確認しました。綺麗に動作しているようです。
>幻月さん
直接接続確認しました。チャンネルタブの右クリックが上手く機能していないようです。
テストでは一時しのぎとして、なびGateからsetJpLink()送って繋いでみましたが、通信自体はきれいに動いているようです。
しかし、ついにここまで来ましたね。
また色々相談したいので、IRCにも顔出して下さいな。
800: 幻月 2005/07/13(水) 00:01:22 ID:??? AAS
>右クリックが上手く機能していないようです
流石に判らないですね。
ファイヤーオールの可能性も捨てきれないし、
ゲームテーブルからの起動だとなびGateが古いので完全動作しないはずです。
>通信自体はきれいに動いているようです。
よかった、これでもうしばらくしたらたけとんぼを暫定固定できそうです。
commonの機能ですからね、ゲームテーブルも良ければそのうち利用考えてみてください
>また色々相談したいので、IRCにも顔出して下さいな。
そのうちよります、基本はこちらに来ますけどね。
801: とり 2005/07/13(水) 01:19:28 ID:??? AAS
>幻月さん
チャンネルタブの右クリックの件ですが、そもそもポップアップメニューが出ないんです。
なびGateからの操作で機能する事から、commonが古い事による弊害とは考えにくく、たけとんぼ
単体で起動した場合にも同様の不具合が生じていることから、マウスイベント取得の問題だと思います。
ゲームテーブルでの直接接続については色々考えたんですが、待ち合わせや、接続のための連絡などの
不便さを考えると、当分はたけとんぼ依存でいいかなと思っています。その点ではIRC優秀ですし(^^;
前回のレスでいただいていたデフォルトネームの読み込みの件ですが、フェイスチャットで顔の付いている
名前とそうでない名前がごっちゃになるのでゲームテーブル側では現状のままにしておこうかと思います。
必要ならば、フェイスチャット用のデフォルト設定ファイルを付属させる方向で対処します。
802: 幻月 2005/07/13(水) 01:38:20 ID:??? AAS
>そもそもポップアップメニューが出ないんです。
それは予測外ですね。
たぶんに機種の差かな、今度余裕があったら出いいので
マックでの右クリックポップアップのサンプルとか探さないと駄目かな?
>現状のままにしておこうかと
そうですか、了解。
803: 幻月 2005/07/13(水) 02:11:37 ID:??? AAS
>とりさん
度忘れしてました。
そう、マックでしたね…今度ポップアップ以外の別ルートも実装しておきます。
804: とり 2005/07/14(木) 00:01:41 ID:??? AAS
>幻月さん
たけとんぼとなびGateを最新版にしたら直接接続が繋がらなくなりましたorz
805: 幻月 2005/07/14(木) 01:27:41 ID:??? AAS
>とりさん
ちょっと確認です。
単体で?ゲームテーブルからで?
806: 幻月 2005/07/14(木) 01:46:33 ID:??? AAS
>とりさん
もう一度アップしなおしてみたので落としなおしてみてください。
なびGateが1.2.0 Systemが3.4.9が最新です。
807(1): とり 2005/07/17(日) 00:50:05 ID:??? AAS
金曜の夜に自宅の通信回線が原因不明の断線に見まわれました。
なんとか復旧させようと色々やってみたものの、どうやら家屋内の問題ではないらしく、復旧できず。
問い合わせようにも週末窓口やってないよorz
そんなわけで早くても月曜以降までネットに繋げそうにありません。
幻月さん&秋茄子さん、動作チェックの最中に落ちちゃってごめん。
808: 秋茄子 2005/07/17(日) 08:07:48 ID:??? AAS
>807
あらら。
やはり、接続できなくなってましたか。
ちょうど間の悪いときだったみたいですね。
で、その間に一つ機能を追加しました。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
山札からプレイヤー毎の手札にカードを置くことができるようになりました。
表、裏どちらでも置くことができます。
プレイヤーAの場札にカードを置くと、他のプレイヤーのプラグインのプレイヤーAの場札を表示する場所にも反映されます。
ただし、まだカードを置くだけです。
おいたカードをひっくり返すこともできませんし、移動させることもできません
なので、次はプレイヤー毎の場札をひっくり返す機能をつけてみたいと思います。
809: 幻月 2005/07/17(日) 14:32:26 ID:??? AAS
>とりさん
>原因不明の断線に見まわれました。
そうですか、ちょっと心配してました。
また繋がったらテストしましょう。
>動作チェックの最中に落ちちゃってごめん。
まぁ、慌てない(笑)
多分、ローカルテストしか出来ないでしょうから、
ゆっくり休息をとってみるのも手では?
>秋茄子さん
早速確認してみます。
着実に機能整えつつありますね。
秋茄子さんの小アルカナ(トランプ)と大アルカナ(通常のタロット)
のプラグインが揃ってNOVAに使える日も近そうですね。
810: 幻月 2005/07/17(日) 14:51:57 ID:??? AAS
>秋茄子さん
動作確認しました。
動きはOKですね。
ただ…大きくなってきたね、画面のサイズが(笑)
私、いま1280×1024にしてるから余裕で見れてるけど
一昔まえのCRTだときついかもしれない、この大きさは。
800×600でテストしたら容赦なく画面からはみ出しました。
(スクロールバーがあるので操作は上は問題なし。)
機能揃ってからでいいのですが、個別の大きさを小さくしてみるとか
ディーラーとかプレイヤーの手札のところとかだけをツールバーで
外だしできるようにするとか、小さい下面サイズ向けの工夫が要るかもしれませんね。
811: 秋茄子 2005/07/18(月) 18:18:17 ID:??? AAS
> 幻月さん
私もたまに解像度を下げて試しているのですが、最初に考えていたのよりずっと大きくなってしまいました。
そのうち、フレームを小さくする工夫はしてみようと思っています。
幻月さんが書かれているもの以外に自分以外のプレイヤーの場札の表示を縮小してみるというのも考えています。
812: 秋茄子 2005/07/19(火) 20:12:37 ID:??? AAS
機能を追加しました。
自分の場札を裏返すことができます。
そのときの裏表は他の参加者のプレイヤー毎の場札を表示する場所にも反映されます。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
次は、手札を自分の場に置く機能を追加したいと思います。
813: 秋茄子 2005/07/19(火) 20:15:07 ID:??? AAS
812のファイルLは間違いです。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
こちらが正しいファイルです
814: 幻月 2005/07/19(火) 21:00:04 ID:??? AAS
>秋茄子さん
確認しました。
大丈夫なようです。前も言いましたが堅実ですね。
815: 秋茄子 2005/07/25(月) 21:20:40 ID:??? AAS
>幻月さん
実際のとこ、堅実と言うよりも一気に作れないから少しずつ作っているだけなんです。
で、また少し作りました。
今回は、手札を自分の場に置く機能をつけました。
自分の場に表に置くことも裏に置くこともできます。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
次は、自分の場のカードを手札にする機能をつけたいと思います。
816: 幻月 2005/07/25(月) 22:35:27 ID:??? AAS
>秋茄子さん
>実際のとこ、堅実と言うよりも一気に作れないから少しずつ作っているだけなんです。
まぁ、作り方は人それぞれですし。
>自分の場に表に置くことも裏に置くこともできます。
動作、確認しました。
初めの頃と比べてずいぶんすすみましたね。
817: 秋茄子 2005/07/26(火) 20:51:01 ID:??? AAS
今回は思ってたよりも早くできました。
自分の場のカードを自分の手札にできます。
使い方は場札を取ると同じです。
「場札を取る」ボタンを押すとアクティブにした場札とアクティブにした自分の場のカードを手札にできます。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
次は自分の場のカードを捨てる機能をつけたいと思います
818: 幻月 2005/07/26(火) 22:51:34 ID:??? AAS
お、今回は連日ですね。
>自分の場のカードを自分の手札にできます。
テストしました。
取れてますね、メンバーの方にもみれています。
819: 秋茄子 2005/07/27(水) 22:21:53 ID:??? AAS
今回も連続です
この3日間に追加した機能は、今までに作った機能をコピペしたり、メソッドをそのまま使ったりしているので比較的簡単にできてます。
以前からついていた、「捨てる」ボタンで自分の場のカードを捨てることができます。
手札と、自分の場のカードを同時に捨てることができるわけです。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
今度は、他のプレイヤーの手札を取る機能をつけたいと思います。
自由にとれてはまずいのでまず相手プレイヤーに許可を取ってから取る、という機能にしてみようと思います。
820: 幻月 2005/07/27(水) 23:09:33 ID:??? AAS
>秋茄子さん
確認しました。
新しい機能はOkですね。
ただ、操作してて思ったのが「自分の場札」を「場」に出す機能が欲しいなと思いました。
それと、「場札を捨てる」ボタン、「捨てる」ボタンで代用できそうな気がします、どうでしょう。
ちょっと違う話ですがJRadioButton、使ったことあります?
表と裏の選択、これでまとめると表示がすっきりするかもしれません。
と、まぁ、いろいろ書いてみましたが自分のペースでゆっくり確実に、楽しみにしてますから。
821: 幻月 2005/07/27(水) 23:21:00 ID:??? AAS
訂正、秋茄子さんメニューで使ってますね、JRadioButton。
今、気がつきました。
822: 秋茄子 2005/07/29(金) 21:05:50 ID:??? AAS
> 幻月さん
> ただ、操作してて思ったのが「自分の場札」を「場」に出す機能が欲しいなと思いました。
> それと、「場札を捨てる」ボタン、「捨てる」ボタンで代用できそうな気がします、どうでしょう。
了解です。
「場を変える」ボタンを付けました。
場のカードを選択して押せば選択したカードが自分の場に移り、
自分の場のカードを選択して押せば選択したカードが場に移ります。
また、場札を捨てるボタンを「捨てる」ボタンにまとめました。
これでソースを整理したところソースの大きさが2K減りました。
> ちょっと違う話ですがJRadioButton、使ったことあります?
> 表と裏の選択、これでまとめると表示がすっきりするかもしれません。
これも1回は考えてみたのですが、表にしたカードを配ってからすぐに裏にしたカードを配って、また表にしたカードを・・・
というような配り方をするカードゲームがあったと思うんです
このようなときには表カードを配る動作、裏カードを配る動作をスムーズに行いたいと考えたんです。
今のように裏ボタンと表ボタンを使った場合は
裏ボタンを押す、マウス移動、表ボタンを押す
という動作になり、
ラジオボタンを使った場合は
ラジオボタンを裏にあわせる、マウス移動、ボタンを押す、マウス移動、ラジオボタンを表にあわせる、マウス移動、ボタンを押す
という動作になるので、ボタンを二つ使った方が操作がスムーズになると思ったので今のようなボタンを二つ使う方法にしたのです。
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
823: 幻月 2005/07/30(土) 00:45:08 ID:??? AAS
>「場を変える」ボタンを付けました。
一通り動作確認しました。
綺麗に動作してます、いい感じですね。
次は、他のプレイヤーの手札を取る機能ですね(笑)
>ボタンを二つ使った方が操作がスムーズになると思ったので今のようなボタンを二つ使う方法にしたのです。
そういう理由なら納得です。
824: 秋茄子 2005/07/31(日) 14:23:03 ID:??? AAS
> 幻月さん
どうしてもわからない不都合が出てきました
外部リンク[zip]:taku_kanban.at.infoseek.co.jp
これをダウンロードして、なびGateも動かしてたけとんぼのプラグインとして起動してください
なびGateのツリーでJpCardMultiLayerのJpCardFieldを選択してJpCardFieldの公開メソッドが表示されるようにします。
この表示されているメソッドの中から引数なしのメソッドをコピペしてJpスクリプトを直接実行してください。
ほとんどのものは、なびGateに[I]つきで表示されて正常に呼び出されていることがわかります
しかし
jp.JpCardMultiLayer.JpCardField.a();
を直接実行しようとすると
[E][class jp.common.JpCommandRunning]メソッド呼び出しに失敗しました:a();
と表示されてしまいます。
公開メソッドであるにもかかわらずJpスクリプトで実行できないのです。
メソッドを正常に呼び出すにはどうしたらいいのでしょうか。
825: 幻月 2005/07/31(日) 17:45:55 ID:??? AAS
>秋茄子さん
調べてみましたがすぐにはわかんないですね。
実際のところ呼び出しはできてるんですよ。
ただ、メソッドの実行でころんでるんです。
同じクラス内のinitialize()は動いているのでちょっとわかんないです。
可能性としてはメソッドの中身でエラーをしている可能性が捨てくれません。
一度、テストで以下の二つをしてみてください。
1. a()の中身を空っぽにすること。
2. a()のメソッド名を変えてみること。
ちょっと試してみてくださいな
826: 秋茄子 2005/07/31(日) 20:46:44 ID:??? AAS
>幻月さん
試してみました
> 可能性としてはメソッドの中身でエラーをしている可能性が捨てくれません。
> 1. a()の中身を空っぽにすること。
> 2. a()のメソッド名を変えてみること。
2ではうまくいきませんでしたが1ではうまくいきました
どうやらメソッドの中身でコンソールに表示されないエラーがあったようです。
ありがとうございました。
827(5): 幻月 2005/08/01(月) 12:32:35 ID:??? AAS
>どうやらメソッドの中身でコンソールに表示されないエラーがあったようです。
>ありがとうございました。
いぇ、全部は表示してませんからね、さすがに(笑
ぱっとみ、見分けつきませんからね。
まかせっきりにするのではなく、自分で必ずtry〜catchする癖を付けると拾えますよ。
828(5): 2005/08/07(日) 20:49:18 ID:7Hw82m9s(1)調 AAS
「オンラインセッションのページについて」スレッドでの話題ですが、
そろそろスレ違いになりそうだったので、こちらにお邪魔させていただきますね。
ちなみに自分は上記スレの659です。
>>オンセスレ665
>かな入力の人だと、日本語ワードの方が楽になるのかな?
自分もローマ字入力なので、かな入力の方の存在をすっかり忘れてました。
なるほど、確かにかな入力派の方々なら日本語コマンドの方が楽かもしれませんね。
>クリティカルとファンブルが@と#
もともと、とある方が作ったダイスボットを参考に、というかクローンを目指していたので
そのボットの仕様をパクった結果、今に至ります。
そういう意味では、少なくとも身内では「最も使い易いキーワード」だったり。
記号そのものを変えるのは容易いですが、英字への変更はちょっと全体を変えないと難しそう。
>>オンセスレ666
ありがとうございます。
でも、現状では、乱数の精度は全く問題になっていません。
例えば65536種類の中で偏りがあるとしても、最終的にはD6〜D100くらいに収束するので、
TRPGで使う分には全く気にならないためです。
実際、誤差は0.1%くらいしかなかったような。
829(1): 幻月 2005/08/07(日) 21:18:38 ID:??? AAS
>828氏(オンセスレ659さん)
作るスレに、ようこそ。
ここでは各自が自分のペースで開発してます。
馬刺さんが用意してくださったここ用のローダー(ログ参照)とかもありますので、
ちょっとしたテスト版などの提示などにご利用ください。
830: 827 2005/08/07(日) 23:39:59 ID:??? AAS
>>829
いえいえ、こちらこそ宜しくお願いします。
……もともとROM住人ですけどね(笑)
現在、1つ詰まっていることがあります。
乱数をうまく取得できないのです。
詳しい方がいらっしゃれば、ヒントでも戴ければ幸いです。
前提条件
・IRCクライアント「LimeChat」用のダイスマクロ(DLL形式)を作るのが目的。
・基本的にはC言語だが、C++でもいいや。
・LimeChatが特定のキーワードを受けると、DLLの中の指定された関数Funcが呼び出される。
・キーワードが呼び出されるたびにDLLがロードされる模様。故に一度関数を抜けると静的変数の値は保持されない。
普通のアプリケーション等であれば
(1) アプリ起動時に 乱数を現在時間で初期化
(2) 関数Funcが呼び出される
(3) 乱数を取得(関数Func内)
というように、初期化は一度しか行われないのではないでしょうか。
ただ、今のプログラムでは、
・関数Funcが呼び出されるたびにロード、静的変数の値が保持されない
・故に関数Func内で、毎回乱数を初期化しなければならない
という条件のため、
(1) 関数Funcが呼び出される
(2) 乱数を初期化(関数Func内)
(3) 乱数を取得(関数Func内)
という手順を取っています。
831(1): 827 2005/08/07(日) 23:56:43 ID:??? AAS
で、現在抱えている問題は、
偶然同じタイミングで複数回キーワードを受け取ってしまったとき、
(1) 同じ現在時刻の値で乱数を初期化する
(2) 同じ値を乱数の値として返す
…という状況が発生するというものです。
再現率は極めて低いのですが、IRCを用いるため、ネットワーク状況(ラグ)などによっては高くなります。
自分でも幾つか対応策を考えてみましたが
・精度の高い擬似乱数アルゴリズムを使用する
→ 初期化の話をしているので今は関係ない
・キーワードの送信者の名前によって、乱数の底を修正する
→ 実装済み。ただし同一人物の複数回発言には対応できない。
・外部ファイルに乱数情報を記録しておく
→ 排他制御などで新たな問題発生。難易度急上昇
・気にしない。無視する。
→ ユーザにつっこまれた
長くなってしまいましたが、おおよそこのような状況です。
…ふと、ここまで来るとスレ違いどころか板違いじゃないのかなと思ってきた。
832: 2005/08/08(月) 00:35:35 ID:??? AAS
マイクロセカンドでとってもダメ?
833: 2005/08/08(月) 00:39:48 ID:??? AAS
あー、マイクロ秒は試してませんでした。
ミリ秒は意味がないっぽかったんですけど。
834: 2005/08/08(月) 01:02:23 ID:??? AAS
マイクロ秒なら擬似乱数の質いるかもよ
質が低いと近い種で危険だったような気がする
後、オンセスレのぞいたが、666のMTはうまくいけばrandよりはやい可能性があったんじゃ?
835: 幻月 2005/08/08(月) 01:06:14 ID:??? AAS
>831
ずいぶんと難しい問題ですね。
私はCは最低限の読み書きくらいしか出来ないので
あんまりたいしたことは言えませんが、どこかに情報をもつか別なキーを拾うぐらいしか思いつかないですね。
あまりスマートな方法じゃないですけど、
ブートトラップファイル、つまり単純にアプリ起動しているかどうかの確認のためだけに
空っぽのファイルを作って制御するという方法を使っているCの人をみたことがあります。
制約された環境下でやる人が多く、また、ウィンドウズだと、
ファイル生成にタイムラグが出ることがあるのでちゃんと動くかどうかは不明ですが
とりあえず、どうしても詰まった時の一考までに。
上下前次1-新書関写板覧索設栞歴
あと 148 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.125s*