納得!朝三暮四

色々書きます

自動で表を作るプログラム -入出力-

まず入力です。

{{Moveentry/5|646B|Kyurem|type=Dragon|type2=Ice|1|Undiscovered|Undiscovered|||92{{sup/5|B2W2}}|92|92|form=Black Kyurem}}

Bulbapediaで使われているMediaWiki記法(テンプレート)で書かれた英語のポケモンのわざを覚えるレベル表です。

出力です。

{| {{graytable|c}}
! rowspan="2" | ポケモン名 || colspan="9" | ソフト
|-
! RSE/FRLG
! DP || Pt || HGSS
! BW || B2W2
! XY || ORAS
! SM
|-
! [[キュレム]]<br />(ブラックキュレム)
| -
| colspan="3" | -
| × || Lv.92
| colspan="2" |  Lv.92
| Lv.92
|}

ポケモンWikiで使われているMediaWiki記法の日本語の表です。やりたいことはこういうことです。

入力を説明します。

{{Moveentry/5|646B|Kyurem|type=Dragon|type2=Ice|1|Undiscovered|Undiscovered|||92{{sup/5|B2W2}}|92|92|form=Black Kyurem}}

「Moveentry/5」はテンプレート名の宣言です。それ以降に変数を並べて与え、テンプレートを展開します。「type=Dragon」のように変数名と値を与える以外に、変数名を省略すると順番に変数名1,2,3...に値をぶち込んでくれます。

1はポケモンの図鑑番号です。こっからポケモンの日本語名を引っ張ってきます。
2はポケモンの英語名です。使いません。
type,type2はポケモンのタイプです。使いません。
3はポケモンタマゴグループ数です。使いません。
4,5はポケモンタマゴグループです。使いません。
6,7,8,9,10が第三世代~第七世代において覚えるレベルです。入力のない部分は覚えないか、そのポケモンが未登場かです。世代内のソフトで異なる場合sup/xというテンプレートで補足しています。
formはポケモンのフォルムです。

上の例の場合、(図鑑番号646、ドラゴン・こおりタイプ、たまごみはっけんグループの)キュレム(ブラックキュレム)が、第五世代のB2W2でレベル92、第六世代でレベル92、第七世代でレベル92でわざを覚えることを示しています。

出力を説明します。

{| {{graytable|c}}
! rowspan="2" | ポケモン名 || colspan="9" | ソフト
|-
! RSE/FRLG
! DP || Pt || HGSS
! BW || B2W2
! XY || ORAS
! SM
|-
! [[キュレム]]<br />(ブラックキュレム)
| -
| colspan="3" | -
| × || Lv.92
| colspan="2" |  Lv.92
| Lv.92
|}

テンプレートgraytableは表の形式を示すテンプレートです。「!」が見出しで「|」がそれ以外のセルを表します。「|-」は表の改行です。改行して「!」または「|」を置くか、「||」で繋ぐことで右のセルに移ります。「colspan」が横のセル連結、「rowspan」が縦のセル連結を意味します。言葉で説明しても意味不明になったのでWikipediaのヘルプとか見てください。