2018年12月24日月曜日

Amazonプライムの視聴履歴

たぶんこのリンクからいける

https://www.amazon.co.jp/gp/yourstore/iyr/ref=pd_ys_iyr_edit_watched?ie=UTF8&collection=watched

amazonのトップからリンクをたどっていきたい場合は
「マイストア」→「おすすめ商品を正確にする」→「視聴済みのビデオ」

視聴履歴からのオススメより視聴履歴をすっと表示できるようにして欲しい。


2018年11月26日月曜日

【龍が如くオンライン】SSR,SRキャラ&特性一覧

龍が如くオンラインのSSR、SRキャラ一覧です。
自分が欲しい一覧表が無かったので自分用に作りました。
(※スキルやアビリティはLv5時のもの(一部例外あり)、極みの【】は必要ゲージ、スキルの【】はクールタイム)

レアリティ 属性 名前 極み スキル リーダー アビリティ アビリティ 奥義
SSR 阿久津涼 【9】残HPが高い敵2体へ攻撃力330%攻撃と56%で6.0秒間封印付与 【12】敵単体へ攻撃力350%攻撃と敵3体の防御力を8.0秒間-37%低下 心属性の味方の攻撃力が10%上昇 麻痺状態の敵に対して攻撃力を13%上昇 会心率が7.0%上昇(ドンパチ・救援イベント時は更に6.0%上昇) 襲撃部隊の獲得連撃数が25%上昇
SSR 真島吾朗 【6】敵3体へ攻撃力210%攻撃と自身の速度を10.0秒間55%上昇 【13】敵単体へ攻撃力490%攻撃と味方3体の速度を7.0秒間37%上昇 攻撃タイプの味方の会心率が5.0%上昇 体属性の敵に対して攻撃力が14%上昇 自身が状態異常時に会心率が19.0%上昇 襲撃時の獲得Pt20%上昇
SSR 田中シンジ 攻撃力が高い敵3体へ攻撃力130%攻撃と56%で6.0秒間の混乱 全味方のバトルスキルのヒートゲージ上昇量を7.0秒間50%上昇 技属性の味方の攻撃力15%上昇 ヒートゲージ5以上のとき攻撃力が9%上昇 混乱状態の的に対して攻撃力が18%上昇 襲撃部隊の攻撃力15%上昇
SSR 柏木修 封印中の敵優先で敵3体へ攻撃力190%攻撃と56%で打撲(5.0秒間で1760ダメージ) 攻撃力が高い敵3体へ70%で6秒間の封印 ヒートゲージ4以上のとき全味方の会心率10%上昇 技属性の敵に対して攻撃力が9%上昇 封印状態の敵に対して攻撃力が18%上昇 自連合の迎撃部隊の防御力7%上昇
SSR 伊達真 攻撃力が高い敵3体へ攻撃力280%攻撃と攻撃力を8.0秒間-46%低下 味方全体の防御力を8.0秒間55%上昇 技属性の味方の防御力が15%上昇 HP50%以上のとき防御力が9%上昇 速度が7%上昇(ドンパチ・救援イベント時は更に6%上昇) 迎撃部隊の防御力20%上昇
SSR 冴島大河 敵単体へ攻撃力700%攻撃とHPが低い味方3体の防御力を8秒間46%上昇 味方3体へ14秒間の無敵 技属性の味方の攻撃力が15%上昇 心属性の敵に対して攻撃力が14%上昇 自身が状態異常時に回避率が24%上昇 自連合の迎撃部隊の防御力7%上昇
SSR 火野正太郎 敵2体へ攻撃力490%攻撃と攻撃力の高い味方3体の攻撃力を8.0秒間37%上昇 敵をランダムに3回攻撃力163%攻撃 体属性の味方の攻撃力が10%上昇 混乱状態の敵に対して攻撃力が18%上昇 攻撃力が7.0%上昇(ドンパチ・救援イベント時は更に6.0%上昇) 襲撃部隊の攻撃力15%上昇
SSR A・リチャードソン 残HPが高い敵3体へ攻撃力230%攻撃と42%で出血(8秒間でHP11%減少) 敵全体へ攻撃力210%攻撃 全味方の回避率が5%上昇 心属性の敵に対して攻撃力が14%上昇 襲撃部隊の攻撃時、獲得Ptが7%上昇 自連合の襲撃部隊の攻撃力6%上昇
SSR 東出塔子 敵3体に攻撃力252%攻撃と味方全体の会心を8.0秒間32.0%上昇 攻撃力が高い味方3体へ8.0秒間会心率50.0%上昇と攻撃力23%上昇 男性キャラの味方の回避率が10%上昇 陽属性の敵に対して攻撃力が14%上昇 襲撃部隊の攻撃時、獲得Ptが7%上昇 攻撃時の獲得Pt40%上昇
SSR ユリ 状態異常中の味方優先で味方3体のHPを28%回復と状態異常回復 味方全体のHPを5秒間1秒毎に6%回復 男性の味方の攻撃力が10%上昇 自パーティの陽属性キャラクター1体につき防御力が6%上昇 ヒートゲージ5以上のときクールタイム回復を9%加速 自分のコストが15%回復
SSR 阿部雅也 打撲中の敵優先で敵3体へ攻撃力308%攻撃 防御力が高い敵2体へ攻撃力308%攻撃と打撲(5秒で1540ダメージ) 全味方の攻撃力が5%上昇 ヒートゲージ5以下のとき防御力が9%上昇 打撲状態の敵に対して攻撃力が18%上昇 自連合の襲撃部隊の攻撃力6%上昇
SSR 速度が高い敵2体へ攻撃力4760%攻撃と敵3体の速度を7秒間-37%低下 敵単体へ65%で6秒間の麻痺と敵3体のステータス上昇解除 全味方のクールタイム回復を10%加速 攻撃時10%の確率でHPが24%回復 ヒートゲージ5以上のとき防御力が9%上昇 総連撃数の75%分、攻撃時のPt増加
SSR 澤村遥 味方全体のHPを7.0秒間1秒ごとに5%回復 残HPが低い味方3体のHPを30%回復 全味方の防御力が5%上昇 自パーティの陽属性キャラクター1体につき防御力が5%上昇 防御力が9%上昇(ドンパチ・救援イベント時は更に9%上昇) 襲撃部隊が復活し、体力が40%回復
SR 八乙女静香 敵2体へ攻撃力196%攻撃と味方全体の攻撃力を8秒間32%上昇 速度が高い敵3体の速度を7秒間-51%低下 男性の味方の会心率が5.0%上昇 HP50%以下のとき防御力が9%上昇 襲撃部隊の獲得連撃数が25%上昇
SR 守屋深雪 敵単体へ攻撃力400%攻撃と80%で6.0秒間の麻痺 速度が高い敵2体へ56%で6.0秒間の麻痺 防御タイプの味方の防御力が10%上昇 麻痺状態の敵に対して攻撃力が18%上昇 迎撃部隊の防御力20%上昇
SR 古牧宗太郎 攻撃力が高い敵2体へ攻撃力265%攻撃と42%で6秒の封印 残HPが高い敵2体へ攻撃力160%攻撃と56%で打撲(5秒間で1100ダメージ) 攻撃タイプの味方の回避率が5%上昇 攻撃時10%の確率で攻撃力が6%ずつ上昇 襲撃部隊の攻撃力15%上昇
SR 山田照 残HPが低い敵3人へ攻撃力210%攻撃 敵単体へ攻撃力350%と攻撃力が高い味方3体への攻撃力を8.0秒間32%上昇 心属性の味方の攻撃力が10%上昇 攻撃力が7%上昇(ドンパチで敵陣営よりも連合Ptが少ない場合は更に11%上昇) 襲撃部隊の攻撃力が15%上昇
SR 錦山彰 残HPが高い敵2体へ攻撃力238%攻撃と自身の攻撃力8秒間55%上昇 敵をランダムに3回攻撃力112%攻撃 心属性の味方の回避率が5%上昇 出血状態の的に対して攻撃力が13%上昇 攻撃力を8%上昇させて襲撃
SR 阿久津涼 味方3体の攻撃力と防御力を8秒間32%上昇 味方3体のクールタイム回復を7秒間37%加速 補助タイプの味方の防御力が10%上昇 会心率が7%上昇(ドンパチで敵陣営よりも連合Ptが少ない場合は更に6%上昇) 自分のコストが15%回復
SR 秋山駿 敵をランダムに2回防御力無視で攻撃力154%攻撃 残HPが低い敵3体へ攻撃力126%攻撃 技属性の味方の攻撃力が10%上昇 HP50%以下のとき攻撃力が9%上昇 襲撃部隊の攻撃力15%上昇
SR ナイール 攻撃力が高い敵2体へ攻撃力350%攻撃と敵2体の攻撃力を8.0秒間-37%低下 速度が高い敵2体へ攻撃力120%攻撃と56%で6.0秒間の封印 補助タイプの味方のキャラクターの回避率が10%上昇 封印状態の敵に対して攻撃力が13%上昇 襲撃部隊の獲得連撃数が25%上昇
SR 寿朱美 敵2体へ攻撃力308%攻撃と味方全体の回避率を8秒間27%上昇 攻撃力が高い味方2体の回避率を8秒間50%上昇 全味方のクールタイム回復を10%加速 14%の確率で攻撃を回避 自分のコストが15%回復
SR 鳴海優 敵2体へ攻撃力400%攻撃と敵2体へ56%で6秒間の混乱 敵3体へ70%で6秒間の混乱 男性の味方の回避率が5%上昇 速度が7%上昇(ドンパチで敵陣営よりも連合Ptが少ない場合は更に11%上昇) 迎撃部隊の防御力20%上昇
SR 松澤恭平 味方全体のHPを15%回復 敵単体へ200%攻撃と与ダメージの20%分のHP回復 全味方の攻撃力が5%上昇 自パーティーの技属性キャラクター1体につき防御力が1%上昇 襲撃部隊が復活し、体力が40%回復
SR 灰谷学 防御力が高い敵3体へ攻撃力168%攻撃と敵3体の防御力を8秒間-37%低下 攻撃力が高い敵3体へ攻撃力80%攻撃と47%で6秒間の混乱 攻撃タイプの味方の攻撃力が5%上昇 混乱状態の敵に対して攻撃力が13%上昇 襲撃部隊の獲得連撃数が25%上昇
SR 白鳥ハヤト 敵2体へ攻撃力210%攻撃と味方3体のクールタイム回復を7.0秒間46%加速 味方3体の速度を7.0秒間51%上昇 補助タイプの味方の会心率が5%上昇 14%の確率で攻撃を回避 襲撃部隊の獲得連撃数が25%上昇
SR 熊切愛 敵2体へ攻撃力196%攻撃と攻撃力が高い味方3体の防御力を8秒間37%上昇 自身の防御力を8秒間70%上昇と10秒間の挑発 ヒートゲージ4以上のとき全味方の会心率が10%上昇 HP50%以上のとき攻撃力が9%上昇 自連合の迎撃部隊の防御力7%上昇
SR カムロップ 残HPが高い敵2体へ攻撃力190%攻撃と56%で打撲(5.0秒間で1100ダメージ) 残HPが高い敵2体へ70%で出血(8.0秒でHP9%減少) ヒートゲージ4以上のとき全味方の攻撃力が10%上昇 打撲状態の敵に対して攻撃力が13%上昇 攻撃力を8%上昇させて襲撃
SR 冴島大河 防御力が低い敵3体へ攻撃力266%攻撃と与ダメージの20%分HP回復 残HPが低い味方2体へ8秒間の不死(62%で致死ダメージを耐える) 全味方の防御力が5%上昇 自パーティーの体属性キャラクター1体につき防御力が5%上昇 迎撃部隊の防御力20%上昇
SR 高畑忍 敵3体へ攻撃力238%攻撃と攻撃力が高い味方3体の攻撃力を8.0秒間32%上昇 防御力が高い敵3体の防御力を8秒間-55%低下 男性の味方の防御力が15%上昇 襲撃部隊の攻撃時、獲得Ptが9%上昇 襲撃部隊の獲得連撃数が25%上昇
SR 大岩謙助 攻撃力が高い敵2体へ攻撃力182%攻撃と敵2体の攻撃力を8秒間-37%低下 攻撃力が高い味方3体の防御力を8秒間55%上昇 防御タイプの味方の防御力が10%上昇 襲撃部隊の攻撃時、獲得Ptに総連撃数の14%加算 迎撃部隊の防御力20%上昇
SR 火野正太郎 敵2体へ攻撃力364%攻撃と攻撃力が高い味方3体の攻撃力を8秒間32%上昇 敵2体へ防御力無視で攻撃力177%攻撃 体属性の味方の回避率が5%上昇 攻撃時10%の確率で攻撃力が6%ずつ上昇 襲撃部隊の攻撃力15%上昇
SR 一輝 敵2体へ攻撃力294%攻撃と女性の味方の速度を8秒間37%上昇 女性の味方の攻撃力と防御力を8秒間37%上昇 女性の味方の回避率が10%上昇 自パーティーの女性キャラクター1体につき自分の攻撃力が5%上昇 襲撃部隊の獲得連撃数が25%上昇
SR 亜門乃亜 味方全体の防御力を8秒間18%上昇と状態異常を回復 状態異常中の味方優先で味方2体のHPを28%回復と状態異常回復 陰属性の味方の攻撃力が10%上昇 防御力が9%上昇(ドンパチで敵陣営よりも連合Ptが少ない場合は更に9%上昇) 襲撃部隊が復活し、体力が40%回復
SR ユリ 味方全体のHPを8.0秒間1秒毎に4%回復 残HPが低い味方2体のHPを33%回復 攻撃タイプの味方の会心率が5%上昇 HP50%以下のとき防御力が9%上昇 襲撃部隊が復活し、体力が40%回復
SR 南大作 敵全体へ攻撃力125% 敵単体へ攻撃力220%攻撃と50%で出血(8秒でHP5%減少) 陽属性の味方の攻撃力が10%上昇 ボス襲撃時の獲得Ptが5%上昇 攻撃力を8%上昇させて襲撃
SR 桜庭拓海 敵3体へ攻撃力238%攻撃と防御力が低い味方3体の防御力を8秒間46%上昇 防御力が低い敵2体へ攻撃力196%攻撃と与ダメージの20%分HP回復 女性の味方の会心率が5%上昇 襲撃部隊の攻撃時、獲得Ptに総連撃数の14%加算 自連合の襲撃部隊の攻撃力6%上昇

