BOOK☆WALKER読み放題

以前はマガジンウォーカーというサービスを利用していましたが、

ちょっと昔にマガジンウォーカーのサービスがBOOK☆WALKER読み放題に移管され、マガジンウォーカーのサービス自体は終了してしまいました。

マガジンウォーカーは主にカドカワが刊行する月刊マガジン雑誌が定額で読み放題になるので、月刊マガジン雑誌を全部買うよりも遙かに安く済みます。

いろんな雑誌のマンガを読みたいときには非常に助かります。

オイラもカドカワの月刊誌を読んでいたので、マガジンウォーカーサービス終了に伴い、BOOK☆WALKER読み放題に登録しました。

サービス乗り換えで良かった点。

読める雑誌が増えた。ラノベも読み放題。

特にきらら関連の雑誌が増えたのは嬉しい。

しかし、デメリットもありまして、

専用アプリが絶望的に使いづらい

たぶん、Webで読んだ方がマシかも。

週刊アスキーが読めなくなった。

週刊アスキーに限らず、一般週刊誌のラインナップは全部消えました。

結局、週刊アスキーが読みたくて、Dマガジン再利用開始しました。

・・・結果的に高く付いてしまったかも。

はぁ・・・

【給付金で買った物】FitBit Versa2はただのFitBit+Alexaではなかった。

買っちった。

FitBitのスマートウォッチです。

いままではFitBit InspireHRを使用していましたが、ちょうど障害年金・雇用保険が入って、同じタイミングで父の日クーポンが送られてきたので(父ではありませんが)買っちゃいました。

いろいろ値引きして17000円程度でした。

開封。

本体と換えのバンド、充電記が入っていました。

早速充電。

スマートフォンのFitBitアプリが自動的にデバイスを検出し、すぐに使用できるようになりました。

それと同時にInspireHRは接続解除されました。

で、いろいろ弄ってみたのですが、

一番の特徴はAlexaが搭載されていることでしょう。

ただ、あくまでもFitBit Versa2の中でAlexaが動いているので、スマートスピーカーのAlexaとは連動していないみたい。そこは残念。

というか、まだまだAlexaを使いこなせていない気がする・・・。

あと、スマートウォッチなので、InspireHRにはなかった、様々なアプリをインストールして使用することができます。

インストールのアプリの設定はスマートフォンのFitBitアプリから弄ることができます。

ほとんどが英語で使い方が分かりませんが。

そもそも日本で使えるかどうかも分かりません。

あと、FitBit Payというのもありますが、日本では使用できません。

ぐぬぬ。

Bluetoothヘッドホンとペアリングさせることで、Versa2で再生した音楽を聴くことができます。

ハイレゾのflac形式には対応していない模様。

Versa2のストレージは約4GB。

Windowsストアからアプリを入手して音楽データを転送します。

ちょっとサイズは少ないですが、バンドリの曲をいくつか入れて3時間の曲ぐらいは余裕で入ったので、運動用に使用する曲を入れて使用するという使い方なら全然十分です。

Spotifyのプレミアム会員ならSpotifyと連携して音楽を聴くことができます。

おそらくAlexaと連携もできると思います。

ただ、オイラはAmazon Musicユーザーですし、そもそもWiFiの圏内でなければ再生できないのでは、と思います。

ん?Spotifyのプレミアム会員ってダウンロード再生できたっけ?

すいません、そこは試すことができないのでわかりません。

そして、これを最大限有効に生かすために。

給付金で買った物その2、WF-SP800Nを発注しました。

https://www.sony.jp/headphone/products/WF-SP800N/?s_pid=jp_/headphone/special/wf-sp800n/_product-detail2

こちらは6/27発売なので、まだ少し時間ありますが。

届いたら試してみます。

【C#】【ピクロス】【ALTSEED】解析パターン13

前回までの状況はこちら。

最新ソースはこちら。(gitHub)

https://github.com/takishita2nd/Picross

次はここを処理します。

ここは数字が[3,1]とありますが、すでに3マス塗られているので、その上にある空白はマスクされるのが確定されています。

考え方は、

・数字の先頭が解析済みである。

・マスの中で塗られている該当箇所を特定する。

・その前の空白マスをマスクする。

このロジックで行けるはずです。

        // 解析パターンその13
        // 確実に塗れない空白部分をマスクする
        private void pattern13()
        {
            // Row
            pattern13RowFront();
            pattern13RowBack();
            // Col
            pattern13ColFront();
            pattern13ColBack();
        }

        private void pattern13RowFront()
        {
            int row = 0;
            foreach (var rowlist in rowNumbers)
            {
                if (rowlist.IsAnalyzed())
                {
                    row++;
                    continue;
                }
                rowlist.AnalyzeDatas.Reverse();

                // 先頭の数字が解析済みであるか?
                if (rowlist.AnalyzeDatas[0].IsAnalyzed() == false)
                {
                    row++;
                    rowlist.AnalyzeDatas.Reverse();
                    continue;
                }

                // マスクされていない連続したマスを数える
                var dataList = getSquareDataListUnMaskedRow(row);
                if(dataList == null)
                {
                    row++;
                    rowlist.AnalyzeDatas.Reverse();
                    continue;
                }

                // 解析済みのマスを確認する
                foreach(var data in dataList)
                {
                    bool check = false;
                    int count = 0;
                    foreach(var p in data)
                    {
                        if (p.IsPainted())
                        {
                            count++;
                        }
                        else
                        {
                            break;
                        }
                    }
                    if(count == rowlist.AnalyzeDatas[0].Value)
                    {
                        foreach(var data2 in dataList)
                        {
                            if (data2.Equals(data) == false)
                            {
                                foreach(var p in data2)
                                {
                                    p.Mask();
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                        check = true;
                    }
                    if (check)
                    {
                        break;
                    }
                }

                rowlist.AnalyzeDatas.Reverse();
                row++;
            }
        }

このパターンは前から確認するパターンと後ろから確認するパターン、それを行と列に対して行うようにしています。

実行結果はこうなりました。

だいぶ埋まってきましたね。