読者です 読者をやめる 読者になる 読者になる

ポケモンY

ポケモン新作が出て安くなっていたため、ポケモンYを購入してプレイしてみました。
私は金銀からBW2まで(ほぼ)現役でプレイしていたのですが、XYでドット絵から3Dにシフトした点など気に入らない点が多かったこと、発売当時は3DSを持っていなかったことから今までプレイしていませんでした。

感想など

出てくるポケモンの種類が多い

プレイして最初に思ったこと。BWでは序盤の選択肢が狭すぎてつまらなかったので、これは良いことだと感じました。

その割に新ポケがなかなか出てこない

XYの新ポケは少なめなので仕方ないとは思うんですが、新ポケだけで進めたいと思っていたのでこの点は残念に感じました。いつも連れていきたいのに泣く泣く手持ちから外すってことが起こるのに、今回はそれがないどころか、一応連れていくか、くらいのポケモンがずっと手持ちにいたりしました。

昔の世代のポケモンがたくさん出てくる

上の二つの言い換えですね。ポケモン復帰勢にとっては懐かしのポケモンが出てくる、小学生にとっては昔のポケモンでも新鮮ってことで良い試みだと思います。

冒険感が薄い

BWでも感じましたが、XYではそれ以上だったと思います。BW同様に一本道で、秘伝技を使って道を切り拓くという感じが全くないのが残念。秘伝技で足止めをしていない分、イベントを無視して先に進もうとするといちいちNPCに止められるのが嫌ですね。特に今作では「そらをとぶ」を使わなくてもクリアできるんじゃないかと思うくらい一度訪れた街に戻る展開が無くて味気なかった気がします。そういえば最後まで「いわくだき」が使えないままだったんだけど、どこで手に入るんだろう。

ボリュームはあった

特に前半はジムとジムの間が長かったような気がします。いつもの感じだとレベル50前後で殿堂入りかと思っていたので、殿堂入り前にレベル70を超えるとは思いませんでした。手持ちを増やさなければ100レベ達してもおかしくないんじゃないか、という域ですね。
とはいえ殿堂入りまで24時間だったので、時間的には普段通りかもしれません。取りこぼしたアイテムを回収したらもう少しのびそうですが。

トーリーが謎

べつに前々からストーリーに期待したりしていないんですが、今回はお友達とお出かけ→唐突に世界を救う展開って感じだったのでついていけなかったです。たびたびフレア団の悪事を止めてはいたものの、突然「最終兵器」が出てきたときは意味が分からなくて笑ってしまいました。ストーリーを半分読み飛ばしていたせいかもしれません。

敵AIの進化

前まではこちらが交代しても交代先に抜群な技を出してきたりしてたけど、今作では交代先を知らずに技を出す感じになっていました。セコくなくなったという印象ですね。勝ち抜き方式で遊んでいたので、相手の技を読んで半減・無効タイプに交代できるのが対人戦に近くて良かったです。

殿堂入りメンバー

なんとなく、殿堂入りメンバーを載せておきます。
タイプ被りがない割にバランスが悪く、特に地面・電気・鋼タイプに苦労しました。オーロットを入れたかった…(通信進化のため断念)

ゴロンダ (格闘/悪) Lv.57

グロウパンチ/かみくだく/シザークロス/アームハンマー @たつじんのおび
秘伝要因だったが、四天王に挑む際に技を一新。でも殆ど活躍しなかった。フェアリー4倍はつらい。

ビビヨン (虫/飛行) Lv.67

ちょうのまい/むしのさざめき/しびれごな/ぼうふう @おうじゃのしるし
いつか解雇しようと思ってたのに代わりがいないまま最終メンバーに。しびれごなはポケモン捕獲用。

ニダンギル (鋼/ゴースト) Lv.68

かげうち/アイアンヘッド/ボディパージ/せいなるつるぎしんかのきせき
ギルガルドよりこっちの方が見た目的に好み。ボディパージとかげうちのシナジーが悪かった。

