phpunit 【ユニットテストツール】

「え?phpunit使ったことないとかマジすか!?」

って誰かに言われた気がするので急いで勉強開始。
(先日と同じ始まり方)

事の発端は、品質の確保について考えさせられたとき。
正直自分が書いたコードのテストって、あまりやる気でないじゃないですか。
他人の粗捜しはそんなに嫌いじゃないけど、自分のは嫌じゃないですか。

他人に、バグじゃねーか、って言われると殺意がわきますが
プログラムに怒られるなら問題なし。
だって、こいつらは僕の味方だもん、裏切らないもん。

実はTDDが主流だったころの産物で
時代はBDD用のphpSpecが主流らしい?
が、時代遅れの僕はまずphpunitから勉強を始めるのです。
新しいものは無条件でよいというわけではなく、
構想や求めるものが違うなら両方知っておいて使い分けるべき!

という事でさっそくやってみよう。

さっそくcomposerでインストールだ!
現時点ではVer6まで出てるみたいですが、PHP7以上なので
いまだにPHP5.6系から抜け出せない時代遅れの僕は 5でガマン。
でも、phpunit入門でググると 3系の記事がたくさんヒットする。
さらに書かれたのが2007年の記事とかです。
僕は10年前から現代に向かって全力疾走しているという事ですね!

公式の日本語ドキュメントを見つけたものの、いまいちわかりにくい。
サンプルコードはあるものの、
ディレクトリ構成とかテストを実行する手順とかが見当たらず。

幸いphpunit5の記事もみつけたので、
それに習って実験開始!
やはりSEはコードを書いてなんぼ。トライ&エラー万歳!

== 前提 ==
composerでインストールする
 (composerはインストール済み)

== ディレクトリ構造 ==

c:\vhosts\phpunit <= テストに使うディレクトリ
                 \classes <= 検証されるクラスの格納場所
                 \case <= 検証用のクラスの格納場所

実際は検証されるクラスの格納場所、なんていらんかもね。
既に存在していて絶対パスか何かで呼び出しそうだし。

1. まずは composer.json を書くよ
c:\vhosts\phpunit\composer.json というファイルを作って
↓の内容で保存

{
    "name":"hogehoge/phpunittest",
    "config": {
        "platform":{
            "php": "5.6.23"
        }
    },
    "require": {
        "phpunit/phpunit": "*"
    }
}

name のところは自分の好きな名前に変えてもいいし、無くしてもいい。
phpのところは自分のバージョンに合わせてね
phpのバージョンを書くと、それに合った中で一番新しいのがインストールされるみたい。
いい加減php7に移行しろよって話かもですが、いろいろ事情がねw

2. composer を使ってインストールだ

  cd c:\vhosts\phpunit
  composer install 

とコマンドを打ちます。
怒られたらcomposer.jsonを確認したり、php.iniを確認したり?
エラーメッセージは英語ですが、ちゃんとわかりやすく書いてるっぽいので
読むか、翻訳にかけてみましょう。

3. 検証されるクラスを書くよ

c:\vhosts\phpunit\classes\Hoge.php というファイルを作り
下の内容を書いて保存


入力された文字を大文字にそろえたり小文字にそろえたりするクラスです。
でも、バグがあります。
toKomojiにhoge を入れると hoge が返ってくるはずなのに、なぜかhage が返ってくるというバグです。
これは仕様ではなくバグです。
多分、会社が嫌になって辞める直前にありったけの悪意を叩き込んだのでしょう。
いい子のみんなは真似しないでね!

4. テストコードを書いてテストするよ その1

みなさん、お待ちかね!
やっとPhpUnitの出番だよ!
複数の検証用のファイルを一発で走らせるのが前提だと思うので
それっぽくするためにファイルを二つ作るつもりだけど
とりあえずはひとつだけ、テストが成功するパターンを書くよ

名前の規則はとりあえず二つあって
 テスト用のクラス名とファイル名は一緒にしないとダメみたい。
っていうのと
 テスト用の関数の名前は testなんとか にしないとダメみたい。
ってことらしい。

一つ目
c:\vhosts\phpunit\case\SuccessTest.php というファイルを作って下の内容で保存

