日記(955)

<前 次>

中核

ラインブレイカの中核となる処理を書き終えました。
最初構想していた素晴らしいアルゴリズムは若干面倒臭そうだったので、実装の簡単そうなやや非効率的なアルゴリズムで作ってみました。
後は動作テストが済めば自分で使う分には充分な出来になります。
ただ、改行コードの設定がまだできなかったり、設定の保存も後回しになっていたりするので、一般公開までにはまだ時間がかかりそうです。

ラインブレイカ2

ラインブレイカ2のエンコードの種類を選ぶ画面はできました。
初期状態ではUS-ASCIIが選択されていますがたくさんあるエンコードから日本語を選ぶこともできます。
改行コードと削除対象は今までに入力したものの履歴を残すことができますが、エンコードだけはその性質上履歴は残さず最後に使ったものだけが次の起動時に考慮されます。

1163170630.png

ラインブレイカC#

ラインブレイカの新バージョンはC#で作ることにしました。
まず、VBでは高速化があまり期待できないこと、C++では面倒すぎること、そして、見つけたOLEドラッグ&ドロップのサンプルがたまたまC#だったことなどがあって、C#に決まりました。
C#ならば起動は遅くなりますが、ライブラリが充実していて多機能化も容易ですし、メインフォームを作るのも簡単なので、そこそこはかどりそうです。
Cで考えたアルゴリズムもC#ならばほぼ問題なく使えます。
ただ問題があって、それは、C#で通常使う文字コードがUNICODEなんです。
ただ、これを対象となるファイルの文字コードに変換することができれば、逆に様々な文字コードに対応も出来るということになります。

ダウンロードのトップページを軽量化しました。
THタグの中身をスタイルシートで改行しないようにしたのを忘れてNOBRを入れっぱなしにしていました。

ギャラリー

PHPでのギャラリーページの書き換えが完了しました。
JavaScriptに依存しないブラウザに優しい形式で、コンテンツ管理もしやすく、画像一覧だけでなく別の場所でランダムイメージとして利用したりもできます。
とりあえずふにゃさんとBomber丸Worldのページに使ってみましたが、音楽も混在しているパネルγでは別の配慮が必要そうです。

ハーモニック

新しいラインブレイカ、早くもダイアログ作成の段階で手間取ってます。
グループボックス(VBでいうフレーム)の中にコントロールを入れてもグループ化されないんですよね。
それにエクスプローラからのドラッグ&ドロップの方法もわかってませんし。

ふにゃさんの13面の攻略ページが出来上がりました。
最難関ステージだけあって画像点数もトップクラスです。
そうそう、ふにゃさんのページのギャラリーとトップを改装中です。
JavaScriptに依存せず画像表示ができて、ギャラリーページの内容を他にも使いまわせるように、PHPで書いてみようかと考えています。

Bomber丸Worldのバトル2の曲をハーモニックマイナースケールにしてみたら暗い曲から怖い曲になりました。
特に出だし部分の印象が激しく変わるのですが、逆に後半部分は何も変わりませんでした。

1162911365.mid

msxml

更新しました。
結局書いたコードをどう扱うかでちょっと延びてしまったということなんです。

ラインブレイカのことなんですが、未来を見据えてここは.NETでやってみるか、それともマイナーバージョンアップということでVBのままいってみるか、予定通りC++でゴリゴリ書くか、迷っているところです。
C++が現実的だとは思うけど、ダイアログ作りから何から自分で作らなきゃいけないし…。

Bomber丸Worldのデータ構造読み込み機能、実は無理にXMLにする必要は無いんです。
うん、MSXMLのバージョンとかインストールとかがややこしそうだったので。
TGscriptを作っているときに見つけたPHPのserialize関数がなかなか便利なんですよ。
配列などのデータ構造をそっくりそのまま文字列にして出力できて、unserializeで復元できるんです。
で、その結果というのがいかにもコンピュータに優しい形式で、構造を表すだけならXMLよりむしろ作りやすいような気がするんです。

<前 次>