ニンテンドースイッチのゲーム50本遊んで感想書いたのでまとめ(23〜47) 探偵..
こちら、すばらしいまとめですね。アドベンチャーゲームがたくさん紹介されています。自分もプレイ済みのゲームが一部含まれていて、それゆえ「好みが合いそう!」とピンときたので参考にして色々やってみたいな、と思いました。レインコードはやらなきゃなーと思っていましたし。
ただ最近はゲーム機起動するにもエネルギーが必要で、どこまでやれるかは分かりませんが…。うーん、ADVも中高生の頃はやりまくっていたんだけどなあ。
ニンテンドースイッチのゲーム50本遊んで感想書いたのでまとめ(23〜47) 探偵..
こちら、すばらしいまとめですね。アドベンチャーゲームがたくさん紹介されています。自分もプレイ済みのゲームが一部含まれていて、それゆえ「好みが合いそう!」とピンときたので参考にして色々やってみたいな、と思いました。レインコードはやらなきゃなーと思っていましたし。
ただ最近はゲーム機起動するにもエネルギーが必要で、どこまでやれるかは分かりませんが…。うーん、ADVも中高生の頃はやりまくっていたんだけどなあ。
PythonとC++で、同じような実装をしたつもりが結果が異なるので少しハマりました。
# Python import cv2 import numpy as np mat = np.zeros((100, 100), np.uint8) + 100 cv2.rectangle(mat, (20, 20), (80, 80), 128, cv2.FILLED) roi = mat[20:80, 20:80] mat[20:80, 20:80] = cv2.blur(roi, (11, 11))
// C++ cv::Mat mat = cv::Mat1b::zeros(100, 100) + 100; cv::rectangle(mat, cv::Rect(20, 20, 60, 60), cv::Scalar(128), cv::FILLED); cv::Mat roi = mat(cv::Rect(20, 20, 60, 60)); cv::blur(roi, roi, { 11, 11 }); // この時点のmatが、Pythonと異なる
まあこの例だと一目なんですが、実際はもう少し入り組んでいたので最小化するのに苦労しました。roiにだけ処理したいのですが外側の画素値も見ちゃうんですね。それはそうか、という気もするような、しないような。本能的にコピーを避けようとしてしまうのですが、Pythonと同じ結果にしたければ、コピーすれば良いです。
cv::Mat mat = cv::Mat1b::zeros(100, 100) + 100; cv::rectangle(mat, cv::Rect(20, 20, 60, 60), cv::Scalar{128}, cv::FILLED); cv::Mat roi = mat(cv::Rect(20, 20, 60, 60)).clone(); cv::blur(roi, roi, { 11, 11 }); mat(cv::Rect(20, 20, 60, 60)) = roi;
逆にC++の元の実装と同じ挙動をPythonで実現したくなったら、結構面倒そうですね。
ちなみにblurのboderType引数にBORDER_ISOLATEDというものがありますが、これを使っても外側の値は参照されるようです。コメントにはdo not look outside of ROI
と書いてあるんですが、これはまた暇なときにソースを読んでみようかな。
病気になっていつまで生きられるか分からないしiDeCoはいいかな…という気持ちと、老後が不安だし2000万くらいは貯めておこうという気持ちがあり、どっちやねんと思いつつぼんやり生きている。まあ、そんなに稼いでいるわけではないからNISAで十分ではあるかもしれない。新NISAも始まるのでもうこれだけで良いでしょう。
血液透析患者の予後については楽観的な話も悲観的な話も、ネット上にはなんでもあるけれど日本の透析医療は移植が(法的に)弱い分進んでいて30年以上透析している人も普通にいるし、当時よりは今の方が進歩しているものもあるので合併症などなければ人並みには生きるんじゃないかという気もしている。なんやかんや9年くらい続けていて、最近はそんなに変化はなさそうですが。電解水透析という言葉は出てきているけどこれは利用していないし。
仮に長生きしても「老後の楽しみ」なんかそんなにないだろうという気もしている。体の自由は常に今が一番効くはずなので、やりたいことは今やるべきなのでしょう。食事に限っては、将来的に腎移植ができて食事制限がなくなる可能性はあるけれど、その頃は胃が終わっているかもしれないし…。宵越しの銭は持たぬとまではいかないものの、貯め込んで使わずに終わるよりはそれなりに使っていく方がいいのだろうなぁ。
うーん、まとまりがない。結局行き当たりばったりですな。
たとえばOpenCVで以下のようなコードを書くと落ちるのは、分かるんですが、分からないときがある。
cv::Mat GetImage() { std::vector<uint8_t> buf = ...; return cv::Mat(128, 128, CV_8U, buf.data()); } const auto mat = GetImage(); cv::mean(mat); // 死
このくらい近ければぱっと見でも分かるのですが、実行時エラーになるので距離があると悩んでしまったり。cv::Matのこのコンストラクタは渡されたバッファをコピーしないので、関数を抜けると参照先(buf変数)が解放されてしまうというやつ。
機械学習ライブラリとかでもデータ渡してテンソルを作るぞ!みたいなクラスで同じ事をやって、計算中に落ちてあれーってなったり。
毎回コピーするような実装だとパフォーマンスも気になってしまうのでそれはそれで…ということで、C++難しいです。マニュアルをちゃんと読みなさいという話ではあります。
Netflixはdocomo経由で契約するとお得ですよーみたいな広告を見て、そういえば最近あまりNetflix見てないな…と思い、いったん契約を解除しました。
で、どうもSpotifyも似たようなものがあるようなのでそちらは契約を切り替えてみました。
切り替えのために一度Spotifyを解約(FREEプラン)に変更してから申し込みをする必要があるということで、そのようにしたらアプリが毎日「プレミアムに戻りませんか?」と言ってきて鬱陶しかった。この辺商売としては何も言わないわけにもいかない、ということなんでしょうし、1日1回ならまぁ我慢できるかな…という感じですが、広告では儲からないんですかねぇ。
しかしポイ活とか、5000兆円あればいちいち考えなくて良くなるのにな~。まあこの手の趣味は金持ちの方が効率的にやっていそうな気がしなくもないですが。金持ちほどケチというか、ケチだから金持ちになるのか…。
あとは前に一瞬利用していたDisney+も作品が増えているので暇ができたら見てみるかな。あと、Youtube広告が気になってきたのでこのプレミアムか…うーん。ニコニコのプレミアムはずっと続けているのに、ここで躊躇うのはなんなんだろうなw