見出し画像

【Python講座】エヴァの”MAGI”、作ってみた。

みなさんこんはんは、ゆにこーんです🦄✨

今回はまたまた”エヴァンゲリオン”からです。
前に、エヴァンゲリオンに登場するタイマーみたいなやつをPythonで作った的な記事を投稿しました。(↓)

それに引き続き、今回は”エヴァ好きでプログラミングに少しでも興味ある人”なら一度は制作してみようと考える”MAGI”を作ってみました。

MAGIとは、簡単にいうとそれぞれ違う考え方をする人工知能が3つあり、それぞれの判断をもとに多数決で決議をする、というものです。
もっとわかりやすく説明すると、優柔不断で決められない人のために機械が多数決してくれるやつです。(違います)

今回私が制作したMAGIですが、もちろん人工知能を3つ作ってそれぞれが判断してくれる、なんて高度なことはしてませんよ。笑

それでは順を追ってみていきましょう!

🦄. 1_いきなり完成gif見せる、それが私。

さっそくですが完成した作品をまずはみてください。

画像1

こんな感じで、中央にあるバーに文字を入力して[Enter]を押すと、「審議中」の文字が点滅し、そのあと"MELCHIOR-1"、"BALTHASAR-2"、"CASPER-3"がそれぞれ「承認」か「否定」の判断をとってくれます。

ちなみにもう一度[Enter]を押すと、バーの中の文字や「承認」「否定」の文字が消え、再び文字を入力して多数決をとれるようになっています。

🦄. 2_まずは完成予想図を書こう。

画像2

MAGIを制作するにあたり、まずはデザインツールアプリで完成予想図を設計します。ちなみに今回も言語はPythonで、GUIツールはtkinterで作ります。
コードを書く前にどの部分を画像として用いるか、どの部分に文字を入力するかなどを決めていきます。

🦄. 3_コードを書きながら画面を徐々に作っていくよ。

画像3

こんな感じで、「承認」と「否定」の部分以外は背景画像として使用しました。「審議中」の文字も、点滅させるために違う色の「審議中」だけ個別に保存しておきます。
「承認」「否定」はそのままtkinterの文字配置でもよかったのですが、画面に光っている感じ(ネオンっぽい感じ)を出したかったので、「承認」「否定」もそれぞれ個別の画像として保存しておきます。

文字を入力する場所が中央しかなかったので、仕方なく中央に置いてみたら案外しっくりきたので、文字入力バーはそのまま中央に配置しました。

🦄. 4_プログラムを考えよう。

画面の構成はなんとなくできたので、次は仕組みをしっかり考えていきます。プログラムの流れとして大雑把に考えていたのは、

1. 初期画面を作る。
2. 文字を入力するところを作る。
3. 文字を入力して[Enter]を押せば次に進むようにする。
(画面にボタンを配置するのも考えたが、配置する場所がないし、なによりもMAGIのデザインにボタンは合わないと考えた。)
4. [Enter]を押したあと、いかにも考えてる感を出す為に、「審議中」の文字を点滅させて少し(ロード)時間をとっているように見せかける。
5. それぞれがランダムに「承認」か「否定」を表示するようにする。
6. もう一度[Enter]を押せば再び「1」に戻れるようにする。

という感じです。初期画面と文字入力画面はできているので、キーボードの[Enter]を判定できるように、

   def キーボード入力を受け付ける():
       ksym = e.keysym
       if ksym == 'Return':
           「審議中」の文字を点滅させる。
           それぞれに「承認」「否定」のどちらかを表示させる。

という感じの関数を作りました。
ちなみに「審議中」の点滅は".after(xxx, 関数)"を用いて表示・消去を繰り返しました。
「承認」「否定」は"random.shuffle()"でやってるだけです。

🦄. 5_できたらデスクトップアプリ化しよう。

プログラムが組めて画面もちゃんと動いていたらバグがないか探します。
デバッグ作業ですね。
「よし、いいでしょ!」と思ったら次は誰でも使えるようにアプリ化します。私はMacbook Airを使っているので、「py2app」を用いてmacOS用のデスクトップアプリを作りました。そこで必要なのがアプリのアイコンなので、今回はこんな感じのアイコンデザインにしました。(↓)

画像4

なんか「Z●NE」っぽいデザインになりましたが気にせずにいきましょう!

🦄. 6_さっそくMAGIに裏切られた。

さて、アプリ化もできたし早速試してみよう!と思い、
「どうせなら起動して最初に出てきたものをスクショ撮って、noteで使おう!」と起動。

画像5

「さあ、結果はどうなる??」

画像6

見事に全否定されました。笑
今夜は焼肉食べたいと思っていたのに…
仕方がないのでコンビニの肉じゃがを買って来て食べました。
おいしかったです。

🦄. 終わりに

今回はエヴァのMAGIを作ってみましたが、予想以上に使ってみて楽しかったのです。ちょっとどうしようか悩むものやしょうもないことをMAGIに判断させてみたりするのはおもしろいですし、優柔不断の私には意外と便利かもしれません。笑

みなさんも自分で判断できないときはMAGIに判断させてみるのもアリかもしれませんよ!?
今回はデスクトップアプリとして作ったので、スマホ用のアプリを作ればいつでもMAGIに相談できるようになりますね!

今回も最後まで読んでいただきありがとうございます✨
みなさんはエヴァ好きですか? 私は好きです。
ちなみに新しい映画がさっそくAmazonPrimeで観れるみたいですが、私はNetFlix勢なので見れません😭

それではみなさん、また次回お会いしましょう❗️

この記事が気に入ったらサポートをしてみませんか?