obj = new Hoge();
    }
 
    /**
     * 大文字変換のテスト
     */
    public function testToOomoji() {

        $this->assertEquals('ABC', $this->obj->toOomoji('abc'));
        $this->assertEquals('ABC', $this->obj->toOomoji('ABC'));
        $this->assertEquals('ABC', $this->obj->toOomoji('abC'));
    }
 
    /**
     * 小文字変換のテスト
     */
    public function testToKomoji() {

        $this->assertEquals('abc', $this->obj->toKomoji('abc'));
        $this->assertEquals('abc', $this->obj->toKomoji('ABC'));
        $this->assertEquals('abc', $this->obj->toKomoji('abC'));
    }

}

?>

保存ができたら
下のコマンドを打って実際にテストだ!

c:\vhosts\phpunit\vendor\bin\phpunit c:\vhosts\phpunit\case\SuccessTest.php

コマンドが長いのは パスを通したり cdで移動したりすれば解決するかもだけど
そういう設定は自分で考えて使いやすく調整してほしい。

ちゃんと動いてれば

c:\vhosts\phpunit>c:\vhosts\phpunit\vendor\bin\phpunit c:\vhosts\phpunit\case\SuccessTest.php
PHPUnit 5.7.22 by Sebastian Bergmann and contributors.

..                                                                 2 / 2 (100%)

Time: 71 ms, Memory: 2.00MB

OK (2 tests, 6 assertions)

↑こんな感じで表示されると思う。

5. テストコードを書いてテストするよ その2

んじゃ次はさっきの悪意のあるコードを偶然にも踏むテストを書いてみるよ!
こうして早期発見したバグの犯人はきっとアイツだ!

c:\vhosts\phpunit\case\FailureTest.php というファイルを作って下の内容で保存

obj = new Hoge();
    }
 
    /**
     * 大文字変換のテスト
     */
    public function testToOomoji() {

        $this->assertEquals('HOGE', $this->obj->toOomoji('hoge'));
        $this->assertEquals('HOGE', $this->obj->toOomoji('HOGE'));
        $this->assertEquals('HOGE', $this->obj->toOomoji('hoGE'));
    }
 
    /**
     * 小文字変換のテスト
     */
    public function testToKomoji() {

        $this->assertEquals('hoge', $this->obj->toKomoji('hoge'));
        $this->assertEquals('hoge', $this->obj->toKomoji('HOGE'));
        $this->assertEquals('hoge', $this->obj->toKomoji('hoGE'));
    }

}

?>

そしたらテストだ!
せっかくなので今回は 4. で作った SuccessTest.php も一緒にテスト
というか、ディレクトリに入ってるものまとめてテストするよ
前回ファイル名だってところをディレクトリ名にしてやればいいだけ、簡単だね!

c:\vhosts\phpunit\vendor\bin\phpunit c:\vhosts\phpunit\case

今回の結果は・・・

c:\vhosts\phpunit>c:\vhosts\phpunit\vendor\bin\phpunit c:\vhosts\phpunit\case
PHPUnit 5.7.22 by Sebastian Bergmann and contributors.

.F..                                                               4 / 4 (100%)

Time: 84 ms, Memory: 2.50MB

There was 1 failure:

1) FailureTest::testToKomoji
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'hoge'
+'hage'

C:\vhosts\phpunit\case\FailureTest.php:33

FAILURES!
Tests: 4, Assertions: 10, Failures: 1.

こんな感じ!
エラーだって事も、どんなエラーかってのもなんとなく雰囲気でわかると思う。
ホントは英語勉強した方がいいんだろうね。orz

6. じゃあついでだからバグ直してみようか。

5のテスト結果を見ると
FailureTest.phpの33行目に書いてあるテストで
hogeが返ってくるべき関数でhageが返ってきたよ
というのがわかるので
まず33行目を抜粋↓
$this->assertEquals('hage', $this->obj->toKomoji('hoge'));
objはHogeクラスなので Hoge->toKomiji() がおかしいぞ、と推理を働かせて関数の中身を見てみる

		function toKomoji($str){
			if($str =='hoge')return 'hage';
			return strToLower($str);
		}

そして気が付く、なんだこれ!?

		function toKomoji($str){
			if($str =='hoge')return 'hage'; //<=なんだコレ!?
			return strToLower($str);
		}

なんだコレ!?なコードの行を消してから再度テストすると

c:\vhosts\phpunit>c:\vhosts\phpunit\vendor\bin\phpunit c:\vhosts\phpunit\case
PHPUnit 5.7.22 by Sebastian Bergmann and contributors.

....                                                               4 / 4 (100%)

