2024年11月の日記

<2024年12月 2024年10月>

アンパンマンDBとTGWS内部処理

アンパンマンDB(記事更新)

コラムから転記。
顔が違う系が終わって、弱体系始まりました。
「力が出ない」は「顔が欠けて力が出ない」と統合しています。
ここから先は、名前らしい名前のない状態もあるので、そのあたりは臨機応変に。

アンパンマンDB(システム)

個人メモのAJAX化に着手し…しようとしました。
まだ何も入ってないjsファイルを追加してます。

TGWS内部処理

ちょっといろいろ古いコードを整理したのをアップしてました。
まだまだ古いコード一掃できてないですが。

アンパンマンDBとWinUI 3

アンパンマンDB(記事更新)

来週の放送情報。
再放送ですな。

WinUI 3

MediaPlayerElementで今表示されている映像を静止画として使いたいけどやり方がわからぬ…。
MediaPlayer.IsVideoFrameServerEnabled プロパティあたりを使えば何かできそうな気はするけど、これを使うと画面に表示されないし…。

ドラゴンクエスト10とTiled

ドラゴンクエスト10(しろいコキン)

モバー&イール

  • クエスト「ポケットの中の思い出」をクリアした!

日記に書くことが特にない日はちょっとしたお使いクエストをこなすに限る!
特にこれは、依頼主の代わりに買い物してくるという、本当のお使いクエストなのでありました。

Tiled


日記に書くのがお使いだけというのも何なので、先日言っていたTiledをインストールしてみました。
まだ軽く触っただけですが、タイルサイズやオブジェクト変形など、かなり表現力が高いですね。
その分ファイルフォーマットも複雑なので、フルスペックのTiledファイルを自作ソフトで使えるようにするというのはどうにも無謀そうです。
まあ、対応する仕様・しない仕様をはっきり決めて、無理ない範囲で実装するのが現実的でしょうね。

funyakとアンパンマンDB

funyak

マップエディタとして、汎用マップエディタTiledを使うというアイディア。
まあ、フルスペックで実装するのはしんどいと思うので、やったとしても一部の仕様を使う程度になると思いますが。

アンパンマンDB(記事更新)

コラムから転記。
違う顔系がそろそろ終わりそうだけど、弱体化系はどうしようかな。
「顔が濡れて力が出ない」とか、ちゃんとした名前らしい名前にならないわけですからね。
あと、オリガミアンパンマンとかの、キャラ扱いすべきかただの物扱いすべきか悩むやつもいるし。

アンパンマンDBとドラゴンクエスト10

アンパンマンDB(記事更新)

コラムから転記。
コラムのほうだと、まとめて書いていること前提の書き方になっている部分があるので、細かい部分は調整しています。

ドラゴンクエスト10(おきがえリポちゃん)

星降りのローブ
おきがえリポちゃん ~ 星降りのローブ ~ (2024/11/21)|目覚めし冒険者の広場
今月の貸衣装。
リポちゃんがわたわた言ってたし、わたぼうモチーフかな。
顔色の似ているミフミンを本人と並べてみました。
意外と似ているようで似ていない…。

他の写真は以下から。全部わたぼう装備。
写真置き場「2024/11/25」

WinUI 3(Today I Learned)

スレッド機能の移行 - Windows apps | Microsoft Learn
WinFormsでも厄介だった非同期処理でのUI処理。
WinFormsで使ってた方法そのままは無理なので、ちょっと違う方法になります。
とはいえ、使うメソッドが変わっただけで、メソッドを一枚噛ませてやるという構造自体は変わらない模様。

ListViewBase.ScrollIntoView メソッド (Windows.UI.Xaml.Controls) - Windows UWP applications | Microsoft Learn
そんでもってこっち。
ListViewはプログラムで選択を変えても自動でそこまでスクロールしないので、同じくプログラムでスクロールさせてやる必要がありました。
とはいえ、どこまでスクロールするかを指定する必要はなく、メソッド一つでよしなにしてくれます。

アンパンマンDBとWinUI 3

アンパンマンDB(記事更新)

コラムから転記。
転記元の時点で文章がおかしな部分があったので、コラムともども修正しています。

WinUI 3(Today I Learned)

データ バインディングの詳細 - UWP applications | Microsoft Learn
これまで「Binding」によるバインディングしか使ってなかったけど、「x:Bind」によるバインディングも調べてみました。
「Binding」が動的に解決するのに対して、「x:Bind」は静的に解決するということ。
つまりまあ、コーディング中にもう既にどこからデータが来るのかわかっているということですな。
で、コーディング中に既に分かっているので、インテリセンスがどんどん自動的に候補とかを出してくれるし、実行中にデータを探しに行ったりしないので、動作も高速と。
「Binding」でしんどい部分があったから「x:Bind」を調べ始めたんですが、思ったよりだいぶいいですね。
もちろん、やりたいことを全部簡単に完全にできるというわけではないですが。

