2017年12月07日

また、Java でダンジョン自動生成

dg171124_1.png

また、ダンジョン自動生成です。 以前 よりは自然な感じになったかなあと思ってます。GUI の英語は適当です。ラベルにマウスオーバーすると、値の最小と最大、場合によっては簡単な説明が表示されます。

dg171124_2.png dg171124_3.png

dg171124_4.png dg171124_5.png

生成方法ですが、簡単に言うと、

  • 1. 最初の部屋を作る
  • 2. 今まで作った部屋をランダムに選択する
  • 3. その部屋の周囲に部屋を作れそうであればドアと部屋を作る
  • 4. すでに部屋があった場合、設定した確率でドアを追加する
  • 5. 作成した面積が設定した値を超えたら終わり
  • 6. 2 へ

説明が下手ですがこんな感じです。考え方は 以前 と同じです。

ソースと実行jarのダウンロード
実行には java8 が必要です。

将来的には Swing が廃止されるらしい。いつの事かはわからないけど、FX に移行したほうがいいんだろうか。でも、まだ情報が少ないだろうし。

posted by Takenoko at 21:44| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする

2017年11月07日

簡単にロゴを作れるソフト、LogoMaker を作りました

scr_lm2.png

このスクリーンショットのような、簡単なロゴを作成できるツールを作りました。自分で使うために作ったのでマニュアルは書いてませんが、そんなに複雑な機能はないので、大丈夫だと思います。疑問やバグなどがあればコメントして下さい。

scr_lm1.png

こういった、複数行の文字列画像も作れます。

ダウンロード

実行には Java8 が必要です。ソースファイルも同梱してあります。

17/11/08 19:56 追記 zipファイルにマニュアルを追加して、差し替えました。lm.jar を実行することで起動します。manual.txt が簡単な説明書きです。

posted by Takenoko at 22:38| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする

2017年04月01日

大航海時代III いろいろ

どこかに書いてあるかもしれないが、気づいたことなど。

  • 海戦、陸戦の勝利時、プレイヤーと副官の武力が上がることがある。+2 まで確認。都市占領時は +3 まで確認した。
  • 結婚した酒場女によって、高くなりやすい子供の能力が違うようだ。カルロータは武力、アルダは運、ユリアは体力、など。デルフォイで教えてもらえる。何十回か試してみて、確かに、対象の値は高くなることが多かった。たまに下回ることもあったが。
  • イスパニアの征服者で開始すると、アルジェの海賊を退治するイベントが発生するはずなのだが、このイベントが起こらず、1511年位になって、その次のイベント二つが立て続けに発生した。ゲーム開始早々にチュニスを占領してしまい、結果的にアルジェがイスパニア領になってしまったのがまずかったのかもしれない。
  • ユニコーンの願いの効果は、
    • 神の祝福 信仰+7
    • 皆の幸せ 運+3
    • うまい物 疲労回復
    だと思われる。信仰も運も、どう影響するのかよくわからない値だが。公式ガイドブックでも、気にしなくていいなんて書かれているし。
  • 大航海時代III 世界探求編(初版) に載っている航海者データは、能力値が -1 されている。例えばロッコの実際の能力は 92, 59, 88, 65 だが、この本では 1 づつ低くなっている。二版以後で直っているかは不明。

ラベル:大航海時代III
posted by Takenoko at 20:52| Comment(0) | game | このブログの読者になる | 更新情報をチェックする

2017年03月29日

大航海時代III 航海について

海上での航行速度には、旗艦以外の船の性能や水夫数は全く、あるいはほとんど影響しないと思われます。推進力が一桁の船や、水夫が一人、あるいは全くいない船を同行させても、速度が下がったようには感じられなかったので。ただ、無人の船があると日が替わるごとにダイアログが出るので、一人は載せておいたほうがいいです。大型キャラベルや大型キャラックも役に立ちそう。

海戦時も、水夫の数は移動力に関係しないようです。無人でも動かせるし、砲撃の威力も変わらないです。射撃もできますが、一回で拿捕されます。勝てば取り戻せるので、無人の船を敵艦にぶつけるのも有効です。推進力は、低いと移動力も下がるので、海戦をする場合、旗艦以外にも必要だと思います。

17/04/01 追記
これを書いた後、いろいろ試してみましたが、旗艦以外の船の速度への影響は、推進力はほとんど関係ないが、水夫が必要人数に満たない場合はある程度遅くなる、というように感じました。数字が出ないので、正直、自信があまりなくなってきました。旗艦の状態は、明らかに影響します。まあ、ヘルプにもそう書いてあるんですが。

