[PYTHON] J'ai fait un quiz d'introduction moi-même parce que je ne peux pas jouer à l'extérieur

Je suis un joueur solide. Je joue habituellement avec CHUNITHM chez Gaesen. Mais je ne peux pas jouer car j'ai déclaré une urgence. Suis libre. C'est pourquoi j'ai décidé de faire un quiz d'introduction avec la Soundtrack que j'ai acheté pour le moment. Mais vous ne pouvez pas faire un quiz d'introduction sans interrogateur. J'ai demandé à mes parents de jouer le rôle du questionneur, alors j'ai décidé de laisser Python le faire pour le moment.

Gist est ici.

environnement

Python: 3.8.2 python-vlc: 3.0.7110 VLC Media Player: 3.0.8 Vetinari

Comment utiliser

Pour les étapes 1 et 2, consultez cet article. (0. Installez Python 3.8.2.)

  1. Installez VLC Media Player.
  2. Faites pip install python -vlc. (Pour ceux qui le connaissent: si vous ne voulez pas polluer l'environnement global, définissez venv dans le répertoire indiqué à l'étape 3.)
  3. Copiez et collez ʻintro_quiz.py` depuis Gist, enregistrez-le et placez-le dans le dossier (répertoire) où la musique est placée.
  4. Double-cliquez dessus et il démarrera probablement, alors profitez-en.

spécification

Lire l'image

SnapCrab_NoName_2020-4-8_0-12-8_No-00.png Des chansons telles que Arcaea sont également mixées dans le dossier.

Mise en garde

Je l'ai fait correctement donc je ne sais pas s'il y a un bug. Mais si vous me le dites, je peux ou non le réparer.


A partir de maintenant, c'est pour les personnes intéressées par le contenu.

code

C'est sale parce que j'ai frotté mes yeux endormis au milieu de la nuit et l'ai écrit correctement.

intro_quiz.py



#Après avoir installé le lecteur multimédia VLC, pip installez python-Veuillez vlc.

import glob
import os
import random
import time

import vlc

player = vlc.MediaPlayer()

print("Quiz d'introduction!")
print("Entrez une partie du titre de la chanson! Je jugerai par correspondance partielle!")
print("La chanson joue pendant 10 secondes!")
print("Si vous ne comprenez vraiment pas, entrez "abandonner"!")
print("À moins que le titre de la chanson ne comporte 2 caractères ou moins, il ne répondra pas si le nombre de caractères saisis est de 2 caractères ou moins!")

music_count = 1

musics = glob.glob("*")

while True:
    #Sélection / lecture de fichiers
    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}Lecture du morceau ...")
        time.sleep(10)
        player.stop()
        print("Entrez maintenant le titre de la chanson!")
        while True:
            answer = input(">> ")
            if len(answer) >= min(3, len(filename)):
                if answer == music_name:
                    print("Parfait! incroyable!")
                    break
                elif answer in music_name:
                    print("Bonne réponse! Félicitations!")
                    break
                elif answer == "giveup":
                    print("Bien essayé!")
                    break
                else:
                    print("Pardon! Réponse incorrecte!")
            else:
                print(f"{min(3, len(filename))}Entrons plus que des caractères!")
        print(f"La bonne réponse est "{music_name}"était!")
        music_count += 1
print("Toutes les chansons sont terminées! Vive le bon travail!")

Explication

Glob rassemble tous les fichiers dans la même hiérarchie. Cependant, à cette époque, il y avait beaucoup de pochettes d'album dans le même répertoire simplement parce qu'elles n'étaient pas affichées, donc je les lis correctement. En dehors de cela, je lis des fichiers Python et des fichiers txt qui sont mélangés avec quelque chose. Vous pouvez ajouter des conditions pour jouer avec ou, c'est donc une bonne idée d'exécuter print (glob.glob (" * ")) pour voir s'il y a des fichiers étranges. Je pense qu'il est préférable de lire des extensions telles que .jpg et .png.

Publicité

Allons tous CHUNITHME! J'ai essayé de dire, mais je ne peux pas jouer maintenant, alors faisons plutôt Arcaea.

Recommended Posts

J'ai fait un quiz d'introduction moi-même parce que je ne peux pas jouer à l'extérieur
J'ai créé un installateur Ansible
J'ai créé un serveur Xubuntu.
J'ai fait un peintre discriminateur Anpanman
J'ai fait un kit de démarrage angulaire