日向坂曲ドラフトで使えるスクリプト

# はじめに
日向坂ファン同士で曲を争奪していく遊びしてます。

詳しくはこっち
↓
https://funyofunyo.hatenablog.com/entry/2025/02/08/110825

現時点で全132曲、「何が指名済みだったかな？」と確認するのが大変です。

「あと何が指名できるの～😭」となって大変だったので、18巡、残り3回ずつ指名あたりでまだ残ってる曲のリストを出しました。

Googleシートでまとめて、それを別シートで全体1位から100位まで並べて、それをコピペする方形です。

もしかしたら他にもやりたい人が居るかもしれないので、しょぼいコードですが置いときます。

rubyが動けばいいだけなので割と敷居は低いかも？


# スクリプト
```ruby:Hinatazaka46_songs_checker.rb
# ドラフト指名した曲を渡したら、まだ指名されてない曲を返すやつ

# All Hinatazaka Songs from txt
file_name = "all_hinata_songs.txt"
all_songs = []

# open File
begin
  file = File.open(file_name, "r")
  contents = file.read
  # puts contents

  all_songs = contents.split("\n")
  all_songs = all_songs.reject { |line| line.strip.empty? }
ensure
  # if opened file, close
  file.close if file
end



# puts "All songs"
# puts all_songs.count
# puts all_songs
# puts "----- all songs END ----- "
# exit

puts "Input Drafted Songs : "

max_newlines = 100
input = ""
lines_count = 0

while lines_count < max_newlines
  line = gets

  break if line.nil? # 空行だったら終了

  input += line
  lines_count += 1 if line.end_with?("\n")
end

puts "----- END ----- "
puts "lines_count : " + lines_count.to_s
# puts input

input_lines = input.strip.split("\n")

# puts input_lines.count
# puts input_lines

# 全角を半角に統一しておく
all_songs = all_songs.map do |str|
  str = str.gsub("！", "!")
  str = str.gsub("？", "?")
  str = str.gsub("　", " ")
  str = str.gsub("＆", "&")
end
input_lines = input_lines.map do |str|
  str = str.gsub("！", "!")
  str = str.gsub("？", "?")
  str = str.gsub("　", " ")
  str = str.gsub("＆", "&")
end

puts "-------------------------"
puts "all songs       : " + all_songs.count.to_s
puts "selected songs  : " + input_lines.count.to_s
puts "-------------------------"

# 重複チェック
yet_songs = all_songs - input_lines # ちょっと抜けがありそう -> なかった

puts "-------------------------"
puts "selectable songs"
puts "count : " + yet_songs.count.to_s
puts "-------------------------"

puts yet_songs


# 逆チェック
gyaku_songs = input_lines - all_songs
puts "-------------------------"
puts "gyaku songs"
puts "count : " + gyaku_songs.count.to_s
puts "-------------------------"
puts gyaku_songs
```

# 曲データ

```txt:all_hinata_songs.txt
ひらがなけやき

誰よりも高く跳べ！

W-KEYAKIZAKAの詩
僕たちは付き合っている

沈黙した恋人よ
猫の名前
太陽は見上げる人を選ばない
永遠の白線

それでも歩いてる
NO WAR in the future 2020

イマニミテイロ
半分の記憶

期待していない自分
線香花火が消えるまで
未熟な怒り
わずかな光
ノックをするな！
ハロウィンのカボチャが割れた
約束の卵
キレイになりたい
夏色のミュール
男友達だから
最前列へ
おいで夏の境界線
車輪が軋むように君が泣く
三輪車に乗りたい
こんな整列を誰がさせるのか?
居心地悪く、大人になった
割れないシャボン玉
ひらがなで恋したい

ハッピーオーラ

君に話しておきたいこと
抱きしめてやる

キュン
JOYFUL LOVE
耳に落ちる涙
Footsteps
ときめき草
沈黙が愛なら

ドレミソラシド
キツネ
My god
Cage
やさしさが邪魔をする
Dash&Rush

こんなに好きになっちゃっていいの？
ホントの時間
まさか 偶然…
一番好きだとみんなに言っていた小説のタイトルを思い出せない
ママのドレス
川は流れる

ソンナコトナイヨ
青春の馬
好きということは…
窓を開けなくても
ナゼー
君のため何ができるだろう

アザトカワイイ
この夏をジャムにしよう
日向坂
ただがむしゃらに
どうして雨だと言ったんだろう？
My fans
See Through

君しか勝たん
声の足跡
嘆きのDelete
Right？
どうする？どうする？どうする？
世界にはThank you!が溢れている
膨大な夢に押し潰されて

ってか
何度でも何度でも
思いがけないダブルレインボー
夢は何歳まで？
あくびLetter
酸っぱい自己嫌悪
アディショナルタイム

僕なんか
飛行機雲ができる理由
もうこんなに好きになれない
ゴーフルと君
真夜中の懺悔大会
恋した魚は空を飛ぶ
知らないうちに愛されていた

月と星が踊るMidnight
HEY!OHISAMA!
孤独な瞬間
10秒天使
その他大勢タイプ
ブルーベリー&ラズベリー
一生一度の夏

One choice
恋は逃げ足が早い
愛はこっちのものだ
You're in my way
パクチー ピーマン グリーンピース
シーラカンス
友よ 一番星だ

Am I ready?
見たことない魔物
接触と感情
骨組みだらけの夏休み
君は逆立ちできるか?
愛のひきこもり
ガラス窓が汚れてる

君は0から1になれ
最初の白夜
自販機と主体性
青春ポップコーン
ロッククライミング

君はハニーデュー
錆つかない剣を持て！
どこまでが道なんだ?
恋とあんバター
夜明けのスピード
雨が降ったって
僕に続け

絶対的第六感
君を覚えてない
永遠のソフィア
どっちが先に言う？
妄想コスモス
雪は降る 心の世界に
夕陽Dance

卒業写真だけが知ってる
SUZUKA
孤独たちよ
あの娘にグイグイ
43年待ちのコロッケ
Instead of you
足の小指を箪笥の角にぶつけた
```


おわり