メレシー (岩/フェアリー) Lv.70

ムーンフォース/パワージェム/ひかりのかべ/ステルスロック @かたいいし
攻撃が貧弱な特殊受け。不意に飛んでくる鋼技にやられることが多かった。ひかりのねんどが欲しい。

トリミアン (ノーマル) Lv.70

ずつき/とんぼがえり/コットンガード/どくどく @ゴツゴツメット
物理を受けてゴツメで削る。最悪どくどく&道具で回復ゲーするつもりだったが使用機会はなかった。

ドラミドロ (毒/ドラゴン) Lv.73

ヘドロばくだん/りゅうのはどう/10まんボルト/ねっとう @くろいヘドロ
一番のお気に入り。こいつのためだけにYを選んだ。技範囲とくろいヘドロの回復で使い勝手が良かった。

最後に

全体的に、殿堂入りまでを楽しみたい私にとっては微妙でした。通信対戦の環境(育成も含めて)はXY・サンムーンで良くなっているという噂なので、そっちの需要を意識しているのだと思います。技の威力変更やフェアリーの追加でバランス調整してるし。難易度も昔よりだいぶ易しくなっている気がするし、時代の流れですかね。
もう少し安くなったら、オメガルビーアルファサファイアもプレイしてみようかと思います。そういえば、結局ルカリオイベントでしかメガシンカ使わなかったな…

M-1 2016 決勝ラウンド

前回に続いて、決勝ラウンドの感想です。

1.スーパーマラドーナ

時代劇の話。
基本の流れは割とワンパターンなのだが、他のボケのはさみ方が上手かったと思う。
「痛くないように叩いてます」はあそこで悲鳴(?)があがるのを見越してだったのだろうか。
裏番組のくだりでちょっと噛んでしまったのが残念。

2.和牛

花火大会の話。
迷彩、カエル等の回収部分が一番面白かった。
普通に上手いし面白いはずなのだが、今回の3ネタとも私個人としてはなぜだかあまりハマらない。

3.銀シャリ

うんちくを言い合う話。
やはり王道、普通に面白かった。
ただ、フリ部分のちゃんとしたうんちくが毎回挟まるのはテンポ的にどうなんだろう。

結果

結果は3-1-1で銀シャリの優勝。
正直今回は誰が勝ってもおかしくないくらい拮抗していたし、
1stで最高点かつ最後にネタをやった正統派の銀シャリが勝つのは当然の流れだと感じた。
ただ、上の文のニュアンスで分かるかもしれないが、個人的にはスーパーマラドーナが一番面白かった。

M-1 2016 1stラウンド

先日キングオブコントの感想を書いたので、今日はM-1の感想を書いておこうと思います。
ちょいちょい上から目線っぽいこと書いてますが、簡潔に書こうとしたらこうなってしまっただけです。

1.アキナ

446点 (個人的採点:88)
離婚する父子の話。
子供がめちゃめちゃ大人びたこと言うというギャップの一点張りなのだが、
言い方も相まって面白かった。正統派漫才という感じ。
トップバッターで場が温まっていないはずなのにウケていたのはすごい。

2.カミナリ

441点 (84)
川柳を詠みあう話。
初めて見たのだが、最初に訛りが気になったのに突っ込まれず、
川柳なのに五七五じゃないところもスルーだったので「何これ?」となった。
つかみで引き込まれなかった点を除けばよかったと思う。

3.相席スタート

436点 (90)
合コンと野球で「ストライクゾーン」をかけた話。
時間帯を考えてかソフトなネタチョイスだと思ったが、やはり一般ウケはしないか。
途中から男の方が乗り気で帽子をつまむ動作をしてコメントし始める感じが良かった。

4.銀シャリ

470点 (91)
ドレミの歌に出てくる言葉を統一させようという話。
つかみのドーナッツのくだりは微妙だったが、
段々と引き込まれていった。
色々なタイプのボケをはさむタイミングが絶妙。