2018年10月17日水曜日

GIPHYからツイートできない

PCブラウザでGIPHYからGIF画像をツイートしようとすると

「Looks like Twitter is experiencing technical difficulties. Please try again.」

とメッセージが表示されてツイートできません。


GIPHYの説明を探すと以下の2つを見つける事ができましたが、



上記の通りには動作せず、(ツイッターアカウントに認証していればツイートできると記述にはあります)



こちらには認証するように説明がありますが、その認証ページが見つかりません。(そもそもインターフェースが違うので古いバージョンの説明か?)


GIPHYのアプリをスマホにインストールしてツイートすればスムーズにツイートできました。
(個人的にはPCブラウザから操作できた方が有り難いですが…)



2018年9月7日金曜日

PlayMemoriesHome から Mync へ移行

自分は動画ファイルの管理にPMHを使っていたのですが、結構前から常駐ソフトがしょっちゅう「Browserは動作を停止しました」とエラーを吐いて煩わしく、サイトに掲載されている対処法でも改善しなかったためアンインストールしておりました。

代わりになるものを探しておりFavMovieAlbumというソフトも試してみましたが、残念ながら意図通りの動作をしてくれないため、さらに代わりのソフトを探していました。


そして行きついたのがMyncというソフトです。

Basic(2018年11月30日まで無料)とStandard(有償)の2種類があります。詳細は上記リンクからご参照ください。
サイトで会員登録し、私はこのBasicをインストールいたしました。
初見でちょっと操作がわかりにくかったのでメモしておきます。

