Der Begriff Umgebung, der in Pokemon-Schlachten verwendet wird, bezieht sich darauf, welche Art von Pokemon, Strategie und Konstruktion in der Rangschlacht von Pocket Monster Sword Shield verwendet werden. Man kann sagen, dass der wahre Nervenkitzel des Pokemon-Kampfes darin besteht, eine Struktur zu schaffen, die in der aktuellen Umgebung leicht zu gewinnen ist, indem man die Umgebung kennt und das Meta dafür berücksichtigt.
In Character Rank Maker, betrieben von Pokemon Soldier, einer Website zum Austausch von Pokemon-Kampfinformationen für Apts. Bewertungen von S bis E können persönlich festgelegt werden, und auf die Charakter-Ränge, die von berühmten Kommentatoren und Kommentatoren von Videos subjektiv bewertet werden, wird verwiesen.
Pokemon Soldier selbst veröffentlicht regelmäßig seinen Charakterrang. https://youtu.be/TMXQ497foRg
Der S-Rang dieses Charakter-Ranges wird im Video von Pokemon Soldier als "Zentrum der Umgebung" definiert. Andererseits dachte ich, dass das Problem darin bestand, dass die Bewertung des Umweltzentrums subjektiv war und dass eine quantitative Bewertungsmethode erforderlich war.
Ziel ist es, "das Zentrum der Umwelt quantitativ zu bewerten". In diesem Artikel möchte ich das Zentrum der Umgebung anhand der Daten so weit wie möglich berücksichtigen.
Pokemon Home ist eine Pokemon-Verwaltungs-App, die auf Smartphones und Switch verwendet werden kann. Da die Anzahl der Pokémon, die in der Software gespeichert werden können, begrenzt ist, können Sie sie verwenden, indem Sie hier unnötige Pokémon vorübergehend speichern.
Darüber hinaus ist dieses Pokemon-Heim mit einer Austauschfunktion, Pokemon-Umgebungsinformationen in Ranglistenschlachten, Spieler-Ranglistenfunktion usw. ausgestattet und wird häufig für Umweltumfragen unter geeigneten Personen verwendet.
API Wie im Artikel hier vorgestellt, verwendet Pokemon Home direkt die in der App verwendete API, indem der User-Agent getarnt wird. Sie können JSON-Daten erhalten, indem Sie darauf klicken. Die folgende API wird diesmal verwendet. Bitte überprüfen Sie den Link für Details.
#Informieren Sie sich über die Saisonbedingungen
https://api.battle.pokemon-home.com/cbd/competition/rankmatch/list
#Erfassung von Kampfdaten für die jeweilige Saison / Laufzeit
https://resource.pokemon-home.com/battledata/ranking/$id/$rst/$ts2/pokemon
#Pokemon-Daten für die jeweilige Saison
https://resource.pokemon-home.com/battledata/ranking/$id/$rst/$ts2/pdetail-$j
Um die Umgebung in eine Form zu bringen, die visuell leicht zu verstehen und zu analysieren ist, werden wir diesmal eine Bewertung anhand von Diagrammen in Betracht ziehen. In Bezug auf die Grafik gibt es einen Artikel, den ich in der Vergangenheit geschrieben habe. Weitere Informationen finden Sie unter hier.
In diesem Artikel haben wir uns entschlossen, die hohe Rate der gleichzeitigen Einführung mit Pokemon zu bewerten, das die höchste Nutzungsrate aufweist. Dies liegt daran, dass ich dachte, dass der Fokus der Umgebung eher auf den Auswirkungen auf andere Pokémon und der Leichtigkeit liegen sollte, sie in die Gruppe zu integrieren, als auf der Leistung einer einzelnen Einheit. In Anbetracht der Top 10 Pokemon mit hoher gleichzeitiger Akzeptanzrate der Top 30 Pokemon Home-Nutzungsraten-Rankings werden wir die Beziehung mit einem ungerichteten Diagramm visualisieren.
In einem ungerichteten Diagramm müssen Sie Knoten und Kanten definieren.
Dieses Mal erstellen wir ein Diagramm mit Knoten als Pokemon und Kanten als Vorhandensein oder Nichtvorhandensein der höchsten gleichzeitigen Adoptionsrate.
Wenn wir beispielsweise 10 Tiere betrachten, die eine hohe gleichzeitige Adoptionsrate mit Aceburn aufweisen, werden wir 10 Kanten vom Aceburn-Knoten zu jedem Pokemon-Knoten erweitern.
Dies wurde für die Top 30 Pokemon wiederholt und es wurde angenommen, dass das Pokemon, das über den Knoten mit der höchsten Ordnung herrscht, das Pokemon ist, das eine starke gegenseitige Beziehung zu dem Pokemon an der Spitze der Umgebung hat.
Die erforderlichen Daten lauten wie folgt.
--Pokemon-Bilderbuch (Zuordnung von Bildbuchnummer und -name)
Als ich nach einem Pokemon-Bilderbuch suchte, das mit 8 Generationen kompatibel ist, gab es eine Person, die es als JSON-Datei verteilte, also habe ich [hier] ausgeliehen (https://github.com/dayu282/pokemon-data.json). .. Da die Informationen zu Pokemon wie Ulaos Brizapos, die hinzugefügt wurden, nachdem die isolierte Insel der Rüstung noch nicht aktualisiert wurde, wenn Sie es in der neuesten Umgebung versuchen, ist das Ergebnis aufgrund des Pokemon, das nicht im Bilderbuch enthalten ist, etwas verrauscht.
> git clone https://github.com/dayu282/pokemon-data.json
import json
pokedex = {}
for i in range(8):
#Pokemon für alle Generationen hinzugefügt
j = i + 1
with open("pokemon-data.json/en/gen" + str(j) + "-en.json", "r", encoding = "utf-8") as f:
pokemons = json.loads(f.read())
for pokemon in pokemons:
pokedex[pokemon["no"]] = pokemon["name"]
#Holen Sie sich alle Saisoninformationen und speichern Sie sie im JSON-Format
> curl https://api.battle.pokemon-home.com/cbd/competition/rankmatch/list \
-H 'accept: application/json, text/javascript, */*; q=0.01' \
-H 'countrycode: 304' \
-H 'authorization: Bearer' \
-H 'langcode: 1' \
-H 'user-agent: Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Mobile Safari/537.36' \
-H 'content-type: application/json' \
-d '{"soft":"Sw"}' \
-o season.json
with open("season.json", "r", encoding = "utf-8") as f:
data = json.load(f)["list"]
#Ordnen Sie nur die erforderlichen Informationen für jeden Begriff
terms = []
for season in data:
for id in data[season]:
terms.append({"id" : id, "season" : data[season][id]["season"], "rule" : data[season][id]["rule"], "rst" : data[season][id]["rst"], "ts1" : data[season][id]["ts1"], "ts2" : data[season][id]["ts2"]})
Durch Einbetten von Variablen in den Befehl mit Jupyter wird dieser mithilfe einer Schleife erfasst. Pokemon-Informationen sind in 5 Teile unterteilt. Holen Sie sich also alle pdetail- {1 bis 5} und verketten Sie sie.
for term in terms:
if term["rule"] == 0:
#Erwerb der Kampfumgebung
id = term["id"]
rst = term["rst"]
ts1 = term["ts1"]
ts2 = term["ts2"]
pokemons_file = str(id) + "-pokemons.json"
!curl -XGET https://resource.pokemon-home.com/battledata/ranking/$id/$rst/$ts2/pokemon -H 'user-agent: Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Mobile Safari/537.36' -H 'accept: application/json' -o $pokemons_file
for i in range(5):
#Holen Sie sich Pokemon-Informationen für den Begriff
j = i + 1
pokeinfo_file = str(id) + "-pokeinfo-" + str(j) + ".json"
!curl -XGET https://resource.pokemon-home.com/battledata/ranking/$id/$rst/$ts2/pdetail-$j -H 'user-agent: Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Mobile Safari/537.36' -H 'accept: application/json' -o $pokeinfo_file
id = 10011 #Staffel 1 Einzelschlacht
#Top Pokemon Liste
with open(str(id) + "-pokemons.json", "r", encoding = "utf-8") as f:
top_pokemons = json.load(f)[:30]
#Pokemon Informationen
pokemons_info = {}
for i in range(5):
j = i + 1
with open(str(id) + "-pokeinfo-" + str(j) + ".json") as f:
data = json.load(f)
for index in data.keys():
pokemons_info[index] = data[index]
Nachdem wir die erforderlichen Daten haben, werden wir ein Diagramm zeichnen.
nodes = [] #Knotenliste
edges = [] #Kantenliste
#Betrachten Sie die Top 30
for pokemon in top_pokemons:
#Füge das Pokémon dem Knoten hinzu
nodes.append(pokedex[pokemon["id"]])
#Pokemon hinzugefügt, um zusammen adoptiert zu werden
with_poke_list = pokemons_info[str(pokemon["id"])][str(pokemon["form"])]["temoti"]["pokemon"]
for with_poke in with_poke_list:
nodes.append(pokedex[with_poke["id"]])
if (pokedex[with_poke["id"]], pokedex[pokemon["id"]]) not in edges: #Vermeiden Sie Doppelarbeit auf Bestellung
edges.append((pokedex[pokemon["id"]], pokedex[with_poke["id"]]))
nodes = list(set(nodes)) #Konvertieren Sie einmal in ein Set und machen Sie es einzigartig
import networkx as nx
import matplotlib.pyplot as plt
from matplotlib import font_manager
#Ungültige Diagrammerstellung
G = nx.Graph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
#Berechnen Sie die durchschnittliche Reihenfolge des gesamten Netzwerks
average_deg = sum(d for n, d in G.degree()) / G.number_of_nodes()
#Die Größe muss proportional zum Grad des Knotens sein
sizes = [2500*deg/average_deg for node, deg in G.degree()]
plt.figure(figsize=(15, 15))
nx.draw(G, with_labels=True, node_color = "lightblue", node_size = sizes, edge_color = "black")
plt.axis('off')
plt.savefig(str(id) + '-graph.png')
plt.show()
#Sortieren Sie die Knoten in absteigender Reihenfolge
nodes_sorted_by_degree = sorted(G.degree(), key=lambda x: x[1], reverse=True)
print(nodes_sorted_by_degree)
#Ausgabe des Auftragsrankings
x, height = list(zip(*nodes_sorted_by_degree))
plt.figure(figsize=(15, 15))
plt.xlabel("Number of degrees")
plt.ylabel("Name of node")
plt.barh(x, height)
plt.savefig(str(id) + '-degs.png')
plt.show()
Ich werde sie in der Reihenfolge von Staffel 1 zeigen. Es gibt Lärm, nachdem das Verbot der isolierten Rüstungsinsel aufgehoben wurde.
Die Schwertschildumgebung wird geöffnet. In Bezug auf die Ordnung sind Mimikyu, Rotom, Drapart, Drews usw. überwiegend das Zentrum der Umwelt. Wenn Sie sich die Grafik ansehen, werden 9 Pokémon in der Mitte verfestigt und andere Pokémon werden so gezeichnet, dass sie sie umgeben. Sie können also davon ausgehen, dass 9 Pokémon in der Mitte der Umgebung den S-Rang haben.
Die Umgebung beginnt sich zu verändern. Interessant ist die neue Linie, die sich vom Rand nähert. Nuruant, Brimond Saidon, Nuodehide usw. betreten die Umwelt.
Kyodai Max Cavigon und Kyodai Max Laplace wurden enthüllt. Betreten Sie sofort die Umgebung. Zu diesem Zeitpunkt hat Laplace eine hohe Adoptionsrate, aber die gleichzeitige Adoptionsrate mit Pokemon, das sich an der Spitze der Umgebung befindet, ist nicht so hoch. In Anbetracht dieses Diagramms wird es tatsächlich als A oder B anstelle des S-Ranges bewertet.
Einige neue Kyodai Max Pokemon wurden gehoben, aber es gibt nicht viel zu ändern. Cortus Lizardon betritt die Umgebung.
Keine besondere Änderung.
Natrey wird immer beliebter. Keine weiteren Änderungen.
Aufhebung des Verbots isolierter Inseln in Rüstung. Mit der Aufhebung des Verbots der Traumeigenschaften von Aceburn Gorilander und der Aufhebung des Verbots von Kyodai Max werden wir uns sofort mit dem Zentrum der Umwelt befassen. Cavigon Armor Gaa beginnt sich aus dem Zentrum der Umgebung zu bewegen. Halten ist ein wenig beliebt.
Pokemon Home aufgehoben. Pokemon mit einem Empfangsschleifentemperament wie Luft, Glück, Nutray und Dohideide betreten die Umgebung. Cavigon wird akzeptiert und ist nicht in der Umwelt. Im Zentrum der Umgebung, in der Polygon 2 tobt. Der Wert von Cabaldon für die Schaffung eines Ausgangspunkts steigt und Cabaldon wird zum Zentrum der Umwelt. Charizard-1 ist übrigens Ulaos, der ein Problem mit Bilderbüchern hat.
Die Grenze im Zentrum der Umgebung beginnt klar zu werden. Galados und Drews gehen ein wenig runter. Die Empfangsschleife beginnt auch außerhalb der Umgebung zu erscheinen.
Die Umgebung hat sich aufgrund der Regel, die hochrangige Pokémon verbietet, drastisch verändert. Ulaos, Patchragon, Lizardon, Natrey, Rotom und Achilleine stehen im Mittelpunkt der Umwelt. Cavigon und Iron kehren in die Umwelt zurück. Morobarrel Pixie kommt in die Umwelt.
Genger steht im Zentrum der Umwelt. Keine weiteren Änderungen.
Aufhebung des Verbots des Schneefeldes der Krone. Semi-Legenden wie Landros, Tekkaguya, Cap, Rehile, Thunder und Uturoid nehmen den größten Teil der Umwelt ein. Aus den Daten der 12. Staffel geht hervor, dass sich das Zentrum der aktuellen Umgebung um Mimikyu, Aceburn, Polygon 2, Gorilander, Tekkaguya, Caprehille, Landros, Thunder und Utsuroid befindet.
Ich habe den Charakterrang ab Staffel 12 wie folgt festgelegt, basierend auf der Reihenfolge. Bitte nehmen Sie Bezug darauf. Es mag voller Theorie sein, aber ich hoffe, es wird Ihnen als Index nützlich sein. Lass uns ein gutes Pokemon-Leben haben!
Nachtrag: Jemand hat etwas Ähnliches gemacht https://qiita.com/b_aka/items/9020e3237ff1a3e676e4
Recommended Posts