目次
- 自己紹介
- 取り組み背景
- 取り組み内容
- 動かしてみた様子
- 今後の課題
自己紹介
・ハンドルネーム: @seigot
・関西在住の社会人
・python歴:3年〜ほど
・Qiita: https://qiita.com/seigot
・今回: Qiita記事 テトリスを題材にpythonを学べるツールを作成してみた話
取り組み背景
・本業でpythonを使用する機会がない人からするとなかなか学ぶきっかけがない。
・文法を学ぶだけでは使用イメージが湧かず挫折しがちである
・しかし、アプリ開発や競プロ等をいきなり始めるのはハードルが高いと感じる
・このようなツイートに刺激を受けた
PyTorchの深層強化学習チュートリアルで、AIにマリオの動きを学習させてプレイしてみた。結構賢いな pic.twitter.com/4EIGK4RnrX
— からあげ (@karaage0703) December 22, 2020
テトリスを題材にpythonを学ぶ試み
・How to write Tetris in PythonやTetris in PyQt5などを参考に、テトリスの本体やブロックを動かす部分を含めて実装
・難易度を3段階ほど用意(次ブロックの出現順序、初期おじゃまブロック配置)
・180秒のスコアアタックができるようにルール化
・ブロックを動かす時の置き方をプログラミングできるようにしてみた
テトリスを動かすことでpythonが楽しく自然に身につく、、といいな(希望)
動かしてみた様子
・サンプルコードも実装
・とにかく列を揃える、できるだけ平らに置くなどの判断を簡易実装
・まだ初心者レベル
Tetris pic.twitter.com/mfCBQbkMO3
— st (@st17890027) July 6, 2022
まとめ
・テトリスを題材にpythonを学べるツールを作成してみた
・ものが動くと面白い
今後の課題
・より強いテトリス制御プログラムを作ってみたい
・機械学習要素を実装してみたい
・(可能な範囲で)対戦会ができればやってみたい。
以上
(追記)
ソースコードは以下です!
https://github.com/seigot/tetris