画面左部の上側が「ライブラリ」下側が「フォルダー」となっています。
ライブラリに管理したいフォルダーを登録すれば良いのですが、上部メニューの「ファイル」→「フォルダーをライブラリに登録」だと画面左下のフォルダーウィンドウに当該フォルダが表示されフォーカスが移動するだけで何も起こりません。
左下フォルダーウィンドウ上の管理したいフォルダ上で右クリック、「ライブラリに登録」で処理が始まります。

ちなみに、「取り込み」を選択すると当該フォルダから別途指定したフォルダにファイルがコピーされた後ライブラリに登録されるようです。

左下フォルダを選択した際に上部に表示されるメニューで「ライブラリに登録」がアクティブでなかったり(階層が深いフォルダはアクティブにならないっぽい)、本サイトのマニュアルがわかりにくかったり、まず始めにする事がちょっと直感的でないのが残念ですが、操作感はかなり良さそうです。

以上メモまで。


2018年8月31日金曜日

Microsoft Action Pack のダウンロードページが迷子

私がいつも忘れてしまうだけですが、↓あたりが参考になるかと。
パートナー メンバーシップ センターでの個人アカウントのホーム


https://support.microsoft.com/ja-jp/help/3011409



サイト構成がわかりにくかったり、リンク切れがあったり、もう少しなんとかして欲しいと思うのは私だけでしょうか…。



2018年8月14日火曜日

Remote Desktop Connection Manager ウィンドウサイズに合わせる


上図のように「Same as client area」を選択します。
(以下、再現性ないので確証はありませんが、
RDCManのウィンドウサイズを最大化にしていると
このメニューが表示されませんでした。
ウィンドウの最大化をやめると表示されるかもしれません。)

※2018/8/21追記
上部メニューバーの「Tools」→「Option」から「Client Area」のタブを表示させると「Same as client area」が表示されません。
左ツリーの登録したサーバを右クリックで「Properties」を選択、その中の「Remote Desktop Settings」タブを開くと当該項目が選択できます。

2018年7月23日月曜日

PDFSharp MigraDoc を使ってC#でPDF生成

(正確を期するよう努力いたしておりますが、保証するものではありません。予めご了承願います。)

帳票のような物をPDF出力する必要があり、iTextSharpを久しぶりに利用しようとしたところライセンスがさらに厳しくなっており、代わりとしてPDFSharp(MITライセンス)を利用することにしました。


こちらのページから概要や特徴、ソースのダウンロードページやwiki、forumへアクセスすることができます。

概要

1.PDFSharp と MigraDoc

PDFSharp
- PDFファイルを操作するための.NETライブラリ。テキストはもちろん線や画像の描画もできる。テーブル組や自動改ページなどはない。
MigraDoc
- PDFSharpを使用してよりドキュメント作成に便利な高機能を提供するライブラリ。テーブル組や自動改ページに対応。
Mix
- MigraDocはPDFSharpで構築されているので、両者を混合して利用する事もできる。
MigraDoc Sample: Mix MigraDoc and PDFsharp - PDFsharp and MigraDoc Wiki