Time: 70 ms, Memory: 2.25MB

OK (4 tests, 12 assertions)

無事にバグが無くなり
それは、つい先日失踪したKさんの野望は潰えたことを意味する。
尚、無能な営業はKさんに電話をしたが既に不通となっていた。
同僚は恨むでもなく、ただKさんの幸せを願うのであった。

と、まぁこんな感じで使うらしい。
でも、あくまで基本。
いろんなテストデータの用意の仕方とかいろいろあるので
もっと勉強して使いこなすべし、って感じですね。

今日はこの辺で。

カテゴリー: php, SE備忘録 | コメントをどうぞ

composer 【php依存管理ツール】

「え?composer使ったことないとかマジすか!?」

って誰かに言われた気がするので急いで勉強開始。

事の発端は、先日ローカル環境にslim3をcomposerで入れようとした時の事。
slim3のついでに oauth2系の何かしらを入れようと思ったけどなんかうまく行かなった。

とりあえず早くコードが書きたかった僕はslim3のみを入れて
OAuthについては自前でかく事を決意。(どうせなんちゃってOAuthだし)

でも本当は気が付いてる。
このご時世、人が作ったものを如何にしてうまく利用できるか、が大事な事を。

composerを理解することはその第一歩なんだと
(主要なframeworkのインストールはみんな軒並みcomposerっぽい)
ドキュメントを見るとアレルギー反応を起こして眠ってしまう体に鞭打って
覚えたことをとりあえずメモしてみることにします。

