Skip to content

Instantly share code, notes, and snippets.

@Qman11010101
Last active April 8, 2020 06:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Qman11010101/cd328dd99e2b9c2e0ffd5005dd2efa4d to your computer and use it in GitHub Desktop.
Save Qman11010101/cd328dd99e2b9c2e0ffd5005dd2efa4d to your computer and use it in GitHub Desktop.
Python×VLCでイントロクイズ
# VLC media playerをインストールした後、pip install python-vlcしてください。
import glob
import os
import random
import time
import vlc
player = vlc.MediaPlayer()
print("イントロクイズ!")
print("曲名の一部を入力してね!部分一致で判定するよ!")
print("曲が流れる時間は10秒だよ!")
print("どうしてもわからなかったら「giveup」と入力してね!")
print("曲名が2文字以下の場合を除いて、入力された文字数が2文字以下の場合は反応しないよ!")
music_count = 1
musics = glob.glob("*")
while True:
# ファイル選択・再生
if musics == []:
break
else:
while True:
filename = random.choice(musics)
if filename.endswith(".py") or filename.endswith(".txt") or filename.startswith("AlbumArt_") or "Folder" in filename:
musics.pop(musics.index(filename))
else:
musics.pop(musics.index(filename))
break
music_name = os.path.splitext(os.path.basename(filename))[0]
player.set_mrl(filename)
player.play()
print(f"{music_count}曲目を再生中…")
time.sleep(10)
player.stop()
print("さあ、曲名を入力してね!")
while True:
answer = input(">> ")
if len(answer) >= min(3, len(filename)):
if answer == music_name:
print("パーフェクト!すごいね!")
break
elif answer in music_name:
print("正解!おめでとう!")
break
elif answer == "giveup":
print("ナイストライ!")
break
else:
print("残念!不正解!")
else:
print(f"{min(3, len(filename))}文字以上入力しようね!")
print(f"正解は「{music_name}」でした!")
music_count += 1
print("全曲が終了したよ!おつかれさま!")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment