« 2009年2月 | トップページ | 2009年4月 »

2009年3月

NetJan実装 平和を上がり判定できるところまで完成

ゲーム開始から、平和を上がり判定できるところまで完成しました。 役はタンヤオ、その他の頻出のものを実装したら、ボチボチ公開しようと思います。

Sc

サイコロ振りボタン画像は、http://sozai.akuseru-design.com/ からダウンロード。

| | コメント (0) | トラックバック (0)

写真の撮影日から、自動フォルダ作成してPCへコピーするPerlスクリプト

写真の撮影日から、自動フォルダ作成してPCへコピーするPerlスクリプト を作成してみました。

年月のフォルダを作成して、作成したフォルダ下へ写真コピーするだけです。 既に存在したら処理しません。

$srcfolder、$dstfolder の部分を変更してもらえれば、流用はできるかと思います。

「FinePix_Copy.pl」をダウンロード

使ってるPerlの環境によっては、Exifの情報を取得するライブラリが必要になるはずで、 C:\Perl\lib 等のライブラリフォルダに下記添付のライブラリセットをコピーする必要があります。

「lib.zip」をダウンロード

これらは、http://search.cpan.org/~exiftool/ からDLしたものです。

| | コメント (0) | トラックバック (0)

NetJan設計 Model - ディープコピー

一部設計変更。 Modelの表示パフォーマンス目的の、Modelクラスを親クラスにして、上位Modelクラスに変更を通知する方法だと色々と不都合が生じてくる。

controlパッケージから新旧のModelをuiへ渡して、表示時に変更有無を判断させる方式とする。 旧Modelを持つためには、ディープコピーを行う必要があるが、javaのcloneメソッドを使うと各Model派生クラスでオーバーライドする必要があるため、Serializable(シリアライズ)を利用したディープコピーを行う。 下記のようなサービス関数を持つクラスを1つ作成してそれを利用する。

  public static Object deepCopy(Serializable original) {
    if (original == null) {
      return null;
    }
    Object ret_obj = null;
    ObjectInputStream in_obj;
    try {
      ByteArrayOutputStream out_byte = new ByteArrayOutputStream();
      ObjectOutputStream out_obj = new ObjectOutputStream(out_byte);
      out_obj.writeObject(original);
      ByteArrayInputStream in_byte =
      new ByteArrayInputStream(out_byte.toByteArray());
      in_obj = new ObjectInputStream(in_byte);
      ret_obj = in_obj.readObject();

    } catch (IOException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    return ret_obj;
  }

| | コメント (0) | トラックバック (0)

NetJan設計 Network - ソケット接続

ソケットの接続について、設計がもれてたので追加。

Sequence_networkconnect

NetworkDriver_Serverは4つのソケットスレッド、NetworkDriver_Clientは1つのソケットスレッドを持つのは前述した通り。 NetworkDriver_ServerはJDKのServerSocketクラスを利用して、クライアントからの接続要求を待ち、接続が成立した時点で生成されるSocketを元に、スレッドを生成する。
NetworkDriver_Clientは、JDKのSocketクラスを利用してサーバに接続要求を行い、接続成立したらそのソケットを元にスレッドを生成する。

| | コメント (1) | トラックバック (0)

NetJan実装 JDKクラスのソースを設定

JDKクラスの上でF3を押下しても、ソース参照はできないので、設定方法を調べて参照できるようにしました。  まず、PCの中に2つのJRE環境がある。 2つのうち、”jre6”フォルダはJREのみが格納されているので、ソースコードは存在しない。 

Java_2_folders

自分のEclipseはこの、”jre6”フォルダのほうが設定されているので、まずは”jdk1.6.0_11”フォルダを設定する。 Windows⇒Preferences から、設定。

Add_new_jre

ここ待て設定したうえで、参照したいクラスの上でF3キー押下。 ”参照できません”と表示された場合は、”ソースを添付”を選択して、jdk1.6.0_11 下の”src.zip”を選択。 これで次から表示される。

| | コメント (0) | トラックバック (0)

NetJan実装 クラス型枠作成

設計までほぼ完了したので、実装を進めていく。 まずは各パッケージの格となるクラスのクラス作成まで。

Coding_start

実装結果はSubversionリポジトリ に格納している。 この記事がUPされた後も随時更新している。

| | コメント (0) | トラックバック (0)

« 2009年2月 | トップページ | 2009年4月 »