僕が欲しかったのは phpunit
ついでにmonologも入れとくよ!
そう驚くべきことに、この男、今までテストツールを使用していなかったのです。
仮にテストに工数を割いたとしても、やる気が超絶でないので
多分、増えた時間分さぼってしまって品質が上がらない、ということになるのが目に見えてます。
SE3大美徳ですね(ぉぃ
まぁこのツールの使いかた自体も学ばなくちゃいけないのでそれはそれで頑張るとして
レッツいんすとーる!

1. composerのインストール

windows機の場合はインストーラが配布されるのでそれを実行しましょう。
linuxの場合は
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
コマンド打ってインストール

どちらもコマンドで
composer
って打って何かそれっぽいロゴがAAで出てきたらインストール成功

2. composer.json を作る

composerの使い方のサイト見てると
composer.jsonの書き方は書いてあるけど、どこに置くかは書いてないことが多く
無知な僕は途方に暮れてました。
設置する場所はインストールしたいディレクトリ直下でいいみたいでした。
c:\vhost\hoge にインストールしたい場合は
c:\vhost\hoge\composer.json というファイルを作ってそこに設定を書くってことですね。
実際に書いた内容は

{
    "require": {
        "monolog/monolog": "1.*",
        "phpunit/phpunit": "3.7.*"
    }
}

このプロジェクトには monologとphpunit が必須です
と書いておいて、それをもとにcomposer君にそれらを準備してもらうわけですね。

3. composer 君にインストールしてもらう

2で書いたcomposer.json を元にしてインストールを開始します。
インストールしたい場所に移動してから
composer install
でOKです。

4. 完了

composerで受け取ったパッケージは原則的にvenderというフォルダの中にあるようです。
なので、venderってフォルダができてればとりあえず成功でしょうか。
venderの中に phpunit とか monolog ってのがあります。
成功した模様。やったね。

少しだけcomposerの事がわかった気がする一日でした。
(installだけじゃなくて require とか create_projectとかいうコマンドもあるけど)
そのうち自分でもパッケージ作ったりする日が来るかもしれませんね。
次はphpUnitについての勉強をしようかと思います。

ちなみに
基本的にcomposerはプロジェクト立ち上げ時に使用するものであって
既に開発中とか稼働中のプロジェクトに当てるようなもんじゃない
という事に気が付くのにだいぶ時間がかかりました。
phpUnitを途中で導入しようとか思い立ったアフォ(僕)はここで絶望した!
多分、空のディレクトリにインストールしてからファイル群を持っていくしかないのかな?

カテゴリー: php, SE備忘録 | コメントをどうぞ

ソシャゲの管理ツールを作ってみよう

ログインボーナスもらい忘れたとか
フレンドにハート送り損ねたとかから始まって
指定時間のイベントが今行われてるのか知りたい、とか
気が付かないうちにイベントが終わって涙目、とか
いろいろあると思います。

そんな悲しいことを、めんどくさいことを避けるために
頑張ってツールを作ってみようかなと思い立ちました。

まぁ、メインは星ドラのなかまポイントを管理したいってところが起点なんですけど。

api形式で提供できるようにして
最初はブラウザ版、それからアプリ版とできるようになればいいな。

そんな妄想を初めて、現在めっちゃ勉強中です。

まず、api提供の下地としては
oauth2っぽい仕組みを想定して
認証サーバとリソースサーバを作ります。
phpフレームワークとしてはslim3を使用し
oauth2っぽい仕組みは自力で書きます。

よし、宣言してしまった。

あとは頑張るしかない。

カテゴリー: ソシャゲ支援ツール開発記 | 1件のコメント

ダイコラボ中編

一言で言うと・・・

ストーリー端折り過ぎィ!

前編はわりと頑張って作ってるなって気がしたんですが
中編はちょっと粗が目立つかなーと思いました。

・カットインが微妙
カットインの存在そのものの評価ではなく、見た目、カッコよさとかの話。

 ・ヒュンケル:ブラッディスクライド
なんか突き出した槍の先から発生させた竜巻を相手にぶつける技の様に見える。
実際は高速回転させた槍で相手を刺し貫く技のはず。

 ・ヒム:ヒートナックル
カットインから戻るところのせいかもしれないが
これも突き出した手から炎が飛び出してるように見える。
メラ系呪文の威力をまとった拳で殴る技のはずであって
ロケットパンチのような技ではなかったはず。

 ・クロコダイン:獣王快進撃
前編の使いまわし?

 ・バラン:ギガブレイク
これは問題なし。前編の使いまわしだけど。

 ・ポップ:メドローア
これも特に問題なし。
でもプレーヤーが使う時のカットインは邪魔だし、
わざわざ飛ぶ必要もない。

 ・マァム:閃華裂光拳
対アルナビスだから猛虎破砕拳にすべき。

 ・ダイ:アバンストラッシュ
ストラッシュの軌道の弧が下を向いているせいで
ハドラーがこっちに向けて売ってきてるように見えるのは僕だけでしょうか。

・前編に引き続き、伝説(というか決闘)の時間が短すぎ

夜中の時間帯にやってないのは仕方がないとして
11時~1時とかでやってないってどういうこと?
ハドラーはおろかヒュンケルもバランもやってないって・・・・

最近はフレ報酬をもらうだけのゲームになってます。
リアルが忙しいってのもありますが。。。

カテゴリー: 【Smt】, 星のドラゴンクエスト | コメントをどうぞ

やっと「さけぶ」がでた

デシセレクション 2 が終了の連絡を受け
ちょっと迷った挙句、念を込めて引いたら出た!
(スクショ取り損なった)
二本目のメディックスタッフもゲット。

ラッキーガチャでは超必殺4つでたし、ちょっとついてるかも。

でもおまけ交換するの忘れた。。。。

カテゴリー: Final Fantasy Record Keeper | コメントをどうぞ

上位になったので防具を新調しよう

さすがに防御力71とかだといろいろまずいので
そろそろ防具を作り始めたいと思います。

まず狙うのは ボーンS 一式!

ハンマーから笛に切り替えようと思うので 笛とKOがつくボーンにします。
それ以上の装備はまず、これを作ってから考えます。

というわけで、必要な素材は、、、、
堅牢な骨=>アオアシラ、ウルクスス

ということでさっくり狩ってきました。
やたら小さいなと思ってたら、そのとおりで小金冠ゲットです。
やっぱりやりこみを進めたら勲章系そろえたいですもんね。
さすがにこの程度のものは物欲センサーの対象外の様で
無事にボーンSメイルとフォールドを作成。

あと3か所を作るのに必要なのは。。。

上竜骨・・・ダイミョウザザミ等
上質な鳥竜骨・・・ジャギィ系、ドスランポス系

で、ダイミョウザザミ討伐と
ジャギイ・ジャギイノス20体討伐に出かけて

無事ボーンS装備完成!

KOと笛が狙いでしたけど
「鈍器」 なるスキルもついてきました。

スキル:鈍器使い
緑ゲージ以下の時に攻撃力が強くなるスキル。
ネットの評価だと いや普通に切れ味ある方が単純で強いぞ、ってことなんですが
そもそも青ゲージなんて存在しない上位上がりたてにとっては心強いことこの上なし!

。。。いやぁ、なんか思ったよりモンスサクサクかれるなーと思ってたんですが
鈍器使いのおかげだったんですね。

まだ青ゲージがない武器を使っている人にはお勧めできるスキルですね!

カテゴリー: 【3DS】 | コメントをどうぞ

ちょっとだけやって放置してたモンハンクロスを再開して上位になった

時々思い出したように連絡が来るDeeさんから
「モンハンクロスやりたくなって、最初からやってる。」
とお誘いのメッセージをいただきまして、、、

村クエ☆2途中で放棄してたモンハンクロスを再開

この段階で僕のHRが2 、Deeさんが3。

防御力17でキークエ進めようとして見事に玉砕。

んじゃ、防具作ろう => ガルルガ装備がいいな => ガルルガ相手に3乙

だって防御力17ですもの。

体力満タン近くでも怒ってると即死ですもの。

ちょっとだけでいいから防具を作ろうということで

ボーン装備作成( スキル : 笛 , KO )
これで防御31!!!

で、ガルルガリトライしようとしてる所に
既にHR170超えている Heyさん改めMoeさん参上。

ガルルガ周回して装備作成(Deeさんのみ)
Deeさんの防御が100超えました!!
僕はボーンで防御31のままだけど!

で、Moeさんに寄生してキークエめぐってさくっと上位まで行ってしまいました。

ぇ?寄生PLイクナイ?

過去作経験者ならいいんだよ。

まぁ、それでも☆3緊急で僕だけで3乙失敗したので
適当に防具作って 防御 31=>71 にするというちょっと無駄な素材の消費をしましたが
無事に上位になりました。

さて、次の目標は上位ボーン装備と各種笛をそろえる、かな。

カテゴリー: モンスターハンタークロス | コメントをどうぞ

ようやく全国制覇

深夜3時ごろ
鳥取にてやたらテンション高いのがいたら
それは僕かもしれない。

最後の鳥取をもとめて3日くらいずっとマルチ検索してました。
(鳥取には誰も住んでいないんじゃないかと思ったほど)
おかげで30周年イベントにすっかり乗り遅れております。

ちなみに ラス2 は 島根 で
ラス3 は 岩手 でした。

この企画、企画そのものは面白いんですが
やらされる方は地獄ですね。
「未クリア検索」と「おまかせ参加」が
まだ実装されていない時期にクリアした人はほんとすごいと思います。
スキルフィニッシュ3回が未達成な県がいくつか残ってますが
さすがに全部回収するのは無理です。

まだ地図埋められてない人へのアドバイスとしては
・掲示板などを利用して鍵を持ってる人を見つける
・野良だとわりと深夜帯がいい気がする
って感じでしょうか。

あとは200本近くある東京のカギを処分する作業が残ってます。
進化の宝玉がいつ期間限定でくるかわからないので
リーダーボーナスのトレイはぜひ狙うべき。
(なのでこの作業をスルーできない)

ぼちぼち頑張ります。

カテゴリー: 星のドラゴンクエスト | コメントをどうぞ

A+にあがりました ・・・ので立ち回りで気を付けている点をメモ

まさかの5連勝でA+に上がりました。

A-で伸び悩んでいたのがうそのように A->A+はスムーズでした。

気を付けている立ち回りを 忘れないようにメモしておこうと思います。

・スペシャル「スーパーショット」は連射しなくてもいい。

制限時間がある武器って
ついつい一発でも多く打たないともったいないって思っちゃいますよね。

でも、たくさん打つけど全部外れ < 一発しか打ってないけど1キル だったら 当然1キルの方が価値があります。 とくにスーパーショットって 連射効かないし、ノックバックひどいじゃないですか。 スパショ発動中でもイカセンプクはできるので 効果中2発しか打てない、とかでも狙っていきたいですね。 また見せ技としての効果も期待できると思うんです。 敵がスパショ打ってるの見たら「効果切れるまで待ってよ」ってなるじゃないですか。 カモンして前線上げられそうですよね。 まぁ、裏どりされて終わることも多いですが。 ・テレビ画面の上部の生存数を確認しよう。 偉い人はいいました。 「戦争は数でやるものだ」と。 敵が全滅していれば 無条件で安全に ヤグラを進められ、ホコを運搬できます。 エリアは塗り固めたうえでクリアリングできますよね。 味方4 対 敵2とか でも十分有利にすすめられますよね。 逆に味方が自分しか生き残っていない場合は後退して 合流できそうなポイントを塗って迎撃態勢を整え ビーコン代わりになる、ですね。 (前線維持できればその方がいいかもですが) ようするに攻め時と引き時の判断指針になるんです。 ヤレるときにヤレる人間は強いです。 ゲームでもリアルでも。 ・壁を塗るのは大事。横もな。塗られてたら塗り返せ。 壁を塗るのが得意な武器と不得意な武器があります。 シューター系は比較的得意だと思うので塗ってあげましょう。 壁の正面にあたるところのついでに側面も塗っておくと 安全かつスムーズに昇れたりします。 ちょっと意識するだけでだいぶ違います。 また、敵に塗られていたら塗り返しておきましょう。 これはガチホコでは特に有効だと思います。 たいていの場合は一秒早く戦線復帰するよりも、敵の進軍経路をつぶす方がいいです。 ・前線復帰前にパット画面確認 もう少しで合流できる!暴れてやるぜ! と意気込むのはわかりますが、合流前にパットを見てみましょう。 簡単に裏・横から攻められそうなポイントがあることがあります。 特に実感するのがハコフグあたりでしょうか。 本当はこまめに確認できればいいんでしょうが、 最低限、突撃する前に確認するだけでだいぶ違うぜ、ということです。 とりあえず、気にしてることを書き出してみました。 忘れてることもあると思いますけど、こんな感じ。 まぁ、所詮A+のヘタレの言うことなので当にならないかもしれませんけどね。 今度はマップごとの考察もやっていけたらいいなー

カテゴリー: スプラトゥーン | コメントをどうぞ

A-に昇格しました

Bで一勝一敗を繰り返していましたが
「横移動しながらエイミング」の練習をしっかりするようにしたら
なんとか勝てるようになりました。
まぁ、相変わらず「さんぽ」は続けてるんですけどね。
・・・ちゃんとさんぽしてるのに、水のあるマップだと溺死する不思議。

B+になったら A-やA勢に囲まれつつほぼストレートでA-まで。
僕が強くなったというより同じチームに編成された方が上手いんですよね。
だってキルレシオ0.5くらいですもん。

今の愛用ブキは「シャープマーカー」です。
ZAPと比べると射程がちょっと短めだけど、
インクが散らばらない感じですね。
サブのキューバンボムもいい感じ。
スペシャルのボムラッシュはイマイチ使いこなせません。
ダイオウイカかシールド希望。

そろそろギアを仕上げていってもいいのかな、と思ってちょっと調査。
ギアは装飾品で アタマ フク クツ の三種類がある
ギアパワーにはメインとサブがある
メインはそれぞれ固定。
サブはランダムで付与され、枠は最大で3つ。
効果値はメインとサブで違い、メインを10Pとするとサブは一つあたり3P。
 なので最大で 10*3 + 3*3*3 で 57P
レア度によってサブの枠が決まっているように見えるが
 有償で最大3枠まで増やすことができる。
サブのギアパワーは何度でも有償で振りなおすことができる
 降りなおす場合は3枠全部がランダムで振りなおされる
  希望のパワーをそろえるのはめっちゃ大変そう
 ブランドによって出やすい、出にくいものがある
同じギアパワーをそろえると強化されるが、減衰が起こる。
 (例えば速度アップが10Pで2倍になるとして、20Pで3倍にはならず、2.3倍とかになる)

この辺を吟味してシャープマーカー用のギアを考察してみました。

・ヒト移動速度アップ
打ち合いになった時に攻撃力や防御力よりも有効なのでは?
と考えてます。

・復活時間短縮/カムバック
僕はキルレシオが0.5くらいの事がざらなので採用を思い立ちました。
キルレシオ低い人は開き直って採用するのアリかもしれません。
スーパージャンプはあんまり使わないのと
スペシャルも持て余し気味なので
スーパージャンプ時間短縮とスペシャル減少量ダウンは候補から外しました。
カムバックはアタマ専用らしいです。

・安全シューズ
クツのメインにしかないパワーです。
縦軸をずらして動くとどうしても敵のインク踏んじゃうことがあるのでその対策です。
どれくらい効果があるのか謎です。
試し打ちとかで敵のインクを踏める状況があれば確かめられるんですが。。。
ガチホコでさんぽできたら試せるか?

カテゴリー: 【WiiU】, スプラトゥーン | コメントをどうぞ