ラベル:大航海時代III
posted by Takenoko at 21:54| Comment(0) | game | このブログの読者になる | 更新情報をチェックする

2016年10月07日

太閤立志伝のアイテムについて

太閤立志伝(初代)の全アイテムをcsv化してみました。一つのアイテムが16バイトで、名前、価格、所有者、分類、鑑定済かどうか、価値、グラフィック番号の順に並んでいるみたいです。分類は、茶器、美術品、財宝、武器、南蛮物、書籍の6種類で、和書と漢書が分かれておらず、区別はグラフィック番号でつけているのだと思います。

TR_ITEM.zip

このゲームのアイテムは全部で300個ありますが、そのうちの80個しか存在できないという、コレクター泣かせな仕様になっているようです。登場中のアイテムが南蛮商人への売却などで消えた場合、待機中のアイテムが上から順に登場するのだと推測します。待機中の後ろの方のアイテムは、ゲーム内で見たことがないです。

posted by Takenoko at 22:01| Comment(0) | game | このブログの読者になる | 更新情報をチェックする

2016年09月14日

太閤立志伝IIの武将データをcsv化してみた

久しぶりに太閤立志伝IIを起動してみましたが、なかなか面白いです。武将の寿命が知りたかったのですが、『太閤立志伝2』武将総覧に無かったので、バイナリをcsvにするソフトを作って、 BSDATA*.TR2 を解析して、寿命を含む武将のデータをcsv化できるようにしました。Java8 が必要だと思います。

BinaryReader160914.zip

太閤立志伝IIのディレクトリ内にある BSDATA1.TR2 と BSDATA2.TR2 を、zip内にある BinaryReader フォルダに入れて、コマンドラインで
java -jar BinaryReader.jar taikou2bs.txt BSDATA1.TR2 BSDATA2.TR2
を入力すると、同フォルダ内にcsvファイルが二つ生成されます。Windows の場合は、taikou2bs.bat でもかまいません。

BSDATA*.TR2 は、PC版もPS版も 同一のファイルのようなので、PS版の陣形や二回攻撃は、別の場所で設定しているのかもしれません。

16/09/15 追記 使用方法を加筆。

ラベル:java 太閤立志伝II
posted by Takenoko at 22:27| Comment(0) | game | このブログの読者になる | 更新情報をチェックする

2015年09月08日

bdf2bmp をコンパイル

bdf2bmp をコンパイルしようとしたところ、エラーが出た。cc ではダメなのかと clang にするもエラー。"‘getline’ と型が競合しています"と表示される。stdio.h に同名の関数があるらしい。そこで、bdf2bmp.c 内の getline を全て getline2 という適当な名前に置換すると無事成功。このソフトの最終更新が 2001 年なので、その間に関数が追加されたのだろうと思う。
ラベル:font C software
posted by Takenoko at 23:38| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする

2015年09月01日

壁のばし法で迷路生成してみた 続き

昨日の壁のばし法で迷路生成してみたでは、壁を伸ばす方向をランダムに選んでから、時計回りに判定していたんですが、それだと確率が偏ってしまうことに気づきました。配列をシャッフルして方向を選ぶ方式にしたので、今度は偏らないと思います。

maze_bl2.png

maze150831.zip

実行ファイルとソースファイルが入ってます。GUI も少しだけ手直ししました。

posted by Takenoko at 08:23| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする

2015年08月31日

壁のばし法で迷路生成してみた

maze_bl.png

maze_th.png

壁のばし法で迷路を生成するコードを書きました。伸ばす先が無くなるまで伸ばす方法と、その前に違う壁を伸ばす方法があるようですが、今回は前者の方法を使いました。以下は迷路生成部分のコードです。



今回は、コメントも書いて見ました。ここに載せていない GUI 部分には書いてませんが。乱数は XorShift を使っていますが、java 標準の乱数でもいいと思います。

maze150830.zip

実行ファイルとソースファイルが入っています。

続きを読む
posted by Takenoko at 08:26| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする

2015年03月13日

GlassPane でアニメーション

タイトルの通り。忘れないようにソースをここに。Java の Package 名は単数形でいいらしい。this は省略したほうがよかったかも。


15/03/19 追記
GlassPane は JComponent でいいらしいので修正した。

ラベル:java
posted by Takenoko at 23:40| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする