【ソフト紹介】
 画像の「モザイク化」「減色処理」を多段階で行うツールです。

 類似の機能を持つ優れたソフトウェアは他にも多数ありますが、「歴シ」は
・極めて微細なパラメータを設定可能
・処理過程(元画像から最終処理結果までのプロセス)も作成される
・エミュレーションモードあり(実際の処理は行わない)
・ゲーム感覚で操作できる
という点が、大きく違います。

※注意
 実用的価値は、ほとんどありません。
 処理内容は、再現できません。つまり、元画像と各種パラメータを完全に同じにしても、同じ最終成果品は得られません。

v1.00
 初版

【対応OS】
 Windows/XP/Vista/7 (XP,7のみ動作確認済み)

※注意
 Micorosoft .NET Framework 2.0以上の環境が必要です。

【種別】
 「歴シ」はフリーウェアです。
 もちろん、寄付は大歓迎です。

【インストール】
 適当なフォルダに、
・歴シ.exe
・setting.txt
・hana.jpg
・tori.jpg
の4ファイルを解凍して下さい。

 このうち、動作に直接関係するファイルは「歴シ.exe」「setting.txt」だけです。この2つのファイルは、必ず同じフォルダに入れて下さい。
 画像ファイルは、任意の場所に置いて頂いて結構です。

【アンインストール】
 上記のファイルやフォルダを、適当に削除して下さい。
 レジストリ、*.iniファイル等は使用しておりません。

【初期設定】
 「setting.txt」をメモ帳等で開き、
・1行目に、設定ファイル名
・2行目に、処理対象ファイル名
をフルパス(サンプルにあるとおりの、長ったらしい名前です)で記載して下さい。

 3行目以降は自由にお使い下さい。「歴シ.exe」は、先頭2行の内容しか見ません。
 扱える画像ファイルの種類は、bmp及びjpgです。他の形式については、動作するかもしれませんが、未検証です。ご了承下さい。

※注意
 もちろん、設定ファイルと処理対象ファイルは、指定した場所に置いて下さい。
 また、両ファイルとも、
・画像サイズが、縦横共に完全に同じ
・ピクセル数(エクスプローラ上に表示される「大きさ」の数字)が、4の倍数である
でなければなりません。

【画面の説明】
 この画面しかありません。
 @主画面には、「setting.txt」の2行目で指定した画像が表示されます。

【簡単な使い方(とにかく、動かしてみたい)】
 C開始ボタンを押して下さい。@主画面上に、処理結果が刻々と表示されます。
 E終了ボタンを押すと、問い合わせダイアログなしでいきなり終了します。

※この使い方では、処理結果はどこにも保存されません。

【歴シの動作原理】
 歴シは、画像中の各色を国になぞらえた「生き残りシミュレーション」です。そのため、減色が終了して1色になった(全国が統一された)時点で処理を終了します。

 @主画面に表示されているのが現在の各国(各色)の状況で、生き残っている国の数(使用されている色数)は、D現在の状況の「国」部分に表示されます。
 歴シ起動時に表示されている数字(開始ボタンを押す前)(上画面では、78544)は、処理対象ファイルの仕様色数と一致しているはずです。

 また、I現在の状況の「国1」部分に、最も優勢な国の領土数(同じ色のピクセル数)が表示されます(上画面では、912)。
 ※この数字は、開始ボタンを押しても変化しません。あくまで、初期値を表示しているだけです。

 国王(各色で識別される代表者)は、
・寿命(年単位)
・年齢(年単位)
・月齢(1〜12)
・内政能力(1〜100)
・戦闘能力(1〜100)
情報を持ちます。
 これらの情報は乱数で決まりますので、ユーザー側で指定する事はできません。

【開始ボタンを押した後の流れ】
 歴シの進行は月ターン制となっており、D現在の状況の「年」「月」部分に、経過時間が表示されます。

 始めに、国王の月齢を1月足して、年齢に正規化した後、寿命との比較を行います。
 寿命に達した国王は死亡してしまいますが、国そのものは消滅しません。残された者が後を引き継ぎ、次の国王が誕生するまで堪え忍びます。
 国王誕生イベントは、毎年1月です。

 次に、各国が動員できる兵力の計算を行います。
 兵力の計算要素は、
・領土数(その国を示す色のピクセル数)
・国王の内政力
・土地の基盤力
の3つですが、「土地の基盤力」の元データとして、「setting.txt」の1行目で指定した「設定ファイル」を使います。

○計算例
・ある国が3ピクセル(@主画面のピクセル位置100・100、150・100、320・240)を支配していて、国王の内政力が50
・設定ファイルのピクセル位置100・100、150・100、320・240色情報が、それぞれ5000、100、250の場合
 その国の、その月の兵力数 = 5000×50 + 100×50 + 250×50 = 267500人

 各土地の基盤力は、常に一定です。変化しません。

 次に、各国間で戦闘が行われます。
 ある月のターンが終了した時に、残存国数(使用色数)がD現在の状況の「国」部分に表示されます。

【戦闘の仕組み】
 ある国のある領土(ピクセル)は、隣接する土地が別の国である場合、戦闘を仕掛けます。
 なお、「隣接する」については、斜めを含む上下左右の8方向としています。

 戦闘の結果は「勝ち」「負け」「引き分け」の3種類です。
 勝敗の判断は、単純に各国の兵力数だけを使うのではなく、国王の戦闘能力も関係してきます。実際の戦闘にも存在するであろう「運・不運」をシミュレートするため、
  判定に使う兵力数 = その国の兵力数×乱数(その国の、国王の戦闘能力を上限とする)
を基準とします。

 国王が不在の場合、戦闘能力0として処理しますので、結果的に兵力数は0になります。

 双方の兵力数が比較的近い場合を「引き分け」としますが、この「比較的近い」の判断基準がA数値パラメータの「引分率」です。
 ここには0〜100の数値を入れて下さい。
 0の場合は、双方の兵力数が全く同じ場合のみが引き分けになります。
 100の場合は、どちらかの国王が不在の場合のみ、勝敗が決定します(どちらも国王不在であれば、引き分け)。

 攻め込んだ側が「勝ち」の場合、攻め込まれた土地は攻め込んだ国のものになります(ピクセルの色が変わる)。
 「負け」「引き分け」の場合は、変化なしです。

【戦闘の進行】
 歴シの戦闘進行は、大きく
(1)ランダム発生
(2)各国の自主性
の2種類に分類されます。

(1)ランダム発生
○段階1
 土地の数が76800個(76800ピクセル:320×240)の場合、その半数つまり38400回だけ、
・横方向の位置を乱数で求める
・縦方向の位置を乱数で求める
・その土地が、周囲に戦闘を仕掛ける
という処理を行います。

○段階2
 A数値パラメータの「戦闘回数」×100回(サンプル画像の場合は、100×100 = 10000回)だけ、
・横方向の位置を乱数で求める
・縦方向の位置を乱数で求める
・その土地が、周囲に戦闘を仕掛ける
という処理を行います。

 段階1と段階2を切り替える基準は、A数値パラメータの「係数1」「係数2」です。
 残存国数が「係数1」以上の場合は、段階1が用いられます。
 残存国数が「係数2」〜「係数1」の場合は、段階2が用いられます。

 この2つの係数次第で、全体の進行速度と処理精度が大きく変化しますので、色々なパターンを試してみて下さい。

(2)各国の自主性
 残存国数が「係数2」より少なくなると、各国は自我に目覚めます。
 ランダム発生では「どこで戦闘が発生する」かは乱数次第だったのですが、ここからは「我が国の領土」を考える様になります。
 最初に、全国中の自国領土をスキャンし、「他の国に接している土地」を抽出します。
 次に、抽出した全土地のすべてが、周囲に戦闘を仕掛けます。

 1月の中で戦闘を行える国の数は、A数値パラメータの「戦闘回数」です。
 ある国が、1月内で複数回戦闘を行う事はありません。
 また、残存国数が戦闘回数より多い場合、「1月休み」の国が発生します。

 残存国数が戦闘回数より少なくなった場合は、各国が1回だけ戦闘を行います。
 つまり、この時点で、戦闘回数パラメータは意味を失います。

【最終段階】
 残存国数が8国以下になると、I現在の状況に各国の面積率が表示されます。
 通常、この段階から先は進行が緩やかに(月は進むが、国の数はなかなか減らない)なります。各国の成長衰退を、じっくりと御観察下さい。

 概ね、領土数が多い国がじわじわと支配地域を広げていきますが、国王の交代により状況が一変する等、見ていて飽きません。

【テコ入れ(神の意志)】
 処理進行中にF調整ボタン押すと、その時点で最も領土数が少ない国(複数個ある場合は、最初にみつかったもの)が無敵になります。
 G現在の状況「番号」にその国の番号、「最初」に無敵になった時点での領土数、「現在」に現時点での領土数を表示します。

 無敵になった国(神の国)の特典は、単に「戦闘に負けない」だけではありません。
 神の国が攻め込んだ土地は必ず神の国のものになります(無敵で、必ず勝つため)し、神の国に攻め込んだ土地は、逆襲を受けて神の国のものになります。
 そのため、神の国は猛烈な勢いで拡大していきます。

 テコ入れを終了する場合は、H調整終了ボタンを押して下さい。
 なお、神の国の国王自身の寿命はそのままです。国王が死亡した場合、テコ入れも終了します。また、テコ入れは次の国王に引き継がれません。一代限りです。
 ただし、残存国の数が少なくなった場合、同じ国が連続して神の国になる場合があるでしょう。

【歴史書作成】
 B動作設定「表示のみ」にチェックを入れると、エミュレーションモード(画像表示のみ)で動作します。
 「表示のみ」のチェックを外し、「BMP形式」にチェックを入れると、各月の国分布状況をBMP形式で保存します。
 「BMP形式」のチェックを外すと、JPG形式で保存します。

 ファイル名は、「0000_00」(年4ケタ_月2ケタ)です。

 ファイルが保存される場所は、「歴シ.exe」が入っているフォルダです。
 ファイル保存を高速にするため、ソフト一式をRAMディスクに入れるというのは確かに有効ではありますが、ディスクが一杯になった時の動作保証はありません。未検証です。

※バグも仕様である
 B動作設定は、C開始ボタンを押した後でも任意に操作できます。
 このため、
・ある時期までは、エミュレーション
・そこから一定期間は、JPG画像保存
・更に一定期間は、BMP画像保存
・最終段階では、エミュレーション
という柔軟な処理も可能です。

 本来であれば、これは「パラメータチェック不足」というバグなのですが、意外に使い勝手が良いので仕様として残しました。

【サポート】
 当ソフト使用中のいかなる障害に対しても、作者(弊社)は責任を持ちません。
 要望・エラー報告等は、お気軽にお申し付け下さい。ただし、対応できない場合もあります。ご了承下さい。

・作者への連絡先
miyamoto-t@h-js.jp

・最新版
 最新版の配布等は、以下のURLにて行っています。
http://www.h-js.jp/software/software_index.html