2.Github


ソースコードはこちらから入手できます。
samples が便利なので詰まった時は参考にされると解決するかもしれません。

準備

PDFSharp,MigraDocどちらもVisual Studio の Nuget Package でインストールできます。
上図の通り、いくつか種類があってどれをインストールすれば良いか悩みます。
それぞれの使い分けは以下の通りです。
PDF Core Build 未完成。完成すればプラットフォームに依存せずMacやLinuxでも動作する予定。
GDI+ Build .NET 2.0、C# 2 で作成。WinForms、 Web アプリケーションで動作。( WPF でも動作する)
WPF Build .NET 3.5、C# 2 で作成。その名の通り WPF アプリケーションで動作。
Hybrid Build GDI+ WPF をひとつのプロジェクトで共存。ただし、動作が重くなるなど問題があり実際のアプリケーションで利用するのは非推奨。
Supported Platforms and Technologies, Available Builds - PDFsharp and MigraDoc Wiki

サンプル

ASP.NET MVC で日本語フォントを含むPDFを出力するサンプルを作成します。
MigraDoc GDI+ を Nuget でインストールします。

日本語フォントを利用するためにはIFontResolverを継承したクラスを作成し、それをプログラムに登録する必要があります。
以下のサイトを参考にさせていただきました。

生成結果のPDFは以下の通りです。サンプルデータを作成するのにWikipediaの内容を一部利用しております。(https://ja.wikipedia.org/wiki/FIFAワールドカップ)
色付きの部分は追記した補足説明(英文字はコード内で自分が命名した変数など)で、プログラムで生成したものではありません。
(ヘッダやパラグラフにわかりやすくなるように枠線をつけています。)

Documentクラスに表紙や目次、第何章などのSection(章)を追加し、その章の中にParagraph(段落)やTable(表組み)などを追加していって文書を作成していきます。
このサンプルを作成するのに記述したコードは以下の通りです。

using MigraDoc.DocumentObjectModel;
using MigraDoc.DocumentObjectModel.Tables;
using MigraDoc.Rendering;
using System.IO;
using System.Web.Mvc;

namespace MigraDocSample.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            // フォントリゾルバーのグローバル登録
            PdfSharp.Fonts.GlobalFontSettings.FontResolver = new JapaneseFontResolver();

            //ドキュメント作成
            Document document = new Document();
            document.Info.Title = "Hello, MigraDoc";
            document.Info.Subject = "This is MigraDoc Sample.";
            document.Info.Author = "Author";
            document.DefaultPageSetup.LeftMargin = Unit.FromCentimeter(2);
            document.DefaultPageSetup.RightMargin = Unit.FromCentimeter(2);
            document.DefaultPageSetup.TopMargin = Unit.FromCentimeter(10);
            document.DefaultPageSetup.BottomMargin = Unit.FromCentimeter(5.5);
            
            //表紙セクション作成
            Section sectionCover = document.AddSection(); //Sectionを追加

            Font fontCoverTitle = new Font("yumin",30); //登録したフォント
            fontCoverTitle.Underline = Underline.Single;
            Paragraph paragraphCover = sectionCover.AddParagraph(); //Paragraphを追加
            paragraphCover.AddFormattedText("表紙タイトル",fontCoverTitle);
            paragraphCover.Format.SpaceBefore = "3cm";
            paragraphCover.Format.SpaceAfter = "3cm";
            paragraphCover.Format.Alignment = ParagraphAlignment.Center;

            Font fontDate = new Font("yumin", 8);
            Paragraph paragraphDate = sectionCover.AddParagraph();
            paragraphDate = sectionCover.AddParagraph();
            paragraphDate.AddFormattedText("Rendering date: ", fontDate);
            paragraphDate.AddDateField();
            paragraphDate.Format.Alignment = ParagraphAlignment.Right;

            //メインセクション作成
            Section sectionMain = document.AddSection();
            sectionMain.PageSetup.HeaderDistance = Unit.FromCentimeter(2);
            sectionMain.PageSetup.FooterDistance = Unit.FromCentimeter(1.5);
            sectionMain.PageSetup.StartingNumber = 1;

            //ヘッダテーブル作成
            Table tableHeader = new Table();
            tableHeader.Borders.Visible = true;
            tableHeader.TopPadding = 0;
            tableHeader.BottomPadding = 5;

            //3列作成
            var columnHeader = tableHeader.AddColumn(Unit.FromCentimeter(6));
            columnHeader.Format.Alignment = ParagraphAlignment.Left;
            columnHeader = tableHeader.AddColumn(Unit.FromCentimeter(3));
            columnHeader.Format.Alignment = ParagraphAlignment.Right;
            columnHeader = tableHeader.AddColumn(Unit.FromCentimeter(8));
            columnHeader.Format.Alignment = ParagraphAlignment.Left;

            var fontHeaderTitle = new Font("yumin", 18);
            fontHeaderTitle.Underline = Underline.Single;
            var fontHeader = new Font("yumin", 10);
            var para = new Paragraph();

            //1行目
            para.AddFormattedText("FIFAワールドカップ", fontHeaderTitle);
            var row = tableHeader.AddRow();
            row.Height = 30;
            row.Cells[0].Add(para);
            row.Cells[0].MergeRight = 2;
            row.Cells[0].Format.Alignment = ParagraphAlignment.Center;
            //2行目
            row = tableHeader.AddRow();
            para = row.Cells[1].AddParagraph();
            para.AddFormattedText("開始年", fontHeader);
            para = row.Cells[2].AddParagraph();
            para.AddFormattedText("1930年", fontHeader);
            //3行目
            row = tableHeader.AddRow();
            para = row.Cells[1].AddParagraph();
            para.AddFormattedText("主催", fontHeader);
            para = row.Cells[2].AddParagraph();
            para.AddFormattedText("FIFA", fontHeader);
            //4行目
            row = tableHeader.AddRow();
            para = row.Cells[1].AddParagraph();
            para.AddFormattedText("地域", fontHeader);
            para = row.Cells[2].AddParagraph();
            para.AddFormattedText("世界", fontHeader);
            //5行目
            row = tableHeader.AddRow();
            para = row.Cells[1].AddParagraph();
            para.AddFormattedText("参加チーム数", fontHeader);
            para = row.Cells[2].AddParagraph();
            para.AddFormattedText("32(本大会)", fontHeader);
            //6行目
            row = tableHeader.AddRow();
            para = row.Cells[1].AddParagraph();
            para.AddFormattedText("出典", fontHeader);
            para = row.Cells[2].AddParagraph();
            para.AddFormattedText("https://ja.wikipedia.org/wiki/FIFAワールドカップ", fontHeader);

            sectionMain.Headers.Primary.Add(tableHeader); //sectionにヘッダーを追加

            //本文作成
            var fontMainTitle = new Font("yumin", 14);
            fontMainTitle.Underline = Underline.Dash;
            var fontMain = new Font("yumin", 10);
            //1段落目(英文は英文のルールに従って改行される)
            var paraMain = document.LastSection.AddParagraph();
            paraMain.Format.Borders.Visible = true;
            paraMain.Format.RightIndent = Unit.FromCentimeter(5);
            paraMain.AddFormattedText("English\n",fontMainTitle);
            paraMain.AddLineBreak();
            paraMain.Format.Font = fontMain;
            paraMain.AddText(Sample.English);
            paraMain.AddLineBreak();
            //2段落目(日本語文は改行されずに)
            paraMain = document.LastSection.AddParagraph();
            paraMain.Format.Borders.Visible = true;
            paraMain.Format.RightIndent = Unit.FromCentimeter(5);
            paraMain.AddFormattedText("日本語コンテンツ\n", fontMainTitle);
            paraMain.AddLineBreak();
            paraMain.Format.Font = fontMain.Clone();
            paraMain.AddText(Sample.Japanese);
            paraMain.AddLineBreak();
            //3段落目
            paraMain = document.LastSection.AddParagraph();
            paraMain.Format.Borders.Visible = true;
            paraMain.Format.RightIndent = Unit.FromCentimeter(5);
            paraMain.AddFormattedText("日本語コンテンツ(1文字ずつ)\n", fontMainTitle);
            paraMain.AddLineBreak();
            paraMain.Format.Font = fontMain.Clone();
            foreach (char c in Sample.Japanese)
            {
                paraMain.AddFormattedText(c.ToString(), fontMain);
            }
            paraMain.AddLineBreak();

            document.LastSection.AddPageBreak(); //改ページ

            //テーブル表記
            paraMain = document.LastSection.AddParagraph();
            paraMain.AddFormattedText("歴代大会結果", fontMainTitle);
            Table tableResult = new Table();
            tableResult.Borders.Visible = true;
            tableResult.Rows.Height = 25;
            //7列作成
            var columnResult = tableResult.AddColumn(Unit.FromCentimeter(0.8));
            columnResult = tableResult.AddColumn(Unit.FromCentimeter(1.8));
            columnResult = tableResult.AddColumn(Unit.FromCentimeter(3.1));
            columnResult = tableResult.AddColumn(Unit.FromCentimeter(0.5));
            columnResult = tableResult.AddColumn(Unit.FromCentimeter(3.1));
            columnResult = tableResult.AddColumn(Unit.FromCentimeter(3.8));
            columnResult = tableResult.AddColumn(Unit.FromCentimeter(3.1));
            //ヘッダ1行目
            row = tableResult.AddRow();
            para = row.Cells[0].AddParagraph(); para.AddFormattedText("回", fontMain);
            para = row.Cells[1].AddParagraph(); para.AddFormattedText("開催年", fontMain);
            para = row.Cells[2].AddParagraph(); para.AddFormattedText("開催国", fontMain);
            para = row.Cells[3].AddParagraph();
            para = row.Cells[4].AddParagraph(); para.AddFormattedText("決勝戦", fontMain);
            row.Cells[4].MergeRight = 2;
            row.Cells[0].MergeDown = 1;
            row.Cells[1].MergeDown = 1;
            row.Cells[2].MergeDown = 1;
            row.Cells[3].MergeDown = 1;
            //ヘッダ2行目
            row = tableResult.AddRow();
            para = row.Cells[4].AddParagraph(); para.AddFormattedText("優勝", fontMain);
            para = row.Cells[5].AddParagraph(); para.AddFormattedText("結果", fontMain);
            para = row.Cells[6].AddParagraph(); para.AddFormattedText("準優勝", fontMain);
            foreach (var result in Sample.Results)
            {
                row = tableResult.AddRow();
                if (result.Organized)
                {
                    para = row.Cells[0].AddParagraph(); para.AddFormattedText(result.Number.ToString(), fontMain);
                    para = row.Cells[1].AddParagraph(); para.AddFormattedText(result.Year.ToString() + "年", fontMain);
                    para = row.Cells[2].AddParagraph(); para.AddFormattedText(result.Host, fontMain);
                    para = row.Cells[3].AddParagraph();
                    para = row.Cells[4].AddParagraph(); para.AddFormattedText(result.Champion, fontMain);
                    para = row.Cells[5].AddParagraph(); para.AddFormattedText(result.FinalScore, fontMain);
                    para = row.Cells[6].AddParagraph(); para.AddFormattedText(result.RunnersUp, fontMain);
                }
                else
                {
                    para = row.Cells[1].AddParagraph(); para.AddFormattedText(result.Year.ToString() + "年", fontMain);
                    para = row.Cells[4].AddParagraph(); para.AddFormattedText(result.NotOrganizedReason, fontMain);
                    row.Cells[4].MergeRight = 2;
                    row.Cells[4].Format.Alignment = ParagraphAlignment.Center;
                }
            }
            document.LastSection.Add(tableResult);

            //フッター作成
            var paraFooter = new Paragraph();
            paraFooter.AddPageField();
            paraFooter.AddText(" of ");
            paraFooter.AddNumPagesField();
            paraFooter.AddText(" Page");
            paraFooter.Format.Alignment = ParagraphAlignment.Center;
            sectionMain.Footers.Primary.Add(paraFooter);

            //レンダリングしてPDFを出力
            PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(true);
            pdfRenderer.Document = document;
            pdfRenderer.RenderDocument();
            using (MemoryStream ms = new MemoryStream())
            {
                pdfRenderer.PdfDocument.Save(ms);
                return File(ms.ToArray(), "application/pdf", "sample.pdf");
            }
        }
    }
}
using PdfSharp.Fonts;
using System;
using System.IO;
using System.Reflection;