アンパンマンDBと.NET 9

アンパンマンDB(記事更新)

来週の放送情報。

.NET 9

Visual Studio本体のバージョンを上げたら.NET9が使えるようになっていました。
WinUI3試してるプロジェクトでもさっそく適用。
今のところ、ビルドが問題なくできたのを確認できただけで、新機能とかはまだ見ていません。
C#13も使えるはずなんで、コードがもっといい感じになるはずなんですよね。
いつもの流れなら、普通にプログラムを組んでいたら、コード解析が新機能を提案してくるという形で触れることになると思いますが。

アンパンマンDBとWinUI3

アンパンマンDB(記事更新)

コラムから転記。

WinUI3(Today I Learned)

ピッカーでファイルやフォルダーを開く - UWP applications | Microsoft Learn
Windows App SDK, WinUI3, Desktopでファイル選択ダイアログを表示する #C# - Qiita
ファイルダイアログを開く方法。
やっぱりWinUI3でもファイルの読み書きはしたいですからね。
エラーなく動かすためには気持ち悪いおまじない書かないといけないというのが残念なところ。
将来的に開発が進んで不要になったらいいけど、マイクロソフトのこれまでから考えると、普及しないまま開発が止まって立ち消えるというのもありうる…。

アンパンマンDBとそれいけ!アンパンマン ばいきんまんとえほんのルルン

アンパンマンDB(記事更新)

#2025年はアンパンマンでこんなエピソードが観たい」の追加です。

アンパンマンDB(システム)

PHP: fputcsv - Manual
> escape が空の文字列("")以外に設定されているとき、 » RFC 4180 に準拠しない CSV が生成されたり、PHP の CSV 関数を介してラウンドトリップ(往復変換)でデータが壊れる可能性があります。
CSVが変な理由、これでした。
エスケープ方法設定したらバグるから設定消さなきゃいけないって完全に罠じゃねーか!!
アンパンマンDB以外のCSV出力機能も同じ罠踏んでそうな気がするので、他も確認してから修正版アップしようと思います。

それいけ!アンパンマン ばいきんまんとえほんのルルン


DVD買いました。
家でゆっくり見ても結局何食ってるのかよくわからなかった。

アンパンマンDB

アンパンマンDB(記事更新)

収録内容確認したので、収録話更新しました。

コラムから転記。

アンパンマンDB(システム)

CSV出力を調整中。
一覧画面用のHTMLをそのまま表示するようになっているのですが、さすがにそれじゃCSVの意味がないだろうってことで。

ドラゴンクエスト10(ミフミン)

グランゼドーラ領
たまってたメタル招待券とか依頼書とか消化しまくってた!
おかげでレベルかなり上がったけどまだまだ!

WinUI 3

Config.Netで設定読み書きうまくいきました。
デフォルト値とか項目名の別名作れたりするし、初期値→設定ファイルで上書き→コマンドライン引数でさらに上書きみたいなこともできるし、ファイルから読み込んだ設定は自動で同じファイルに保存されるし、標準のWindows.Storage.ApplicationDataよりむしろ便利。
あとは、CommandBarでツールバー的なものを作ってみたり、ページ遷移で値を受け渡すのとかやってみたり。
着実に作りたいものに近付いてきた感があります。
まあ、作ってるのは一般公開しない自分専用ツールですけどね。

アンパンマンDBとWinUI 3

アンパンマンDB(記事更新)

来週の放送情報。

WinUI 3

Windows.Storage.ApplicationData使ったら使ったでエラーが起きました。
Unpackagedだと制限かかるみたいね。
昨日紹介した記事の後半に書いてあったConfig.Netならいけるのかな?

アンパンマンDBとWinUI 3

アンパンマンDB(記事更新)

Blu-rayの情報出るの待ってたんだけど、結局なさそうだったので、DVDの情報を追加。

WinUI 3(Today I Learned)


設定ファイルはどうするのかなって思って昔ながらのSettings.settings追加してみたらこの通り。
参照が足りないといわれつつも、必要な参照は候補に出ず、どうやら昔と同じ方法では動かないようです。

Recommended way of doing user settings with WindowsAppSDK 1.0? · microsoft/WindowsAppSDK · Discussion #1478
ここを見る感じ、UWPのやり方を踏襲して、Windows.Storage.ApplicationDataを使うのがいいのかな。

アンパンマンDBとドラゴンクエスト10

アンパンマンDB(記事更新)

コラムから転記。

ドラゴンクエスト10(しろいコキン)

伝説の三悪魔闘

  • 【コイン】伝説の三悪魔闘をはじめて倒した!

