F○rsp○ken

いちおう伏せましたw

 

気にはなってたんだけど、様子見で買わないで良かったわー。

レビューが散々な結果のようです。

内容以前に主人公が好みじゃない。FF15のチームが作ってんの?これ。

もっと可愛くしてくれ!wwwww

可愛さが足りないよ!

可愛さは最重要ファクターだよ!!

PC 版も出ていますし、そんなのは MOD でどうにかなるんですよ。たぶんw

でもシナリオがいまいちとか、メインシナリオがすぐ終わるとか、オープンワールドっていってもハリボテ感が強すぎて、探索が楽しくないとか致命的じゃないですかね?w

自分みたいな Skyrim が大好きな人にはたぶん無理なゲームなんだろうなと思います。

Skyrim って「オレ、この世界で生きてる!」感がハンパないでしょ? 没入感すごいよね?「オレはこの世界が好きだ!滅んで欲しくない!」って心から思うよね?w そのためにゲーム世界で頑張れるよね? 主人公とシンクロできるじゃん? プレイしたことある人ならわかると思うけど。そう思えないとダメよね。グラフィックがいくら良いっても、オープンワールドってだけじゃ無理だねw うん。

(Skyrim は ENB やらいろいろ MOD 入れれば最新の AAA タイトルにも引けを取らないッグラフィックにする事は出来ます。ただ DX11 ゲームなんでグラボの性能活かしきれないのはある。)

閑話休題

そんなわけで F○rsp○ken はスルーして、ひきつづき Witcher 3 やります。主人公がオッサンだけど、結構楽しいよ。うん。鋼の剣と銀の剣を二本持つ必要があるのかってのは未だに謎だけどねwww

で、NPCがうるさいのよ

・なんで白髪なんだ?とか

・なんでそんな青白い顔してんだ?とか

・ネコみたいな目してんな!とか

・なんで剣を2つ持ってんだ。しょっちゅう無くしちまうからか?とか

・ウィッチャーかよ。チッ(舌打ち) みたいなやつとか

 

まあ、ウィッチャーが普通の人間では無くて、卑下される存在てか、嫌われてるって事を強調したいんだと思うけど、もうね正直ウザい。さっきみたいな事を言ってくる NPC は片っ端から叩き斬りたいwwwww 「うっせえぞ!このヤロウ!ぶち○すぞコラ!」って思うwww そんなの思っても言うもんじゃない。口は災いの元ってことわざ知ってるか NPC 共よ。それからな、人を見た目で判断するのは愚か者がすることだ。

 

でもウィッチャーについて肯定的な事を言う NPC が増えてきたような印象はあるんだけど、主人公の行動によって今後変わって行くのかね。そういう演出を意図してんのかな?まだわからんけど。

不安定だな

ウィッチャー3だが、もう発売して結構経っているゲームだと思うんだが、未だによく落ちるのはなんなんだ。

・ファストトラベルのロード時に、結構に落ちる。

・洞窟で水中を泳いでいる時に、壁の中が見えたり壁にのめり込んでしまう。

・下半身が浸かるような浅瀬の水中でスタックする。

・水際から陸にまったく上がれない。

などのバグに遭遇した。発売から時間が経っているはずのゲームなのに品質は良くない。ろくにMODは入れてないので、MODのせいとは考え難いんだが。

あとはバグでは無いが、

・操作性は以外と良くない。最近のゲームと違い、壁や崖などはまったくよじ登れない。ベセスダジャンプも使えないw

・風景が淀んでいる感があって色合いがいまいち。スクショ撮ろうなんて気にはまずならない。

などは気になる。

色合いが気に入らない点については Reshade とか入れて調整するのが良いのかもしれない。操作性が悪い件についてはどうにもならない。

 

NT延期の件

運営の皆様、頑張ってください。応援しています。

続報は 1/25 に公式発表するとのことです。

 

NTは外れたけど。

NTは外れたけど。

NTは外れたけど。

NTは外れたけど。

 

頑張って!応援してます!

それぐらいしか言えないけど、

頑張ってください!

サービス開始を心待ちにしております。

オブジェクトへの参照

バグの例
まずバグの例を見てください。

1行分の文字列を保持する Data クラスを使用して、
ファイルの各 1 行を Data クラスのリストを使って処理をする
という簡単なプログラム例です。