namespace MigraDocSample
{
    // 日本語フォントのためのフォントリゾルバー
    public class JapaneseFontResolver : IFontResolver
    {
        private static readonly string YUMIN_TTF =
            "MigraDocSample.fonts.YUMIN.TTF";

        public byte[] GetFont(string faceName)
        {
            switch (faceName)
            {
                case "YUMIN":
                    return LoadFontData(YUMIN_TTF);
            }
            return null;
        }

        public FontResolverInfo ResolveTypeface(
                    string familyName, bool isBold, bool isItalic)
        {
            var fontName = familyName.ToLower();

            switch (fontName)
            {
                case "yumin":
                    return new FontResolverInfo("YUMIN");
            }

            // デフォルトのフォント
            return PlatformFontResolver.ResolveTypeface("Arial", isBold, isItalic);
        }

        // 埋め込みリソースからフォントファイルを読み込む
        private byte[] LoadFontData(string resourceName)
        {
            var assembly = Assembly.GetExecutingAssembly();
            string[] names = assembly.GetManifestResourceNames();
            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                if (stream == null)
                    throw new ArgumentException("No resource with name " + resourceName);

                int count = (int)stream.Length;
                byte[] data = new byte[count];
                stream.Read(data, 0, count);
                return data;
            }
        }
    }
}
Sample.XXXはサンプル用のデータです。
フォントリゾルバーに登録するファイル名は大文字小文字を区別しますので間違えると機能しません。
また、フォントリソースを忘れずに「埋め込みリソース」にする事も注意が必要です。

