イータイピングマジで最高
タイピングゲームといわれて、何をみなさんは思い浮かべますか?
ほとんどの方が寿司打、e-typingを思い浮かべるかと思います。
(WEB上のものだけ)
小学生のころからタイピングの練習のために私もよく利用していました!
今回は、題名にもある通りe-typingについての話なのですがこのゲーム非常にやり直しがめんどくさい。。
どういうことかというと、特にノーミスタイプを目指してゲームを行う際に
ゲームスタートー>タイプミスー>ESCキー押すー>マウスでもう一回ボタンを押すー>・・・
という流れが通常動作になりますがマウスを動かすのが非常にめんどくさい!!!
今回、これを解決するためにpythonを扱ってキーボードだけで完結するようなプログラムを作りたいと思います!
環境
- Win11
- Python 3.9.7
使用モジュール
- keyboard
- pyautogui
以下のコマンドをプロンプト上で入力してあげてください。
キーボードの入力を検知するために扱うモジュール
pip install keyboard
マウスの操作につかうモジュール
pip install pyautogui
解決方法
HTMLやらの構造を見ていろいろいじくる方法も考えたのですがあまり気が進まなかったので、もう一回のボタンを物理的に押してやるコードを書くことにしました。
自分の場合、左shiftキーを使わないのでそのキーが押されたときに左クリックが押されるようにプログラムを記述することにしました。
(マウスは"もう一回"の場所に合わせておくことを想定しています。
)
コード
import pyautogui
import keyboard
while True:
# 左側のShift keyを押したときに、クリックボタンが押される
# 右側はreft shift
if keyboard.read_key() == "shift":
pyautogui.click()
感想
マウスはもう一回のところに合わせておく必要がありますが、マウスを動かす必要がなくなるのであまりストレスを感じずにゲームをすることができるようになりました!
ちなみに、シフトキーではなくスペースキーに右クリックを割り当てる(スペースキーとしても同時に入力されます。)とスペースキーを二回連打するとすぐにリプレイできるのでおすすめです。
自分はイータイピングのスコア目標が600越えなのでさらに練習したいと思います!
ぜひ、なにかタイピングのコツなどがあれば教えていただけると嬉しいです。
参考
【自動化】Pythonでマウスとキーボードを操る
https://qiita.com/konitech913/items/301bb63c8a69c3fcb1bd