2020年12月27日日曜日

Ubuntu20.04でPycraft mod for MinetestとPythonを使用してCPU負荷を棒グラフで表示する

Pycraft mod for MinetestとPythonを使用してCPU負荷を棒グラフで表示するには、以下の手順を実行します。負荷に応じてグラフの色と高さが変わっていきます。

〇Pycraft mod for MinetestとPythonで棒グラフ表示したCPU負荷

作成方法

1. Pycraft mod for Minetestのインストール
Pycraft mod for Minetestをインストールしていない場合は、以下の記事を参考にしてインストールしてください。
Ubuntu20.04でPycraft mod for MinetestとPythonを使用して指定されたブロックの床を作成する

2. プログラミング
以下のコードで、CPU負荷を棒グラフで表示します。Thonnyの場合は、以下のコードを保存後、緑色の再生ボタンをクリックして実行してください。終了するときはCtrl+Cを押してください。
import mcpi.minecraft as minecraft
import mcpi.block as block
import psutil
import time

meter = [
    block.WOOL_WHITE,
    block.WOOL_LIGHT_BLUE,
    block.WOOL_BLUE,
    block.WOOL_GREEN,
    block.WOOL_LIME,
    block.WOOL_YELLOW,
    block.WOOL_ORANGE, 
    block.WOOL_RED,
    block.WOOL_BROWN,
    block.WOOL_BLACK
]

# ローカルサーバに接続
mc = minecraft.Minecraft.create("127.0.0.1")
# プレイヤーの位置を取得
pos = mc.player.getPos()

pos.z += 5

try:
    while True:
        cpu = psutil.cpu_percent(interval=1)
        cpu_meter = int(cpu/10)
        for dm in range(len(meter)):
            if dm <= cpu_meter:
                mc.setBlock( pos.x, pos.y+dm, pos.z, meter[dm])
            else: 
                mc.setBlock( pos.x, pos.y+dm, pos.z, block.AIR)
        time.sleep(1)
except KeyboardInterrupt:
    # クリーンアップ
    for dm in range(len(meter)):
        mc.setBlock( pos.x, pos.y+dm, pos.z, block.AIR)

関連情報

・Minetestに関する情報はこちらを参照してください。

0 件のコメント:

コメントを投稿