英文はパラグラフ内で自動的に改行されるのですが、日本語が改行されないのは上手く解決できませんでした。

この他にもPDFSharpを利用してHTMLからPDFを出力するHTML Rendererというものもあります。


以上メモまで。


【Gimp2】レイヤーの座標を指定して配置

スクリプトを登録したり自前で書いたりする方法は検索すれば別途出てきますので、ここではグリッドを使う方法をメモしておきます。

まずメニュー「表示」→「ガイドの表示」にチェックが入っている状態にします。
また、メニュー「表示」→「ガイドにスナップ」にもチェックが入っている状態にします。
そして「画像」→「ガイド」→「新規ガイド」からガイドを引く、あるいは上と左に表示されてあるルーラーをクリックしてドラッグアンドドロップする事でガイドを引きます。

あとはツールボックスの「移動ツール」を選択してガイドに合わせるようにレイヤーを移動すれば完了です。

以上メモまで。


2018年7月2日月曜日

W杯2018 日本vsポーランド 終盤の戦い方について独り言

色々と賛否巻き起こっているようですが、自分は反対です。

まず整理するために賛否の意見を大きく4つにわけます。

賛成
①結果が全て。結果が出たのだから文句言われる筋合いは無い。
②戦況的にやむを得なかった。

反対
③道義的にいかがなものか。フェアじゃない。
④他会場の試合に丸投げした。他力本願はあり得ない。

①③は感情論でどちらも議論に値しないと思います。
相手の意見を批判する際に①③をあげつらうのは論点のすり替えで、こちらも議論に値しません。
自分の意見は④ですが、過去の大会でも見られたように両者が通過確定している状態で終盤パス回しに終始して終わるというのは全く問題無いと思っています。
むしろ、そうしなければ問題でしょう。
しかし、今回は過去によくあった状況とは異なります。
他会場が引き分けになれば予選敗退となってしまう状況です。
2失点目をできるだけ回避しつつ、できれば同点も狙う。そうすべきだったと思います。
(前線に人数をかけたり、ましてやGKを上げたりはしない)
自分たちで勝利(GL通過)を掴む手段があるのに、それを放棄して他人に任せた事は勝負事を曲げてしまったと思います。

また、この試合は終盤の戦い方以外にもギャンブルと思しき行為がありました。
ベストメンバーでないスタメンを採用した事です。
それを含め勝負を曲げた事の問題点はいくつか挙げられます。
・先を見越して本来のスタメンを温存したのでしょうが、結果スタメンと控えの質の差が浮き彫りになりました。これは良い面でもありますが、両者の間に溝を生む可能性もあります。
・一部のスタメンは温存できたでしょうが、今や一番の中心選手と言っていい柴崎などは控え選手のプレーを補うためより疲弊したように見えます。
・終盤の戦術は余計な批判、雑音を生む事になりました。トーナメントの観客は当事国の人だけで無い中、ベルギー戦はアウェイのような空間になるかもしれません。
・一部報道で西野監督は「急遽この戦術をとる事を選択した」とインタビューに答えたそうです。実際この戦術をとる事を決めた直後は、確認のため少し混乱があったように見えました。ピッチ内の選手の中には確定している事で採用された戦術でなくギャンブルであった事を知らなかった選手もおそらくいたでしょう。選手は当然おおっぴらに采配を批判するような事はできませんが、色々な思いを胸に挑んでいる選手たちがこのギャンブルにさらされた事を心から納得できているでしょうか。第3戦でベストを尽くさぬまま、自身が出ぬまま危うく終わってしまう可能性があった事を。
・そしてあの戦術を採用したという事は、「あのまま日本が攻めて失点する可能性」と「コロンビアがこのまま失点しない可能性」を天秤にかけられて日本の選手が信用されなかったと同様です。選手と監督の間に不信感は芽生えてないでしょうか。西野監督が選手に謝罪したという報道もあります。


個人競技ならいざ知らず、団体競技で合意形成のされてない他力本願なギャンブルが行われた事は残念に思います。
しかし結果的にギャンブルは成功しました。
諸々の懸念を払拭しベストを尽くして欲しいと思います。

(長いひとり言になってしまった)

2018年6月27日水曜日

自作おもちゃ 日本語スクラブル?

最近3歳の娘の遊び相手をするのにネタがつきてきた感があって、五十音のカードみたいなのをたくさん用意して「Scrabble」みたいな事ができれば良いのではないかと思い立ちました。
五十音のつみきを何セットも買えれば楽なのでしょうが、そんなお金はありません。
という事で自作します。

前の投稿の五十音表はこのために用意しました。

この表データをExcelやPowerPointに貼り付けて印刷します。
また、単純に文字を増やすのではなく使用頻度に応じて作る文字を変えます。
文字の使用頻度は以下サイトを参考にしました。


それらを組み合わせて作ったのがこちら。

