La raison pour laquelle j'ai décidé de faire cela est que lorsque je suis passé de Scratch à Python, j'ai pensé "Je me demande si je peux passer de Scratch à Python ..." et Python l'a compris, Unity et Lorsque vous faites C # "Au fait, je me demande s'il existe un moyen de passer de Scratch à Python ... Cherchez-le." "Non ..." "Dis, je l'ai fait moi-même." J'ai décidé de le faire.
Tout d'abord, vous obtiendrez un fichier .sb3 lorsque vous téléchargez le fichier de projet Scratch. Rien ne peut être fait à moins que le fichier sb3 ne puisse être analysé. Ainsi, lorsque j'ai recherché "analyse de fichier sb3", j'ai trouvé un site qui affiche les noms des variables utilisées dans le projet Scatch. Faites glisser le site avec l'extension modifiée en .zip. Donc, j'ai pensé que cela pourrait être le cas, et quand j'ai changé l'extension en .zip et l'ai étendue, j'ai trouvé un json qui avait l'air suspect. En regardant son contenu, il écrit clairement des choses telles que des blocs. Pour le moment, le fichier à analyser a été trouvé.
À ce moment-là, je voulais le distribuer, donc je voulais en faire quelque chose que tout le monde puisse faire. Si vous le faites avec PythonTkinter, seules les personnes qui ont installé python peuvent l'exécuter, donc je l'ai fait C # Form et créé la partie GUI.
J'ai réussi à utiliser la classe ZipArchive (C #).
Même si j'essayais de faire une analyse Json avec C #, je devais créer une classe qui lui était dédiée, j'ai donc décidé à contrecœur d'utiliser le module Json de Python. Après avoir fait une telle chose et une telle chose, l'analyse de Json a été effectuée en toute sécurité. Au fait, j'ai décidé d'utiliser System.Diagnostics.Process pour exécuter Python afin de l'exécuter automatiquement.
Je pensais l'écrire en C #, mais j'ai décidé de l'écrire en python car j'avais fait une analyse Json en python. Cependant, j'ai dû spécifier l'emplacement et le nom du fichier à écrire, j'ai donc décidé de mettre un argument à l'exécution et de le lire avec sys.argv. Après cela, ouvrez () et écrivez () dans l'enfer if au moment de l'analyse Json est OK.
Doit-il être distribué? Je crains que si je le fais, je me fie à cet outil. (Y a-t-il quelqu'un qui le télécharge en premier lieu?) Non compatible avec certains blocs. Ce n'est pas un problème, mais si vous voulez faire plus que cela, vous pouvez utiliser Python.
La définition de bloc du fichier json est divisée en blocs. Un opérateur est également un bloc. En d'autres termes, lors du calcul de 5 + 5 + 5 + 5 + 5, j'ai utilisé une fonction récursive. Mais ce n'est que près de 1000, alors faites-moi savoir si vous avez une meilleure idée.
J'utilise .format () depuis longtemps parce que je ne connaissais pas la chaîne f avant qu'elle ne soit presque terminée. J'ai pensé que ce serait bien s'il y avait quelque chose comme la chaîne de caractères \ $ en C #, et quand je l'ai googlé, il y avait une chaîne de caractères f et c'était génial. Peut-être que la chaîne f ou la chaîne \ $ est différente.
Après être sorti du bloc if ou for, je dois écrire else ou celui en dessous, donc j'ai sauvegardé cet autre ou celui en dessous dans la liste, et quand je l'ai appelé, c'était le calque actuel -1. Gars
if True:
if True:
if True:
if True:
print("Hello")
print("World")#-2 a été. Vous pouvez utiliser et
Parce qu'il y avait quelque chose comme ça, j'ai décidé de sauver la hiérarchie au moment de si ensemble.
Je ne sais pas pourquoi, mais merci d'avoir regardé jusqu'à présent.
~~ Publié ~~. ~~https://www.axfc.net/u/4023085~~
Recommended Posts