5.スリムクラブ

441点 (89)
若いテングの話から派生して、、、というまとまりのない話。
他の芸人にない独特の間と展開が良い味出してるのだが、
やはり初めて見た時よりインパクトは薄い。
「家族のトーナメント表」のくだりが個人的にツボだった。

6.ハライチ

446点 (93)
RPGを考えてみた話。
初期設定をミスるもそのまま続いてしまう状況にツッコミ続ける展開なのだが、
澤部のツッコミの上手さが際立つ。
いつものノリツッコミネタに似たものを感じたが、アレンジがとてもよかった。

7.スーパーマラドーナ

459点 (94)
エレベータに女性と閉じ込められる話。
一人芝居を相方が終始ツッコミ続けるというスタイル。
最後のオチのキリッとした顔で爆笑した。
ただ、途中でだれた(しんどかった)部分もあった気がする。

8.さらば青春の光

448点 (87)
中学時代の話に「能なん?」などと反応する話。
しつこいことはしつこいのだが、ハマればハマるという感じ。
万人受けなのかは微妙なところだが、私はハマった。

9.和牛(敗者復活枠)

469点 (88)
ドライブデートの話。
爆笑と呼べるような笑いはなかったが、
息の合った小ボケの流れが上手かったと思う。

正規表現で日付抽出

正規表現で日付抽出をするために書いたphpのコードです。
dateExtraction関数の引数に文字列を入れると、
文字列の先頭に日付情報があればそれが "Y-m-d" の形式で返されます。
「今日」、「先週の金曜日」、「○日前」、「○回後の○曜日」などの形式にも
対応しています。

