しぐれの戯言箱

技術的なメモ書き、ポケモンの調整記事、ソシャゲ奮闘記…etc

"幻影の守る"〜シーズン17最高2050台・最終200*〜

f:id:shiguderika:20200305204801p:plain

はじめに

こんにちは。しぐれです。
剣盾発売からはや4ヶ月程度経過しましたが、ようやく重い腰を上げて7世代の構築記事を書きました。(書きかけを長らく放置したのは内緒)
何度かマッチングした方もいらっしゃると思いますがよろしければ目を通して見てください。
メガバシャーモの最後の晴れ姿です。ご覧ください。


パーティ紹介

バシャーモ

f:id:shiguderika:20191111151023j:plain

バシャーモ@メガストーン

性格:腕白

実数値:175-180-143-*-101-134

技構成:フレアドライブ とびひざげり ビルドアップ バトンタッチ

我がパーティのエース。
申し分ない性能でありながら、環境に殺されている炎・格闘の複合タイプ。
現環境で活躍させるには、逃げバトンを採用しないといけない宿命に囚われた悲しいポケモン

耐久型hbメガバシャーモ
Hはみんな大好き16n-1&8n-1の実数値175
Sは1加速で130族を抜ける実数値134にしている。
技範囲を広く取るため、守るを抜いてとびひざげりを採用した。

この構築の肝となる守るを切ったバシャーモに関する解説を。

守るを切るメリット

技範囲の向上

PGLを確認すると、バシャーモの守る採用率は81.2%である。(2019/11/11現在)
これはメタグロスアイアンヘッドの採用率69.4%(2019/11/11現在)や、
ギルガルドのキングシールドの採用率78.7%(2019/11/11現在)より高い。

それ即ち、
相手に守るの考慮を強要することができる
ということである。
守るを採用していなくても、相手はこちらに守るがあるという前提で行動しなければならない
これが"幻影の守る"の所以である。

これにより、守るを考慮させつつ、技範囲を広げることができるため、バシャーモの単体性能を飛躍的に向上させることができた。

攻撃面のメリット

先述の通り、炎・格闘のタイプ一致2ウェポンを採用することで有利対面で止まる必要がなかった

例えば、フレアドライブ1ウェポンの場合は

  • 削ることはできても、有利対面で削られてバトン役を遂行できない可能性が出てくる

などのデメリットが挙げられる。

格闘1ウェポンの場合は言うまでもないが

  • ゴーストで止まる(+HP半分削られる)

点である。

特に、ミミッキュの皮が剥げないので剣の舞のガン起点になる。

不利対面でないところで最低限活躍させるには2ウェポンというのは必須条件というのが個人的感想であった。

ビルドアップを相手に見せることで、こちらの技構成を
フレアドライブ 守る ビルドアップ バトンタッチ
1ウェポンバシャーモ偽装も可能なので、カビゴンやガルーラ、(特に)ヒードランといった格闘で抜群が取れるポケモンの居座りを誘うこともできた。

耐久に努力値を割くメリット

耐久ラインの向上から成立する行動範囲の向上

最大のメリットは何よりもまず、耐久ラインが上がることである。
こうすることにより程度の攻撃は一発耐えることができ、行動に幅が広がる。
例えばhbバシャーモVSab剣舞ミミッキュミミッキュz)の対面を想定する。従来のasバシャーモであれば特化フレアドライブを耐え調整により勝ち目がない。
しかし、hbバシャーモであればasバシャーモに比べ行動の幅が遥かに広い。

初手ミミッキュzの場合
sは抜けているためこちらの初手がビルドアップかフレアドライブかの択になる訳であるのだが
初手フレアドライブを選択していた場合皮を剥いだ上でミミッキュzを受けても61.7〜72.5%のダメージで済むため、その後からビルドアップ→フレアドライブの流れで相打ちに持ち込める
初手ビルドアップから選択していた場合ミミッキュzのダメージが41.1〜48.5%で済むため、フレアドライブフレアドライブミミッキュを処理し、勝てる可能性が高い