これをシールに印刷して。台紙に貼り付けます。

それをコツコツ切って…。

出来上がり!


反省点は台紙の選択ミス。
多少厚みが欲しかったので発泡スチロール製の物を使いましたが、
綺麗にカットしづらかったのと軽くて思った質感、操作感になりませんでした。
プラスチックや木ならより良い感じになったんでしょうが労力がかかりそうです。

それと、もう二回りくらい大きく作ったほうが良かったですね。

あとは娘にハマるかどうかですが、得てして労力やお金をかけたものよりも
そのへんの安物の方が良かったりするんですよね。

テーブル組された五十音表のテキストデータ

五十音表がちょっと欲しかったのですが、
五十音表で検索すると画像データはたくさん出てくるのですが、
テーブル組したテキストデータが見当たらなかったので作りました。

ひらがな






カタカナ




アルファベット



こんなに作る必要はなかったかもしれませんが、念の為。
Excelに書き込んでHTMLの表組みにしました。
Excelの表をHTML化するのには以下のサイトを利用させて頂いております。(便利!)


ちなみにExcelの表を逆順にするには隣接セルに連番を振ってソートしました。
(もっと良い方法があるかもしれません)
列方向のソートは「ユーザ設定の並べ替え」→「オプション」→「列単位」で行います。


2018年6月25日月曜日

サッカー日本代表

昨日のセネガル戦は少し感動してしまいました。
まさかここまでできるとは。
個人的にもう今大会は満足してしまった感すらあります。

しかし、過去の大会を振り返ると日本は苦境に立たされないと力を発揮できないのではないかと感じます。

1998年 フランス大会


前評判×
予選中に加茂監督が更迭され、岡ちゃんに交代。
自国開催の前にギリギリで初出場の切符を掴み取る。
直前に大御所であるカズを外すという決断は大きな賛否両論を呼んだ。

結果△
勝ち点ゼロで△という評価は大甘かもしれないが、初出場であの時のアルゼンチン、クロアチア相手に善戦したと思う。
消化試合ではあったが、骨折しながらも初得点をもぎとったゴンゴールは感動した。


2002年 日韓大会


前評判△
ワールドユース準優勝、シドニー五輪やコンフェデでもまずまずの結果を残す。
しかし自国開催で予選がなく、また当時自国開催でGLを突破できなかったチームは無いため大きなプレッシャーを受ける。

結果◎
自国開催でGL突破というノルマを見事達成。初の16強に。


2006年 ドイツ大会


前評判○
Jリーグの草創期を支えた神様ジーコが監督に。
中盤の4人は黄金のカルテットと呼ばれ期待される。
本戦直前の親善試合でも最高の結果を出し期待が高まる。

結果×
初戦のオーストラリア戦で終盤に3失点。逆転負け。
スコアレスドローの勝ち点1のみで、ブラジルには玉砕する。
放任主義のジーコ采配が批判され選手間の内部分裂も取り沙汰される。


2010年 南アフリカ大会


前評判×
オシムが監督になり期待されるも体調不良のため約1年で退任。岡ちゃんが再登板。
中村を中心に本戦への切符を勝ち取るも直前の親善試合で散々な結果に。

結果◎
中村を外しディフェンシブなスタイルに急遽変更し大当たり。
自国開催以外で初のGL突破を果たす。


2014年 ブラジル大会


前評判○
前回大会で活躍し欧州リーグに所属するメンバーを中心に構成される。
アジアカップ優勝、16試合連続無敗記録、コンフェデの善戦などから期待される。

結果×
勝ち点1という結果に終わる。


2018年 ロシア大会


前評判×
アギーレが八百長疑惑で契約解除、ハリルを本戦直前に解任し西野監督に。
コンディションの上がらないベテランを重用し平均年齢も高く忖度ジャパンと揶揄される。
直前の親善試合も低調な結果に。

結果?
前回大会で惨敗したコロンビアが相手だったが、相手が開始3分で退場者を出す幸運を活かし勝利。勝ち点3を獲得。
抜群の身体能力を誇るセネガルが相手。セネガルは初戦のポーランド戦でその組織力も見せる。
苦戦が予想される中、実際先制される展開となるが2度追いつき2-2のドロー。
本田は3大会連続で得点アシストを記録した歴代6人目の選手に。
(他の5人はベッカム、ロッベン、アサモア・ギャン、グジェゴシ・ラトー、ルディ・フェラー)



大分偏った私見とは思いますが振り返ってみました。
かく言う自分もサッカー協会のあり方には今も疑念を抱いており、今大会は良い結果が出ない方が良いのではないか、とすら当初は思っていました。
今後はスムーズに本戦に望める環境を築いていって欲しいものです。
それと、個人的に監督は日本人監督、もしくはJリーグでの経験と実績のある外国人監督が良いと思います。
欧州や他国代表での実績は必ずしも日本代表に合うとは限らないし、日本の風土への知見や円滑なコミュニケーションが無いのは大きな障害だと思います。

2018年6月15日金曜日

GIPHYの使い方がわからない

コツコツ作りためた猫GIFの避難先を探していてGIPHYというサービスを試してみました。

こんな感じでページに埋め込んだりできて良いのですが、

via GIPHY

自分のチャンネルのトップにある砂嵐は何なのだろうかと…?


他の人のチャンネルを見る限りランダム表示してくれるっぽいので、使えたら良いなぁと思っていたのですが、ちょっとわからず仕舞いです。

何か設定が足りないのでしょうか…?


2018年4月16日月曜日

ASP.NET MVC デフォルトの T4 Scafolding Template の場所 【Visual Studio 2017】



こちらを参考にカスタムのT4テンプレートの作成を試みているのですが、Visual Studio 2017ではここに書かれてある場所と違うようです。

たぶんここ(かな?)

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates



2018年1月8日月曜日

【ローモバ】召喚獣スキル一覧

どの召喚獣を育成したかったのか忘れるので作成しました。自分用のメモです。
※各数値は強化MAX時です

Lv.1 召喚の書A



土の精霊

召喚の書 精製速度+20%

ランダムな数量の「調教石」アイテムを3個獲得できます


樹木の精霊

木材生産量+25%




マグマロード

石材生産量+25%




タクミドワーフ

鉱石生産量+25%




バトルゴブリン

資源保護量+10%



Lv.1 召喚の書B



水の精霊