試しに無策で行ってみました。
1回負けて、2回目で勝ちました。
みんな一斉に動き出すので、防御主体で戦うのがよさそう。
ブレイクブレスと煉獄火炎のコンボがつらいので、ブレス耐性優先がいいかな。

バラモスブロス闘
最初の一匹倒すと一気に楽になるね。
順当に強かったです。

PHP8.3とドラゴンクエスト10

PHP8.3

メテオンもどきのあれ以外は特に問題なさそうだったので、本番適用。
今のところ問題は起きてなさげ。
PHP8.4もリリース間近ですが、しばらくは様子見です。

ドラゴンクエスト10(しろいコキン)

7.2で追加された強ボス一通りやってみました。
まあ基本的には昔の強ボスと同格なので、そんなに苦戦せず。

(ストーリーボスのネタバレなので)

邪教祖サダク強 ショック

  • 【強モード】邪教祖サダク強をはじめて倒した!

大切な家族を失った遺族の弱みに付け込んだド畜生。
こちらのレベルが高いこともあって、特に強さは感じなかった。

スイーツトロル強 ショック

  • 【強モード】スイーツトロル強をはじめて倒した!

飴舐めてるやつ。
強モードになっても飴舐めまくってたけど、まめちしきでは飴への言及なし。

グレイブディガー強 ショック

  • 【強モード】グレイブディガー強をはじめて倒した!

なんかピラミッドの奥で出くわしたやつ。
こいつだけちょっと強く感じた。
超ちからためからのノータイムはげしく斬り裂くで一度死んだ。

魔勇者アンルシア強 ショック

  • 【強モード】魔勇者アンルシア強をはじめて倒した!

本編では地獄の連戦であまりにしつこくしんどかった魔勇者。
強ボスでは闇のころももなく連戦もなく、聞き分けのいいお嬢様でした。
多分ネルゲル強のほうが強い。

キラーマジンガ ショック
そしてこちらが特に関係のないキラーマジンガ。

他の写真は以下から。
写真置き場「2024/11/11」

NeoMuplとアンパンマンDBとドラゴンクエスト10

NeoMupl

ファイル名編集の問題は、同じ名前に変更させないという方針にしました。

アンパンマンDB(記事更新)

コラムから転記。

ドラゴンクエスト10

毎月10日はDQXで遊ぼう! ~DQIIIコスプレパーティー~ (2024/11/5)|目覚めし冒険者の広場
ドラクエ3リメイク発売間近ということで、コラボイベント的なのやってたみたいですね。
今んとこ3リメイクに関しては買う予定ないですが。

HD-2D版『ドラゴンクエストIII そして伝説へ…』発売 (2024/11/8)|目覚めし冒険者の広場
で、テンの日とは別のコラボで、伝説の三悪魔闘カードをもらいました。
闘…?

NeoMupl

ひとまず、アンドゥ・リドゥ機能、実装しました。
再生日時まで履歴記録時のものを再現してしまうとか、ファイル名編集時が怪しそうとか、ちょっと懸念点は残っています。

再生日時は、うっかりミスの復元のためだから、うっかりミスしてから元に戻すまでの間に再生することはないだろうし、気にしないというのもありかも。

ファイル名編集がちょっと厄介そうで、もともとの仕様として、他の項目と同じファイル名にすると、統合されちゃうんですよね。
今回の実装だと、このパターンがおそらく復元できません。
とはいえ、統合する仕様自体、私もすっかり忘れていた仕様なんで、編集で他の項目と同じファイル名にするのを禁止する仕様に変更してもいいかもしれません。
そうすれば、アンドゥのほうはシンプルな実装を維持できるはず。

アンパンマンDBとNeoMupl

アンパンマンDB(記事更新)

来週の放送情報。
おくらちゃんの肩に乗るサンショウくんが可愛いな。

NeoMupl

アンドゥ・リドゥの具体的な実装はまだだけど、呼び出す口は作りました。
中身の実装もそんなに難しくはないとは思います。
追加に対しては、記録時に追加分を記憶、アンドゥで削除、リドゥで記憶したものを追加。
削除に対しては、記録時に削除分を記憶、アンドゥで記憶したものを追加、リドゥで削除。
変更に対しては、記録時に変更前・変更後を記憶、アンドゥで変更前を上書き、リドゥで変更後を上書き。

メテオンもどきとPHP8.3とNeoMupl

メテオンもどき

ゲーム本体はもうとっくに動かないんだけど、微妙な警告が出ていました。
PHP8.3の動作確認中だったのですが、バージョンアップの影響かどうかは不明です。
どのみち、良い傾向とは言えないので、修正しています。

PHP8.3

というわけで、ステージング環境的な場所で、動作確認中。
表示時にエラーが起きないかどうかだけなら、クローラーを走らせればいいだけなので楽。
まあ、でたらめに走り回るので、エラー発見効率はお察しですが。