初手剣舞から入ってきた場合
この対面では正直これを一番考慮しなければならない。剣舞後のA+2のミミッキュzはB+1バシャーモでも82.2〜96.5%と影うち圏内に入ってしまうためだ。よってビルドアップから入ることを前提とする。
ビルドアップから入る場合、こちらのフレアドライブを考慮すると、もう一度剣舞をすることはできない。そのため確実にミミッキュzを選択する。こちらはもう一度ビルドアップを積まないといけないため、この際のダメージは61.7〜72.5%となる。この後のじゃれつく+影うちは耐えることができない。そのためこの対面は勝つことが難しい。何かしらでお膳立てをする必要性が出てくる。

abミミッキュを例に解説したが、どの様な相手にも通常のasバシャーモに比べて幅広い立ち回りや、耐久無振りを想定した相手の甘えたプレイングを押し付けることができるというのが耐久ぶりの強みであると感じた。


あと単純にビルドアップとのシナジーが良すぎる(B+1で物理方面では特化エアームドレベルの硬さを誇る。)




テッカグヤ

f:id:shiguderika:20191111150932j:plain

テッカグヤ@突撃チョッキ

性格:意地っ張り

実数値:175-168-124-*-128-104

技構成:ヘビーボンバー 地震 岩雪崩 ニトロチャージ

この構築の秘密兵器。
バシャーモのバトン先のメインとなったポケモン

スタンダードなバシャカグヤであれば、食べ残しと宿り木、身代わりで相手を嵌めていく型が多い。そんな中、チョッキフルアタテッカグヤに至った理由には以下のものが挙げられる。

ビルドアップの恩恵の高さ

テッカグヤ種族値

97-101-103-107-101-61

とSを除けば比較的満遍ない数値となっている。
単体で物理アタッカーとして運用するには物足りない種族値だが、タイプ一致メインウェポンが大半のポケモンに威力120を押し付けられるヘビーボンバーである点とビルドアップと組み合わせることで攻防一体のアタッカーが誕生するのではないか?と考えた。

技範囲と突撃チョッキのシナジーの高さ

しかし、防御を上げることが出来ても、特防面を補うことはできない
種族値の都合、H+BorDに振り切らないと確かな耐久は確立できない
HDに振り切ると無振り実数値121となりビルドアップで攻撃を上げても抜きエースとなり得る火力には届かない
そんな痒いところに手が届くのが、私の大好きな持ち物である突撃チョッキである。
突撃チョッキを持たせることで、火力に努力値を割きつつ、特防の実数値は特化252振りを超える数値を再現することができる。

また宿り木守るばかりの印象が強く、注目されないが、テッカグヤの技範囲はゲッコウガと並ぶレベルで広いので、突撃チョッキとの相性も非常に良かった。

ニトロチャージで素早さも補える

ここで足を引っ張るのが、Sの低さである。
いくら耐久を上げても、Sが足りなければカプ・コケコや霊獣ボルトロスといった高速電気タイプなどに手も足も出なくなり、抜きエースとなり得ない
構築考案時、筆者はここで頭を悩ませたのだが、まさかのニトロチャージを覚えるというところでこの問題は一気に解消された。
また炎技を搭載することで、ナットレイや(頑張れば)テッカグヤミラーなんかでも打点を持つこともできる。
バトンで能力を補わなくても、ニトロチャージで自ら相手を起点にすることも可能であった。
突撃チョッキテッカグヤに必須となる技であると思われる。

カプ・レヒレ

f:id:shiguderika:20191111151106j:plain

カプ・レヒレ@ミズz

性格:控えめ

実数値:175-*-136-151-150-116

技構成:ハイドロポンプ ムーンフォース 凍える風 瞑想

バトン先の2番手。sを削ってガッツリ耐久に回した型。
カバマンダガルドの対抗兵器であったりこご風水zでミミッキュを落とすことが主な役割。
バシャーモ軸でどうしても重くなるカバマンダガルドの並びを1人で半壊させられる性能には感服の一言。
剣舞物理ガルド?知らんな

