もなーのあれこれ

血に飢えたハムスターに飢えたあかちゃん

【アズレン攻略wiki】똥 구멍 이구아나 결국 무너져 버린다!!!【続きはこちら】

はじめに

f:id:Monaaaaa:20200504060453p:plain

作るぞ作るぞ作るぞ作るぞ作るぞ!!!!!!!!!!!!!!



在宅期間中暇なので(むむむ???)久しぶりにシコシコ作ります。

とGW前の木曜日に考えていたのですが、
翌日の金曜日の朝にチンコ搔きながら煙キャンディー(配慮表現)なめてたら
電話かかってきて急遽午後から出勤になりました、サイコ~~(^^♪





で、会社で仕事するフリしながらガワだけ作ってました。(強者)

f:id:Monaaaaa:20200504062243p:plain

データグリッドビューのサイズとか列幅とかは最後に適当に調整します。
下に謎の空間があるのは頭が病気だからです。

f:id:Monaaaaa:20200504071740p:plain


↑みたいな感じでファイル選択ダイアログからCSV読み込んでフォーム上に表示させる感じです。

それではさっそくSample1.csvを読み込んでみましょう。(急に何??)







f:id:Monaaaaa:20200504063515p:plain


おお~
とても強そうなデッキが読み込まれましたね?

今回CSVファイルの操作にはCsvHelperというライブラリを使用しました。
オブジェクトとのマッピングなんかも簡単にできるのでとても良いと思いました。(感想文)

FileIO.cs

class FileIO
    {
        private string TargetPath;

        public FileIO(string targetPath)
        {
            this.TargetPath = targetPath;
        }

        public ArrayList ReadCsv()
        {
            var results = new ArrayList();
            using (var fileReader = new StreamReader(TargetPath, Encoding.GetEncoding("utf-8")))
            using (var csvReader = new CsvReader(fileReader, CultureInfo.InvariantCulture))
            {
                csvReader.Configuration.RegisterClassMap<CardDataMapper>();
                csvReader.Configuration.HasHeaderRecord = true;

                foreach (var item in csvReader.GetRecords<CardData>())
                {
                    results.Add(item);
                }
            }
            return results;
        }

        public void WriteCsv(ArrayList arrayList)
        {
            using (var fileWriter = new StreamWriter(TargetPath, false, Encoding.GetEncoding("utf-8")))
            using (var csvWriter = new CsvWriter(fileWriter, CultureInfo.InvariantCulture))
            {
                csvWriter.Configuration.HasHeaderRecord = true;
                csvWriter.Configuration.RegisterClassMap<CardDataMapper>();
                
                csvWriter.WriteRecords(arrayList);
            }
        }
    }


CardData.cs

 class CardData
    {
        public string CardName { get; set; }
        public int CardCount { get; set; }
    }

CardDataMapper.cs

class CardDataMapper : ClassMap<CardData>
    {
        public CardDataMapper()
        {
            Map(x => x.CardName).Name("カード名");
            Map(x => x.CardCount).Name("枚数");
        }
    }


Sample1.csv

"カード名","枚数"
"強欲な壺","39"
"ゴブリンスクラム","1"


ただデータグリッドビュー上のデータをCSVに出力する際にダブルクォートを付ける方法が
公式読んでもよくわかりませんでした。というかハロー以外の英語わかりません。(ドン!!!!!)


とりあえず今後は枚数列のセルをスピンボタン付きのセルにしたいと考えていますが
どうやらそんなものは標準の機能としては無いようでカスタムコントロールとして自分で作らないといけないっぽいです。


あと肝心なトップから引いてくる確率も表示しないといけませんが痴呆なので3日後くらいには忘れていそう。

まぁしばらくコロナで快適在宅キャンペーンが続きそうなので適当に作っていきます。(完)

本編

f:id:Monaaaaa:20200504065836p:plain

..................................................ウム

MP13000でわりと余裕がありました。
次弾でも刺身にたんぽぽを載せるかのようなデッキが強ければ狙えるかね。



最近気に入ってる構築貼っておきます。


式神ウィッチ
f:id:Monaaaaa:20200504070537p:plain


クオンのちんぽしゃぶっとけば勝ちます。





機械自然ドラゴン
f:id:Monaaaaa:20200504070747p:plain


ヴァイディのちんぽしゃぶりながら神のケツ掘っておけば勝ちます。


構築とは関係ないですが、こないだレートの対戦相手に「バトルシャドウバース!!!」とチャット送ったら普通にシカトされました(泣)

アズールレーン

f:id:Monaaaaa:20200504071232j:plain

ニチャァ.......................................................