Program.cs
プログラムのエントリポイントです。昔で言うところの Main 処理に該当します。

using Sample1;

SampleClass sampleClass = new();
sampleClass.SampleMethod();

Data.cs
各行の内容を保持する Data クラスです。

namespace Sample1
{
    internal class Data
    {
        public int Row { get; set; }
        public string Line { get; set; }

        public Data()
        {
            Row = 0;
            Line = string.Empty;
        }

        public Data(int row, string line)
        {
            Row = row;
            Line = line;
        }
    }
}

SampleClass.cs
実際の主処理を行う SampleClass です。

namespace Sample1
{
    internal class SampleClass
    {
        public void SampleMethod()
        {

            List<Data> list = new();
            Data data = new();

            int row = 0;
            foreach (string line in File.ReadLines(@"input.txt"))
            {
                row++;
                data.Row = row;
                data.Line = line;
                list.Add(data);
            }

            foreach (Data _data in list)
            {
                Console.WriteLine("{0}:{1}", _data.Row, _data.Line);
            }
        }
    }
}

input.txt
このプログラムへ入力する input.txt です。
Visual Studio を使用する場合は、プロジェクトにテキストファイルを追加して、
以下のように適当なデータを 3 行ぐらい用意して保存してください。
さらに、プロパティで [出力ディレクトリにコピー] を [常にコピーする] に設定してください。

あいうえお
かきくけこ
さしすせそ

このプログラムを実行するとコンソールに

3:さしすせそ
3:さしすせそ
3:さしすせそ

と最後の行を 3 回表示します。
これは期待していた出力内容ではありません。

バグの原因
では、なぜバグになってしまったのでしょうか。
それは、オブジェクトを保持する変数への代入は、「参照渡し」だからです。
例示したプログラムでは Data クラスはループ外で 1 度しか new しておらず、
ループ内で list に追加しています。プログラムが保持しているオブジェクトを図示するとこうです。

「参照渡し」なので list には同じ Data オブジェクトの参照が Add されます。
最後に Data オブジェクトに格納したのは、3 行目のデータですので、
3 行目のデータを毎回表示するわけです。

バグ修正
まずはバグ修正したものを図示しておきます。

このように各行を処理する度に Data オブジェクトを用意し、
そのオブジェクトへの参照を list に追加しなければいけません。

SampleClass.cs
修正した SampleClass です。

namespace Sample1
{
    internal class SampleClass
    {
        public void SampleMethod()
        {

            List<Data> list = new();

            int row = 0;
            foreach (string line in File.ReadLines(@"input.txt"))
            {
                row++;
                Data data = new();
                data.Row = row;
                data.Line = line;
                list.Add(data);
            }

            foreach (Data _data in list)
            {
                Console.WriteLine("{0}:{1}", _data.Row, _data.Line);
            }
        }
    }
}

このようにループ内で Data オブジェクトを作成します。
もう一度ビルドして実行すると、

1:あいうえお
2:かきくけこ
3:さしすせそ

今度は正しい結果が得られました。
では、今回のまとめです。

まとめ
オブジェクトを格納する変数は、オブジェクトへの参照を保持しているだけです。
オブジェクトの実データを保持しているわけではありません。

課題
例示したサンプルプログラムはまだ改良の余地を残しています。
どこをどんな風に直すのが適切なのか考えてみてください。

(Data クラスのコンストラクタにヒントがあります。)

ブラウザのショートカットがおかしい件が解決

umeaji.hatenablog.com

これ。

犯人は ESET。おまえか ESET!

 

しょちゅうやらかしてるからマイクロソフトのせいかと思ってたよwww

HAHAHAHAHA、ごめんなマイクロソフトwwwwwwww

 

解決方法:

ESET の[設定]-[セキュリティツール]-[すべてのブラウザーを保護]

を OFF にすればショートカットが使えるようになります。

 

注意事項:

なお、OFF にする際はよく考えてから行うようにお願いします。

「ショートカットが使えない不便さ」と「セキュリティリスクが大きくなる」

この2つを天秤にかけて、どっちが自分にとって良いことなのか、よーく考えてください。

この記事はセキュリティリスクを大きくする事を推奨するものではありません。上記の解決方法を実施した結果、何か損害を被ったとしても、それはすべてあなた自身の責任です。当方は一切関知いたしません。