ポリゴンz

f:id:shiguderika:20191111151039j:plain

ポリゴンz@ノーマルz

性格:控えめ

実数値:忘れた

技構成:騒ぐ シャドーボール 身代わり 悪巧み

オニゴーリ兼欠伸カバルドン対策枠。
よく見る受けループ対策型。+4ノーマルzで軌跡ラッキー落とせることを知った時には椅子から転げ落ちた。
読まれてゴーストで透かされた回数は数知れず。

マンムー

f:id:shiguderika:20191111151054j:plain

マンムー@ラムのみ

性格:意地っ張り

実数値:191-200-109-*-98-100

技構成:地震 つらら落とし 岩石封じ 氷のつぶて

カバマンダガルド対策の2枠目
Aぶっぱ+特化マンダの捨て身超高乱数以外耐え調整+残りDに回した耐久型

ジャローダ

f:id:shiguderika:20191111151006j:plain

ジャローダ@ひかりのねんど

性格:臆病

実数値:182-*-115-95-116-181

技構成:リーフストーム めざめるパワー(岩) リフレクター ひかりのかべ

リザガッサの対策枠の壁貼り役。
ガッサを起点にしてめざ岩でリザードンを56す。この時だけxではないことをお祈り🤲

【Special Thanks枠】

ナットレイ

f:id:shiguderika:20191111151014j:plain

ナットレイきあいのタスキ

性格:意地っ張り

実数値:181-160-151-*-137-*

技構成:タネマシンガン ジャイロボール 大爆発 ステルスロック

不意にリザードンを屠る爆発ナットレイ
割と重めのアーゴヨンも対面から屠ることができる。悪巧みなんて甘えた行動すると4ぬぞアーゴヨン
最高レートを出したあたりではジャローダ抜いてナットレイ使ってた。
らんぽけさんが使っているのを見て使用させていただいた型。襷は相手が全く考慮しないため普通に強かった。

終わりに

最後の方は自分で考えた型じゃないため雑になったがこんな感じです。
剣盾でバシャーモでたらまた似たような型を使いたいなぁとか思います。
今更ですが7世代お疲れ様でした!!アローラ最高!!!!!

python画像処理日記【罫線内の塗りつぶし】

はじめに

こんにちは、しぐれです。

前回、画像から白黒エリアを決定して、境界に線引きをする所までやりました。
今日は引いた罫線内を塗りつぶして、ナンバープレートを隠す所までやって行きたいと思います。

以下ソースコード


ソースコード

import numpy as np
import cv2
import os
from PIL import Image
import re
import matplotlib.pyplot as plt

img = cv2.imread("c.jpg")

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, thresh = cv2.threshold(gray,150,255,cv2.THRESH_BINARY)

cv2.imwrite('b.jpg',thresh)
cv2.imshow('b.jpg',thresh)


contours, hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

cv2.drawContours(img, contours, -1, color=(255,255,255),thickness=-1 )

cv2.imwrite('finala.jpg',img)
cv2.imshow('fianla.jpg',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

出力結果

f:id:shiguderika:20191206134049j:plain
図1 元画像

f:id:shiguderika:20191206134115j:plain
図2 白黒エリアを決定した画像

f:id:shiguderika:20191206134147j:plain
図3 出力画像


終わりに

とりあえずナンバープレートは隠れましたね()

次回はこれをカメラで取り込んだ映像で出力できるようにしたいと思います。


python画像処理日記【四角形の認識】

はじめに

こんにちは。しぐれです。
前回の輪郭線の描写を使って、図形(四角形)の認識を行うものを作成しました。
(認識率はさておき)とりあえず形になるものができたので、ソースコードを掲載しておきます。


ソースコード


mport cv2
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
#%matplotlib inline

#イメージファイルを読み込み
img = cv2.imread("a.jpg",cv2.IMREAD_GRAYSCALE)

#しきい値指定によるフィルタリング
ret,threshold = cv2.threshold(img,140,255,cv2.THRESH_BINARY)

cv2.imwrite('thresha.jpg',threshold)
cv2.imshow('thresha.jpg',threshold)

#輪郭を抽出
contours,hierarchy = cv2.findContours(threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

font = cv2.FONT_HERSHEY_DUPLEX

#図形の変数
rectangle = 0

#図形の設定
for cnt in contours:
    approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)
    cv2.drawContours(img, [approx],0,(0),2)
    x = approx.ravel()[0]
    y = approx.ravel()[1]

    if len(approx) == 4:
        rectangle += 1
        cv2.putText(img, "rectangle{}".format(rectangle),(x,y),font,0.8,(0))


cv2.imwrite('output_shapes.png',img)
cv2.imshow('output_shapes.png',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

実行結果

f:id:shiguderika:20191120165508j:plain
図1:元画像



f:id:shiguderika:20191120165024j:plain
図2:グレースケール化したもの



f:id:shiguderika:20191120165041p:plain
図3:四角形と認識したものに輪郭線を引いたもの


終わりに

余計なところも四角形として認識されていますが、とりあえずナンバープレートに輪郭線が入っているためまあ良しとしましょう。

次は四角形認識された所にモザイクを入れる処理を入れたいですね。

突発?大会 〜剣盾争奪戦!ギルガルド1on1 〜 大会概要

はじめに

こんにちは。しぐれです。
7世代ラストということでポケットモンスター完全新作ソード/シールドを掛けた仲間大会を開催しようと思います。
お金の工面がついたので開催にこぎつけました。よろしければ運試しと思って参加してみて下さい。

大会について

本大会はポケットモンスターソード/シールドを景品とした仲間大会になります。

大会URL

3ds.pokemon-gl.com

開催日時

2019/11/15 21:00 〜 2019/11/16 1:00

大会ルール

参加可能ポケモン

爆発要員2体+ギルガルドと名の付くポケモン
(手持ち6匹はOK)

試合の流れ

1体目、2体目に爆発要員を出し、3体目のギルガルドで勝負します。

爆発要員には

  • 天候を変更するもの

上記に該当するポケモンは使用しないようにして下さい。

参加条件

記事掲載のツイートをリツイートした上で、リプorDMで

  • トレーナーネーム
  • PGLのログイン後の画面(トレーナーの写真が確認できる画像)

をお送りください。

(景品付きのため本人確認用に使用します。)

注意事項

  • 複数ロムでの参加は禁止します。
  • 開催された際の生配信等は自由に行って下さい。
  • ソード/シールドが景品になるのは30名以上の参加者が集まった場合になります。
  • 景品当選順位はランダムに抽選されます。1位の方とは限りませんのでご注意ください。

(現段階では確定ではないですが、上位から抽選の可能性有)

終わりに

最後の条件はなんじゃこりゃ、と思う方もいらっしゃるでしょうが、無名トレーナーが景品付き大会を行うとどれくらい人が集まるのか見てみたい、というニュアンスがあるのでお付き合いのほどよろしくお願いします。

大会内容に不明な点がある等、何かありましたら遠慮なくご連絡ください。

それではよろしくお願いします!!

pythonで練習問題解いて遊んでたよという話

はじめに

こんにちは。しぐれです。

なんとなくpythonの基礎的な問題を解いて遊びたいなー、と思っていた所、面白そうな問題を発見しました。

以下リンク

http://yay.cla.kobe-u.ac.jp/~jm/edu/2016/PB/python3/python3ex01.html
*無断転載のため、問題がある場合は削除します。

とりあえず、解いてみたところを載っけようと思っただけの記事

以下ソースコード

練習問題ソースコード

# -*- coding: utf-8 -*-
from mutagen.mp3 import MP3 as mp3
import cv2
import numpy as np
import pygame
from PIL import Image
import matplotlib.pyplot as plt
#%matplotlib inline

#ex1

a = 5
b = 2

print("5 + 2 = "+str((a+b)))
print("5 - 2 = "+str(a-b))
print("5 X 2 = "+str(a*b))
print("5 ÷ 2 = "+str(int(a/b))+" 余り "+str(a%b))
print("5 ÷ 2 = "+str(a/b))

#ex2

print("英語の成績を入力して下さい>")
eng = int(input())

print("数学の成績を入力して下さい>")
math = int(input())

print("英語の得点:"+str(eng))
print("数学の得点:"+str(math))
print("合   計:"+str(eng+math))
print("平   均:"+str((eng+math)/2))

#ex3

print("身長をm単位で入力して下さい>")
m = float(input())

print("体重をkg単位で入力して下さい>")
kg = float(input())

print("BMI = "+str(float(kg/(m*m))))

#ex4

print("時速をkm単位で入力して下さい>")
zisoku = float(input())
byousoku = zisoku*1000/3600
print(str(zisoku)+"km/hの秒速は"+str(byousoku)+"m/sです")

#ex5
print("10進数で数字を入力してください>")
c = int(input())

print(str(c)+"の2進数は"+format(c,'b').zfill(8)+"です")

とりあえず5題分解いてみた。

終わりに

暇つぶしにちょうど良かった(KONAMI感)
format().zfill(x)で桁数の指定ができるのを知れたのはいい勉強になった。

おわり

python画像処理日記【OpenCVで画像の輪郭検出】

はじめに

こんにちは、しぐれです。
現在、図形(四角形)を識別するようなモノを作りたいのですが、まずは輪郭の識別から、ということらしいです。
そこで、画像から輪郭を抽出し、描画できるようなモノを作りました。

以下ソースコード


ソースコード

import numpy as np
import cv2
import os
from PIL import Image
import re
import matplotlib.pyplot as plt

#画像読み込み
im = cv2.imread('ok.jpg')
#グレイスケール化
im_gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
#ガウシアンブラーをかける
#im_blur = cv2.GaussianBlur(im_gray,(11,11),0)
#thresholdを使って白黒エリアの決定
ret, thresh = cv2.threshold(im_gray,63,255,cv2.THRESH_BINARY)

#白黒画像の表示
cv2.imshow('thresh.jpg',thresh)

#輪郭の検出
contours,hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

#輪郭書き込み
contimg = cv2.drawContours(im,contours,-1,(0,255,0),3)

#最終表示
cv2.imwrite('final.jpg',contimg)
cv2.imshow('final.jpg',contimg)
cv2.waitKey(0)
cv2.destroyAllWindows()

特に

#thresholdを使って白黒エリアの決定
ret, thresh = cv2.threshold(im_gray,63,255,cv2.THRESH_BINARY)

ここの第二引数の値によって白黒エリアが変わるそうです。


出力結果

使用した元画像がこちら
f:id:shiguderika:20191108142700j:plain
図1:元画像



thresholdを使った結果画像がこちら

f:id:shiguderika:20191108142323j:plain
図2:63の時の画像

f:id:shiguderika:20191108142458j:plain
図3:30の時の画像

f:id:shiguderika:20191108142606j:plain
図4:120の時の画像

数値を上げるほど元画像がわかりやすくなっている印象。



最終的に元画像に輪郭を描写した画像がこちら

f:id:shiguderika:20191108142946j:plain
図5:輪郭を描写した画像(引数120の時)

輪郭線の色はおそらく

#輪郭書き込み
contimg = cv2.drawContours(im,contours,-1,(0,255,0),3)

ここの第四引数で決定しているようですね。


終わりに

これをカメラ映像でリアルタイムに検知できるようにするのが次の目標かな?

python3でバイト先のシフト管理ツールを作成したいという話。

タイトルの通り。

pythonを使ってカレンダーの取得は可能らしい。



以下ソースコード

import calendar

print(calendar.month(2019,11))


出力結果

 November 2019
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

2行で取得できる楽チンカレンダー。



これを応用して個人のシフト表提出ツールみたいな物を作りたいと模索中。

現状、googleフォーム使った方が早いんだけどね、、(虚無)