獣晶石 生産+40%

60~120のスタミナを獲得します


ニードルタートル

食糧生産量+25%




ノーム

ゴールド生産量+25%




ビーストマスター

供給部隊 進軍速度+25%




イエティ

採取軍進軍速度+25%



Lv.2 召喚の書A



風の精霊

城壁防御力+20%

行動力回復速度+10%

ランダムな種類の第1部隊の兵隊を20000人獲得します


ベルゼブブ

食糧生産量+35%

各資源の4時間分の生産量の資源を獲得します




トテンペスト

木材生産量+35%

商船の商品をリセットします




ダークハーピー

医療所治療速度+25%

処刑待ち時間短縮360分




魔術師

増援進軍速度+25%

錬金中のダークマターを直ちに完了します



Lv.2 召喚の書B



火の精霊

救援で得られる資源+20%

錬金時間を短縮10%

敵の兵隊を7500~12500人死亡させます(パワーが低い兵隊から先に死亡します。最大で兵舎にいる兵隊の5%を死亡させます)


ボルダー

石材生産量+35%

建設で受けられるヘルプの回数を最大にします




クラビィー

鉱石生産量+35%

プレイヤー経験値+10%




亡霊兵士

獣晶石 生産上限+20%

コロシアムの挑戦回数を、10回増加します




ハーピー

シェルター格納規模+50000

ランダムな数量の「VIPポイント」アイテムを3個獲得します。



Lv.3 召喚の書



グリフォン

援軍規模+50000

訓練速度+5%

領地から離れている部隊を6秒以内に領地に帰還させます。


ノセロス

軍隊所持量+35%

騎兵攻撃力+10%

ランダムで5個の採取部隊を直ちに帰還させます


ジェムグレムリン

建設速度+5%

ジェム採掘速度+10%

1000~2000のジェムを獲得します


ゴールデンゴブリン

資源採取速度+25%

ゴールド生産量+35%

6000000~12000000のゴールドを獲得します


トリックスター

研究速度+5%

弓兵攻撃力+10%

ランダムな数量の「ホーリースター」アイテムを3個獲得します


堕落した黒魔術師

召喚の書1度に精製できる数+5

祭壇ブースト時間+360分

研究で受けられるヘルプの回数を最大にします


シャーマンモグラ

医療所容量+5%

歩兵攻撃力+10%

城壁HPを50%回復します

Lv.4 召喚の書



メチャトロジャン

騎兵HP+10%

【バーサーカー】軍隊防御力+10%

連合軍の軍隊規模を30分間125000人増加します


グリムリーパー

進軍速度+10%

弓兵HP+10%

敵の兵隊を20000~50000人死亡させます(パワーが高い兵隊から先に死亡します。最大で兵舎にいる兵隊の5%を死亡させます)


タイダルタイタン

歩兵HP+10%

軍隊防御力+10%

敵の領地を攻撃して勝利すると、敵の領地をランダムな位置に転送します。※15分間以内に1度のみ効果を発揮します


ヘルドライダー

歩兵HP+10%

ロード脱出確率+10%

アンロックされている兵隊のうち、パワーが一番高い兵隊の中からランダムな種類の兵隊を15000人獲得します


メガマゴット

兵隊訓練量+5000

歩兵防御力+10%

敵の各資源の生産量を360分間95%低下させます


セイバーファン

魔獣討伐進軍速度+25%

騎兵防御力+10%

魔獣討伐の連続討伐回数を15回増加します


スノービースト

【闇の巣窟】連合軍の進軍速度+25%

弓兵防御力+10%

資源の供給量を60分間300%増加します


ミミック

投資額の上限+10000

スキル核 精製速度+20%

ランダムな数量の「ジュエル」アイテムを3個獲得します





【ローモバ】魔獣討伐 無課金ヒーローリスト

最近少しプレイしているロードモバイルの自分用メモです。

※注
自分で詳細な検証を行ったわけではありません。
各所で得た情報を元に構成してあります。
育成状態などによっても異なると思いますので、あくまで「参考」です。

※2018-01-15 カースシャーマン追記



カースシャーマン

深紅の稲妻

トラッカー

詐欺師

デーモンスレイヤー

漆黒のカラス

ブラックウィング

深紅の稲妻

トラッカー

詐欺師

デーモンスレイヤー

漆黒のカラス

死の騎士

メチャトロジャン

エレメンタリスト

詐欺師

烈火の術士

雪の女王

爆弾ゴブリン

嵐の賢者

海の守護者

ボナペティ

刺客

トラッカー

漆黒のカラス

死の騎士

デーモンスレイヤー

詐欺師

キラービー

深紅の稲妻

トラッカー

詐欺師

デーモンスレイヤー

漆黒のカラス

死の騎士

タイダルタイタン

妖精

爆弾ゴブリン

エレメンタリスト

烈火の術士

嵐の賢者

雪の女王

海の守護者

セイバーファン

妖精

エレメンタリスト

烈火の術士

爆弾ゴブリン

雪の女王

嵐の賢者

海の守護者

ヘルドライダー

デーモンスレイヤー

トラッカー

雪の女王

漆黒のカラス

詐欺師

グリムリーパー

漆黒のカラス

トラッカー

詐欺師

デーモンスレイヤー

深紅の稲妻

死の騎士

ノセロス

烈火の術士

妖精

エレメンタリスト

爆弾ゴブリン

雪の女王

海の守護者

嵐の賢者

デーモンスレイヤー

テラーソーン

深紅の稲妻

トラッカー

詐欺師

デーモンスレイヤー

漆黒のカラス

死の騎士

メガマゴット

妖精

エレメンタリスト

烈火の術士

爆弾ゴブリン

雪の女王

海の守護者

嵐の賢者

グリフォン

深紅の稲妻

デーモンスレイヤー

トラッカー

烈火の術士

漆黒のカラス

詐欺師

ジェイドワイアーム

妖精

烈火の術士

エレメンタリスト

爆弾ゴブリン

雪の女王

嵐の賢者

ガルガンチュア

妖精

エレメンタリスト

烈火の術士

爆弾ゴブリン

雪の女王

嵐の賢者

海の守護者

スノービースト

漆黒のカラス

トラッカー

死の騎士

詐欺師

デーモンスレイヤー

フロストウィング

刺客

トラッカー

漆黒のカラス

深紅の稲妻

デーモンスレイヤー

詐欺師