WordCloudで遊んでみる
簡単な動機
プログラムでなんかエモい感じのものを作りたくなったから。
暇つぶし。
WordCloudとは
ワードクラウド(WordCloud)
文章中で出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法。
コトバンクより
こういうことができるらしい
一目惚れして作り方調べたら、Pythonのパッケージがあったから " やってみよう "ってなった
てことで準備する!
環境
windows 10
Python 3.7
wordcloud 1.6.0
今回はPythonでWordCloudをする
WordCloud 公式 https://amueller.github.io/word_cloud/
WordCLoudのインストール
コマンドプロンプトで入力
pip install wordcloud
準備完了
はやっwww
サンプルを動かす
サンプルコード (公式にあるやつ)
import numpy as np import matplotlib.pyplot as plt from wordcloud import WordCloud text = "square" x, y = np.ogrid[:300, :300] mask = (x - 150) ** 2 + (y - 150) ** 2 > 130 ** 2 mask = 255 * mask.astype(int) wc = WordCloud(background_color="white", repeat=True, mask=mask) wc.generate(text) plt.axis("off") plt.imshow(wc, interpolation="bilinear") plt.show()
実行結果
DEKITA !!!
次回はオリジナルのをつくってみるよ
2月15日までの進捗
GrowSlime計画 途中経過
ひとまず、スライムを生成し、トレーニングでレベルを上げ、ステータスを上昇させることができるようになりました。
今後改善すべきこと
とにかくコードが汚い。でも汚いだろうということが分かっても、どうすれば綺麗になるかわからないので放置。
Summon画面
中心をうまく使い、名前の入力範囲を大きくし、入力しやすくする。
Main画面
2月10,11日の進捗
2月10日。 天気:はれ 気温:寒め 湿度:知らん
スライム...すらいむ...スライムをつくりたい!
ってことでスライムを作ることにしました。
すらいむ育成計画
作るといってもリアルに魔物を生成することはできません。 なので、某「たま〇っち」のような育成ゲームを作り、そこでスライムを育てたいと思います。
うまくできれば、これを発展させて遺伝子的なのをイジイジして強化したり、ダンジョン生成して勇者と戦わせたりしてみたいなって思います。
計画書 第1弾
ゲーム名:GrowSlime 言語:Python(クラスの勉強も兼ねて、オブジェクト指向)
ファイルは3つ。
growSlime.py(main。ゲームを進行させる。)
slime.py(スライムの生成、成長などスライム全般を管理する。)
silmeData.xls(スライムの個体情報を記録する、Excelファイル)
スライムにはステータスとクラス(ロール)の概念を持たせる (のちにスキルみたいなのも実装したい)
スライムのステータス
- Level
- HP
- MP
- STR
- VIT
- DEX
- INT
- AGI
GrowSlimeのゲーム画面
現在の状況(途中経過)
from random import * class Slime: def __init__(self, name): self.name = name self.level = 1 self.hp = 1 self.mp = 0 self.status = [0, 0, 0, 0, 0] #level #hp #mp #status (str, vit, dex, int, agi) def status_init(self): self.status = [ randint(1,10), randint(1,10), randint(1,10), randint(1,10), randint(1,10) ] def level_up(self, grow_table): if grow_table == "dps": self.status[0] += 3 self.status[1] += 2 self.status[2] += 1 self.status[3] += 1 self.status[4] += 1 elif grow_table == "tank": self.status[0] += 1 self.status[1] += 4 self.status[2] += 1 self.status[3] += 1 self.status[4] += 1 elif grow_table == "healer": self.status[0] += 1 self.status[1] += 1 self.status[2] += 1 self.status[3] += 3 self.status[4] += 2 slime = [] for i in range(5): slime.append(Slime("sli" + str(i))) slime[i].status_init() print(slime[i].status) slime_class = input("Select class!") print(slime_class) slime[0].level_up(slime_class) for i in range(5): print(slime[i].status) slime1 = Slime("Jhon") slime1.status_init() print(slime1.status) slime1.level_up() print(slime1.status)
2月9日までの進捗
2月5日からグランドサマナーズ(以下グラサマ)というゲームにはまっていました。
グラサマでは現在、転スラコラボがやっていてリムル、ベニマル、ミリムが手に入るということで寝る間も惜しんで一心不乱にクエスト周回していました。
結果的に多くのキャラ育成とリムル ver.スライムをラック120にできました!
おそらく今後も続けると思うので、グラサマについても進捗を挙げたいと思います。
この4日間やっていたのはゲームだけではありません。
PythonでGUIを使うことができるtkinterについて勉強していました。
成果としてじゃんけんゲームを作ってみました。
せっかくなので成果物をGithubにあげてみようと思い、Githubを始めてみました!
https://github.com/utageer/game01.git
本日は以上!