0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者が環境構築でつまずきながらもプロトタイプを完成させた話

Posted at

Python + pygame で反応時間測定ツールを作ってみた

はじめに

「反応時間を測定するツールを作ってみたい」と思い立ち、Pythonとpygameを使ってプロトタイプを作成しました。
環境構築からエラー対応、GitHubへのアップロードまで、Python及びVisualStudioの初心者なりに試行錯誤した記録です。


使用技術・環境

  • Python 3.12.7
  • pygame
  • Visual Studio(Python環境構築と実行)
  • GitHub(コード管理)
  • Windows 11

プロジェクトの目的

  • ランダムなタイミングで刺激を提示
  • エンターキー入力による反応時間の記録
  • 結果をCSVファイルに保存
  • 画面表示は最小限、記録に集中

環境構築の流れ

Pythonのインストールとパス設定

  • C:\study\python.exe にインストール
  • Visual Studioで「カスタム環境」として追加

pygameのインストール

pip install pygame

Visual Studioでの環境切り替え

  • ソリューションエクスプローラーから Pyton環境を右クリック
  • 環境の追加を押す
  • 「既存の環境」を選択し、ファイルからパッケージをインストールで C:\study を指定
  • 追加を押す

この環境の追加がよくわからず、既存の環境扱いになっていたところの、Pythonフォルダを丸ごと消して、VisualStudioを開きなおすことを実施して、何とか環境設定が完了。

トラブルと対処

UnicodeDecodeError(cp932 codec can't decode byte)

原因:文字コードの不一致
対処:ファイルの文字コードをSJISからUTF-8に変更 右下のほうにある

pygameが見つからない(No module named 'pygame')

原因:Visual Studioが別のPython環境を使っていた
対処:正しい環境に切り替え

ここで、環境切り替えの問題に引っかかった。
解決法は上記参照。

出力ウィンドウでの文字化け

原因:エンコーディングの不一致
対処:画面表示をやめてCSV出力に切り替え

断念してしまったので、文字表示を成功させたい

実装のポイント

  • random.randint() を使って試行間隔をランダム化
  • csv.writer() で反応時間をCSVに保存
  • utf-8-sig で保存することでExcelでも文字化けしない]

GitHubへのアップロード

リポジトリ作成

  • 勇気が出ないので非公開でアップロード

READMEとLICENSEの整備

  • READMEには目的・使い方・環境構成を記載
  • LICENSEはMITライセンスを採用
    MITライセンスって何?ってところから始まった。
    コードの使用、改造、商用利用が可能だが、元の著作権表示とライセンスの明記が規則らしい

学びと振り返り

  • 環境構築の重要性と落とし穴
    苦手意識が消えない…
    実装を前提とした環境構築をするという意識と、フォルダ管理が重要
  • エラーに向き合うことで理解が深まる
    検索やAIを頼って、少しずつでも解決に迎えるように。根性も必要。
  • 「動いた!」という達成感は何よりの報酬
    思い描いていたものに近いものが出来上がると、とても感動する。

今後の展望

  • 折角Pythonを使っているので、グラフ化や統計処理の追加
  • GUIの改善
  • 公開リポジトリ化
  • Qiita記事のシリーズ化
    論文なども呼んで、実際の現場で使えるものに近づけていきたい。

終わりに

  • Copilotを使い倒そうという思惑も、大分達成できた気がする。
  • 他言語で計二年程度の実装経験しかないので、環境構築もエラー対処も初めてのものが多く、根気強く行う必要があった。
  • 画面の見方など、今回で感覚がつかめたものもある。
  • 突如思い立って、Qiitaの記事まで書いてみた。
  • 勇気をもってコードを公開できる日が来ることを祈っておく。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?