今年の回文の日に向けて、相撲回文お助けツールを作りました。

相撲回文

テキストを反対から記述する回文お助けツール

まずはこちらを使ってみてください。



上にテキストを入れると、回文ができやすいように下で文字を反対から記述してくれます。

12月21日は回文の日

去年の12月21日、こんな記事が出ていました(といっても記事が公開されたのは2021年)

芋の里

相撲回文が話題になったことがあったんだ!
と調べてみると、どうやら2013年にブームがあったようです。

寺尾の「おら寺尾」これ名作ですね!改めてご冥福をお祈りいたします。

芋の里

芋の里は回文大好きなので、回文が作りやすいツールを作ろうと考えました!

回文を作りやすい力士

短い名前の力士

「宇良、笑う」「おら寺尾」「阿炎シビア」などのように、2文字、3文字であれば短い回文を考えやすいです。
逆に「豊昇龍(ほうしょうりゅう)」など小さい文字が入るものは難易度高めだと思います。
作りやすそうな力士と芋の里の回文例です。

  • 阿炎(あび)= 阿炎、飲むの?ビア(あびのむのびあ)
  • 宇良(うら)= 宇良、狙う(うらねらう)
  • 狼雅(ろうが)= 耐えた狼雅がうろたえた(たえたろうががうろたえた)
  • 天空海(あくあ)= むかつく天空海、靴噛む(むかつくあくあくつかむ)
  • 日翔志(ひとし)= 日翔志と火(ひとしとひ)
  • 紫雷(しでん)= 紫雷、新弟子(しでんしんでし)
  • 獅子(しし)= 獅子の炒めたイノシシ(ししのいためたいのしし)
  • 勇磨(ゆうま)= 舞う勇磨(まうゆうま)

苦しいのが何個かあり、阿炎はあまりにも苦しすぎますが・・・

芋の里

日本語で「ビア」という人はほとんどいないですね
天空海、獅子はそのまま名前が「あくあ」「しし」で回文ですね。

芋の里

むかついた天空海、鯛つかむ(むかついたあくあたいつかむ)」の方が縁起が良さそうなんで、今場所は天空海に優勝してもらってこの場面を再現して欲しいです

短い回文が出来たら少し付け足す

「宇良、蠅払う(うらはえはらう)」「素で、おら寺尾です(すでおらてらおです)」などのように短い文字を付け足していくとどんどん長い文になっていきやすいです。

「宇良は支払う」「宇良、桃もらう」みたいに、宇良だったら100個位出来そうですね!

回文お助けツールのプログラムの説明

HTML

<label for="originalText">元のテキスト:</label>
<input type="text" id="originalText" oninput="reverseText()" placeholder="きりしま">

<label for="reversedText">逆のテキスト:</label>
<input type="text" id="reversedText" placeholder="ましりき" readonly>

2つのinput要素がありますが、上にテキストを入れます。下はreadonlyなので、テキストを打つことはできません。

JavaScript

function reverseText() {
  var originalText = document.getElementById('originalText').value;
  var reversedText = originalText.split('').reverse().join('');
  document.getElementById('reversedText').value = reversedText;
}

id=”originalText”の値を、1文字ずつにsplitで分解し、その後reverseで反転、最後にjoinで結合しています。
そしてその結合した文字をid=”reversedText”で表示させています。

回文にしやすい四股名を逆さにするテーブルを作りました

さらに、今年の相撲回文に皆さんが出しやすいように、四股名のひらがなを逆にするプログラムも作りました。

照ノ富士 てるのふじ
霧島 きりしま
豊昇龍 ほうしょうりゅう
貴景勝 たかけいしょう
琴ノ若 ことのわか
大栄翔 だいえいしょう
高安 たかやす
宇良 うら
若元春 わかもとはる
熱海富士 あたみふじ
翠富士 みどりふじ
阿炎 あび
豪ノ山 ごうのやま
北勝富士 ほくとふじ
翔猿 とびざる
正代 しょうだい
竜電 りゅうでん
錦木 にしきぎ
金峰山 きんぼうざん
湘南乃海 しょうなんのうみ
一山本 いちやまもと
朝乃山 あさのやま
北青鵬 ほくせいほう
平戸海 ひらどうみ
御嶽海 みたけうみ
明生 めいせい
玉鷲 たまわし
佐田の海 さだのうみ
剣翔 つるぎしょう
王鵬 おうほう
隆の勝 たかのしょう
妙義龍 みょうぎりゅう
美ノ海 ちゅらのうみ
遠藤 えんどう
琴勝峰 ことしょうほう
阿武咲 おうのしょう
友風 ともかぜ
大の里 おおのさと
宝富士 たからふじ
武将山 ぶしょうざん
島津海 しまずうみ
碧山 あおいやま
大奄美 だいあまみ
水戸龍 みとりゅう
錦富士 にしきふじ
東白龍 とうはくりゅう
狼雅 ろうが
北の若 きたのわか
玉正鳳 たましょうほう
琴恵光 ことえこう
千代翔馬 ちよしょうま
欧勝馬 おうしょうま
時疾風 ときはやて
白熊 しろくま
かがやき
獅子 しし
志摩ノ海 しまのうみ
紫雷 しでん
朝紅龍 あさこうりゅう
大翔鵬 だいしょうほう
尊富士 たけるふじ
白鷹山 はくようざん
天空海 あくあ
英乃海 ひでのうみ
千代丸 ちよまる
天照鵬 てんしょうほう
勇磨 ゆうま
欧勝海 おうしょううみ
千代栄 ちよさかえ
栃武蔵 とちむさし

四股名を逆にするプログラムの説明

HTML

<table id="kaibun">
<tr><th>照ノ富士</th><td>てるのふじ</td></tr>
<tr><th>霧島</th><td>きりしま</td></tr>
</table>

記述しているコードは四股名の漢字名、ひらがなのみにしています。

実際は他の力士もテーブルにデータが入っています。

JavaScript

const kaibunTable = document.getElementById('kaibun');
if (kaibunTable) {
  kaibunTable.querySelectorAll('tr').forEach(row => {
    const firstTd = row.querySelector('td');
    if (firstTd) {
      const reversedText = firstTd.textContent.split('').reverse().join('');
      const newTd = document.createElement('td');
      newTd.textContent = reversedText;
      row.appendChild(newTd);
    }
  });
}

もしkaibunというidがあった場合、すべてのtr要素を取得し、各行にプログラムを実行します。

最初のtdがあった場合、テキストを1文字ずつsplitで分解し、その後reverseで反転、最後にjoinで結合しています。

芋の里

最初の回文お助けツールと同じですね。

その後、新しいtd要素を作り、そこに反転したテキストを入れることで、四股名が反転して表示されます。

説明が不十分だと思いますが、相撲回文づくりに役立ててください!

芋の里

そして、今年の12月21日は「相撲回文」ハッシュタグで投稿しまくりましょう!

また、芋の里の今年の抱負は「関取全員の回文を作る」に決まりました!