NeoMupl

コミットメッセージが紛らわしいですが、アンドゥ・リドゥ機能の実装を始めました。
GitHub Copilot を試しに使ったんですが、チャット機能で生成させると微妙で、履歴の一動作に相当するインターフェースを作ってやると、それに沿っていい感じに作ってくれました。
アンドゥ・リドゥ機能自体はエディタ系のプログラムでは定番なので、お手本となるコードも豊富なんでしょうね。
こっから先の、各動作を実際にやり直す機能は、さすがに自力で実装しようと思います。

HTMLとアンパンマンDBとPHP8.3

HTML

とりあえず主要なファイルは一通りアップ終わりました。

アンパンマンDB(システム)

また発動していないバグ修正。
話数が空欄じゃなくて「0」になっていた場合に、「第0話」とかになってしまうんですが、アンパンマンDB的には「0」も空欄扱いしたいので、空欄の処理に飛ぶようにしました。
さっきのHTMLと一緒にアップ済みです。

PHP8.3

もうそろそろPHP8.4の正式リリースも近そうですが、うちはまだ8.2だったので、ひとまず8.3まで上げることにしました。
とりあえず開発環境での動作は一部のライブラリ以外はコードの修正なしで大丈夫そう。
本番サーバーはオプションを変えるだけだからいいとして、DockerとCI環境も対応しておかないと。

アンパンマンDBとXdebug

アンパンマンDB(記事更新)

コラムからの転記。
この程度なら毎日いっぱいやってもいいのにね。

アンパンマンDB(システム)

リストをNULL検索できないバグを修正しました。
ただ、今のところ、何もない項目はNULLじゃなくて空文字列が入っているので、実質的に影響はありません。

Xdebug

Xdebug - Debugger and Profiler Tool for PHP
Xdebug導入しました。
すなわち、Xdebug使わない縛り辞めました。

もともとデバッガとしては、PHP標準のphpdbgを使ってました。
PHPUnitのカバレッジもphpdbgだったんですが、PHPUnit10以降(最新版は11)には使えなくて、phpdbgのために古いのを使う続けるのも厳しいなって思ってました。

カバレッジ計測の選択肢としては、PCOVもあったんですが、あんまり更新されてなさそうだったし、カバレッジ「だけ」というのもどうかと思ったので、デバッグ並びにカバレッジ計測の定番、Xdebugを導入した次第です。

そもそもXdebugを避けてphpdbgを使っていたのは、XdebugはPHP標準に入っていないというのと、カバレッジ計測が遅いという話を聞いたからだったのですが、実測してみると、今はXdebugのほうがphpdbgより1割ほど早く終わりました。

WinUI 3(Today I Learned)

DataGrid - Windows Community Toolkit | Microsoft Learn
ListView クラス (Microsoft.UI.Xaml.Controls) - Windows App SDK | Microsoft Learn
これまでDataGridViewとかでやっていたことをやろうと思ったら、素直に考えればDataGrid。
ただ、WinUI 3では標準機能ではなく、NuGetでライブラリとして導入する必要があります。
標準機能にあるListViewは、ヘッダ表示とかは期待できませんが、テンプレートをうまく使えば、複数列表示も可能です。
外部依存を不必要に増やすのはあまり面白くないし、いったんListViewを試してみようかな。

デ・キリコ展


開催中の展覧会 - 神戸市立博物館
見てきました。
形而上絵画の画家だそうです。
形而上とか言われてもよくわかんなかったんだけど、普通の画家としての普通の絵から、段階を追って形而上絵画の要素を紹介していく構成の展示で、少しでも理解できたような気がします。

モンスターハンターワイルズ


『モンスターハンターワイルズ』オープンベータテスト実施! |モンスターハンターワイルズ|CAPCOM
ベータ版、入れてみました。
まだキャラクリとチュートリアルしかしていませんが、とりあえず、グラフィックあたりは確認できました。
4Kだと中ぐらいの設定でもフレームレート安定せず。
解像度を最低まで落とすと、ウルトラでもいい感じに動きました。
ただ、各所で報告されているローポリ化は起こらなかったものの、地形のポリゴン欠けは起きていました。

アンパンマンDBとアンパンマンワンドロ

アンパンマンDB(記事更新)

来週の放送情報。
変身カードご無沙汰ね。

アンパンマンワンドロ

Twitter APIの関係で止まっていたので、今日は手動開催。
一応、APIの影響を受けないお題ガチャまでは自動で動いていたので、ツイートと、ガチャ結果の登録だけ。
ツイートできなくてもガチャは回してるんだから、失敗時にもガチャ結果の登録だけは自動でしてもいいかもしれませんね。
お題告知後にAPIが回復したので、開始と終了の告知は再び自動でできています。

<2024年12月 2024年10月>