<?php
function str_Y($nmb){
    return date("Y年",strtotime("".$nmb." year"));
}
function str_m($nmb){
    return date("Y年m月",strtotime("".$nmb." month"));
}
function str_d($nmb){
    return date("Y年m月d日",strtotime("".$nmb." day"));
}
//日付テキストの修正
function date_fix($text){
    $text=mb_convert_kana($text,"a");
    //ひらがなを漢字になど
    $ptn1=array("/おととし/", "/きょねん/", "/さくねん/", "/ことし/", "/さらいねん/", "/らいねん/", "/よくねん/", "/せんせんげつ/", "/せんげつ/", "/ぜんげつ/", "/こんげつ/", "/さらいげつ/", "/らいげつ/", "/じげつ/", "/おととい/", "/きのう/", "/ぜんじつ/", "/きょう/", "/あさって/", "/あした/", "/よくじつ/", "/さきおととい/", "/しあさって/", "/カ月/", "/か月/", "/ヵ月/", "/ケ月/");
    $rpc1=array("一昨年", "/去年", "/昨年", "今年", "再来年", "来年", "翌年", "先々月", "/先月", "/前月", "今月", "再来月", "来月", "次月", "一昨日", "昨日", "前日", "今日", "明後日", "明日", "翌日", "一昨々日", "明々後日", "ヶ月", "ヶ月", "ヶ月", "ヶ月");
    $text=preg_replace($ptn1,$rpc1,$text);
    //今から起算して系
    if(preg_match("/^(?P<nmb>[0-9]+)年(?P<f>前|後)(の)?/",$text,$m)==1){
        $rpc=str_Y(($m["f"]=="" ? "-" : "+").$m["nmb"]);
        $text=preg_replace("/([0-9]+)年(前|後)(の)?/",$rpc,$text);
    }
    if(preg_match("/^(?P<nmb>[0-9]+)ヶ月(?P<f>前|後)(の)?/",$text,$m)==1){
        $rpc=str_m(($m["f"]=="" ? "-" : "+").$m["nmb"]);
        $text=preg_replace("/([0-9]+)ヶ月(前|後)(の)?/",$rpc,$text);
    }
    if(preg_match("/^(?P<nmb>[0-9]+)日(?P<f>前|後)(の)?/",$text,$m)==1){
        $rpc=str_d(($m["f"]=="" ? "-" : "+").$m["nmb"]);
        $text=preg_replace("/([0-9]+)日(前|後)(の)?/",$rpc,$text);
    }
    //曜日系
    $weektext=array("","","","","","","");
    if(preg_match("/^(?P<next>(次の)+)(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
        $text=preg_replace("/^".$m[0]."/",str_d(($w2>=($w1=date("w")) ? $w2-$w1 : $w2-$w1+7)+(mb_substr_count($m["next"],"次の")-1)*7),$text);
    }
    if(preg_match("/^(?P<prev>(前の)+)(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
        $text=preg_replace("/^".$m[0]."/",str_d(($w2>=($w1=date("w")) ? $w2-$w1-7 : $w2-$w1)-(mb_substr_count($m["prev"],"前の")-1)*7),$text);
    }
    if(preg_match("/^(?P<nmb>[0-9]+)(回|週|つ|こ|個)(次|後|先)の(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
        $text=preg_replace("/^".$m[0]."/",str_d(($w2>=($w1=date("w")) ? $w2-$w1 : $w2-$w1+7)+($m["nmb"]-1)*7),$text);
    }
    if(preg_match("/^(?P<nmb>[0-9]+)(回|週|つ|こ|個)前の(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
        $text=preg_replace("/^".$m[0]."/",str_d(($w2>=($w1=date("w")) ? $w2-$w1-7 : $w2-$w1)-($m["nmb"]-1)*7),$text);
    }
    //週関連
    if(preg_match("/^(?P<next>(次の)+)週の(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
        $text=preg_replace("/^".$m[0]."/",str_d(($w2-date("w")+7)+(mb_substr_count($m["next"],"次の")-1)*7),$text);
    }
    if(preg_match("/^(?P<prev>(前の)+)週の(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
        $text=preg_replace("/^".$m[0]."/",str_d(($w2-date("w")-7)-(mb_substr_count($m["prev"],"前の")-1)*7),$text);
    }
    $ptn_week=array(-2=>"先々週",-1=>"先週",0=>"今週",1=>"来週",2=>"再来週");
    foreach($ptn_week as $nmb => $ptn){
        if(preg_match("/^".$ptn."の(?P<week>.*)曜/",$text,$m)==1 && ($w2=array_search($m["week"],$weektext))!==false){
            $text=preg_replace("/^".$m[0]."/",str_d($w2-date("w")+$nmb*7),$text);
        }
    }
    
    //実際の月に変換
    $ptn2=array("/^一昨年(の)?/", "/^去年(の)?/", "/^昨年(の)?/", "/~今年(の)?/", "/^再来年(の)?/", "/^来年(の)?/", "/^翌年(の)?/", "/^先々月(の)?/", "/^先月(の)?/", "/^前月(の)?/", "/今月(の)?/", "/^再来月(の)?/", "/^来月(の)?/", "/^次月(の)?/", "/^一昨日(の)?/", "/^昨日(の)?/", "/^前日(の)?/", "/今日(の)?/", "/^明後日(の)?/", "/^明日(の)?/", "/^翌日(の)?/", "/^一昨々日(の)?/", "/^一昨昨日(の)?/", "/^明々後日(の)?/", "/^明明後日(の)?/");
    $rpc2=array(str_Y("-2"), str_Y("-1"), str_Y("-1"), date("Y年"), str_Y("+2"), str_Y("+1"), str_Y("+1"), str_m("-2"), str_m("-1"), str_m("-1"), date("m月"), str_m("+2"), str_m("+1"), str_m("+1"), str_d("-2"), str_d("-1"), str_d("-1"), date("d日"), str_d("+2"), str_d("+1"), str_d("+1"), str_d("-3"), str_d("-3"), str_d("+3"), str_d("+3"));
    $text=preg_replace($ptn2,$rpc2,$text);
    return $text;
}

//日付抽出
function dateExtraction($text){
    $text=date_fix($text);
    $preg_str=array('/^(?P<year>[0-9]{4})\年(?P<month>[0-9]{1,2})\月(?P<day>[0-9]{1,2})日/',  //Y年m月d日
                    '/^(?P<year>[0-9]{4})\年(?P<day>[0-9]{1,2})日/',
                    '/^(?P<month>[0-9]{1,2})\月(?P<day>[0-9]{1,2})日/',
                    '/^(?P<day>[0-9]{1,2})日/',
                    '/^(?P<year>[0-9]{4})\-(?P<month>[0-9]{1,2})\-(?P<day>[0-9]{1,2})/',     //Y-m-d
                    '/^(?P<month>[0-9]{1,2})\-(?P<day>[0-9]{1,2})/',
                    '/^(?P<year>[0-9]{4})\/(?P<month>[0-9]{1,2})\/(?P<day>[0-9]{1,2})/',     //Y/m/d
                    '/^(?P<month>[0-9]{1,2})\/(?P<day>[0-9]{1,2})/');
    foreach($preg_str as $str){
        if(preg_match($str,$text,$m)==1){
            if(!isset($m["year"]))$m["year"]=date("Y");
            if(!isset($m["month"]))$m["month"]=date("m");
            if(checkdate($m["month"],$m["day"],$m["year"]))
                return date("Y-m-d",strtotime($m["year"].'-'.$m["month"].'-'.$m["day"]));
        }
    }
    return null;
}

LINEボット

先日LINEのchatbot APIが正式リリースされたので、ちょっと遊んでみました。

作ったのがサークルの予定を知らせるbotなので公開はできないのですが、感じたことを少し書いてみようかと。

まず、APIが全体的に使いやすいですね。
以前Twitterbotを作った時は仕様もわからずに、殆ど既存のコードのコピペで完成させたのですが、
今回はAPIの仕様を読んで理解したうえで作ることができました。
といってもjson形式のデータをPOST送信でやり取りしていることが分かった、という程度ですけど。

色々試してみた感想として、これ何でもできるんじゃないかって思うくらい、なんか感動しました。
やはり今まで使ってたアプリが自動で動かせるって衝撃ありますよね。

あんまりまとまってませんが、こんなことを感じました。
botを完成させるうえで特定の日付を意味する文字列を正規表現で抽出、書き換えする処理を書いたので、
また今度それについて書こうかと思います。

東北縦断旅行4日目その2 ~青森編~

リゾートあすなろ竜飛で青森に着いたのは午後5時過ぎ。
まずは朝と同様に散策です。

青森散策

f:id:tateisu496:20161026010941j:plain:w240f:id:tateisu496:20161026011006j:plain:w240
駅から海の方向にまっすぐ向かうと、八甲田丸があります。
時間がなかったので中まで見学はしませんでした。
f:id:tateisu496:20161026011037j:plain:w240f:id:tateisu496:20161026011102j:plain:w240
そこから東に向かうと三角の建物が。
これはアスパムという観光物産館です。入口近くで売っていたアップルパイがとても美味しかったのでおすすめ。
f:id:tateisu496:20161026011130j:plain:w240
上の階には展望室が。
f:id:tateisu496:20161026011155j:plain:w300
360度見渡せて景色も良いので必見です。室内なのでさむくないし。

夕食は「おさない食堂」というところでホタテフライをいただきました。
一見すると普通の食堂なのですが、店内には芸能人のサインがあったり、外国人が並んでたりと、流石は有名店。
新鮮なホタテをさっと揚げたフライはとても美味でした。

f:id:tateisu496:20161026010911j:plain:w240
最後に青森駅の写真を一枚。駅前から青森ベイブリッジが見えます。

最後に

青森駅から深夜バスに乗り、この旅行は終了。
軽装で行ったので寒かったですが、意外となんとかなるものですね。
今まで行ったことのなかった北東北三県に訪れることができましたが、まだまだ観光したい場所はたくさんあるので、
また時間があれば来たいと思いました。その時は大間岬から函館に渡りたいなー、なんて。

東北縦断旅行4日目その1 ~竜飛岬編~

さて、長かった東北縦断旅行もいよいよ最終日。
1日かけて青森県を観光です。

f:id:tateisu496:20161026004817j:plain:w240
朝一で弘前を出て青森へ。
f:id:tateisu496:20161026004847j:plain:w300
朝食がてらのっけ丼を食べに行きました。
自由に具を乗せられて1,080円。お得です。
他にも散策したのですが、それは次回書くことにします。

リゾートあすなろ竜飛

せっかくの縦断旅行なので、北の端を目指したい。
そう思ったのですが本州最北端の大間岬はさすがに遠い。
ということで電車で行きやすい竜飛岬を目指します。
f:id:tateisu496:20161026004923j:plain:w300
リゾートあすなろ竜飛に乗りました。
乗客は私のほかに2,3組。青森駅のホームを出る時は乗らずに写真を撮る人の方が多いという事態でした。
f:id:tateisu496:20161026004959j:plain:w240
1時間ほどで三厩へ。まさに終着駅という感じで遠くに来たことを実感します。
ここから臨時便のバスで30分ほどで竜飛岬です。
運賃100円とお得なのですが、私の他に1組しか乗ってなくて採算取れないだろうと思うと複雑です。

竜飛岬

f:id:tateisu496:20161026005022j:plain:w240
最初に青函トンネル記念館に寄りました。
体験坑道に行くか迷ったのですが、滞在2時間のうち40分を使ってしまうのは勿体ないかと思ってやめました。
f:id:tateisu496:20161026005057j:plain:w240f:id:tateisu496:20161026005128j:plain:w240
記念館から歩いて少しのところにある展望台にのぼりました。
さすがは風が有名な場所、発電用の風車が並んでいます。この日も終始強風で寒かった。

f:id:tateisu496:20161026005233j:plain:w240
メインの竜飛埼灯台へ。これは登れないタイプのようですね。
高台の良い立地にあるのですが、北側の眺望は邪魔が多くて微妙です。南西方向は綺麗だったのですが。
f:id:tateisu496:20161026005431j:plain:w300
津軽海峡冬景色の歌詞が書かれた碑です。色々回りましたが、対岸の北海道を眺めるにはここが最適だと思います。

f:id:tateisu496:20161026005202j:plain:w240
上の方は大方見終わったので、いよいよ階段国道で下に降ります。 f:id:tateisu496:20161026005321j:plain:w240
と思ったのですが、まさかの途中で通行止め。ちょっと残念。下調べ不足が露見してますね(笑)
f:id:tateisu496:20161026005459j:plain:w300
それでも下に行ってみたいということで、遠回りして下まで降りました。
寄り道したせいもあって歩いて30分以上かかりました、、、
その割にそこまで見どころがあるわけでもないし、体験坑道に行けばよかったかもと若干後悔。

青森へ

竜飛漁港からバスに乗り、青森方面へ戻ります。
途中、義経寺で30分散策時間が設けられていたので散策です。 f:id:tateisu496:20161026005539j:plain:w240
義経寺。二日目の高館といい、この旅行は義経に縁がありますね。
f:id:tateisu496:20161026005608j:plain:w300
三厩の名前の由来となった厩石。詳細は忘れましたが義経関連の伝説が残っているようです。

帰りもリゾートあすなろ竜飛に乗って青森へ戻ります。
残すは青森駅周辺の観光のみとなりました。

移動ルート

弘前 8:06~8:55 青森

青森 10:44~11:49 三厩 (リゾートあすなろ竜飛1号)
三厩駅 12:00~12:34 青函トンネル記念館 (バス)

龍飛漁港 14:47~15:07 義経寺 (バス)

義経寺 15:37~15:42 三厩駅 (バス)
三厩 15:57~17:13 青森 (リゾートあすなろ竜飛2号)