初心者がpython、pygletで遊んでみる。
Pythonは全くの初心者なんだけど、ここ1−2ヶ月くらいろいろと遊んでみて、リストの使い方とか関数の定義とかループの仕方とか初歩的な部分はちょっと分かってきた。で、とりあえずraw_inputでユーザーインプットを得てテキストをコンソールに出力するという初歩的な技術のみでマインスイーパーのクローンを作ってみた。もちろんキャラは全部テキストで、こんな感じ:
しょぼい・・・。いちおう遊べるが味気ない。もし需要があったら超初心者向けにソースを解説してみてもいいんだけどソースは無駄に長いし(コメント込み140行)、Pythonicからは程とおい。もしコメントに要望があれば考えます。。。
開発中にいろいろエディターもシェルも試したのでお気に入りを紹介。
エディターはPythonの公式のドキュメンテーションでも勧められているGeanyに落ち着いた。ウィンドウズではportableapps.comからポータブル版があるのがいいし、Linux版もある。今はUbuntuでメインに開発しているのでどっちでも使えるのは嬉しい。Geanyはとにかく軽いのがいいし、機能は十分だとおもう。インストールしたあとなんの設定なしにF5でソースを実行できるのも初心者に優しくていい。
ちなみにhttp://portableapps.com/にあるアプリはどれも非常にレベルが高い。要チェックなサイトだ。
あとはおすすめなシェルはウィンドウズではiPythonでも勧められているConsole2と思っていたけどもDreampieのほうが圧倒的によい。ウィンドウは上と下に分かれていて、下の部分にコマンドを入力するが、Enterを押しても改行するだけなので実行したいときはCtrl+Enterを押す。そのため複数行のコマンドをうったり、エディターからコードをコピーしてきて実行するのが楽。履歴もCtrlと上下ででてくるし、その時に実行されたブロック単位で履歴が出てくるので、編集が楽!Ctrl+F6でシェルが一瞬でリセットできるのも重宝。これもUbuntuとVistaで使えるのでGeany+Dreampieは軽い!クロスプラットフォーム!な使えるコンビネーション。
で、そろそろコンソールを卒業して自分のウィンドウをつくってみようかなとおもい、いろいろと検索してみた。
ファイルのメニューとかボタンとかのGUIをつくるには
wxWidgetsというC++のライブラリーをPythonから使えるようにするためのbindingsで、WindowsならWindowsのAPIをマックならマックのを叩くことでクロスプラットフォームなデザインながら純正なアプリみたいにみえるように考えられている。
Qtはノキアがつくったこれもクロスプラットフォームなユーザーインターフェイスのデザインのタメのツールで非常に洗練されているらしいし、ノキアだけに携帯とかモバイルな環境に移植するときに強い。(といってもMeeGoはどのくらいポテンシャルあるのかは不明だけど。iOSとAndroidに対抗できるとは思えん)
あたりがSlashdot.comやStackoverflow.comなんかを見ていると最近のおすすめのようだ。どちらも優劣付けがたいがドキュメンテーションの質からいってQtの方がいいと思う。ただでフリーソフトとして配るならQtもただで使えるが、のちのち製品を売りたいとおもったらライセンス的にはwxの方がいい。どちらを始めるかは非常になやむところ。
だたし、お手軽にゲームをつくるなら
pythonでOpenGLや画像、音楽、マウス、などを簡単に使う事のできるライブラリー。下のpygameよりも後発であり、デザインがすっきりしていて使いやすいという噂。
関心空間によい説明がある。
こちらのほうが歴史があり、コミュニティも大きい。
あたりだけでも十分。(wxPythonとpygletは組み合わせが可能らしいけど)PygletはStackoverflowで評判がいいし、関心空間にもはられている「作者のAlex Holkner氏による40分で作るスペースインベーダーのデモムービー」を見てみたら、これは面白そう!という感じだったのでまずはpygletを試してみようと決めた。さあビデオ観終わったし興味も高まった。さてじゃあコードを見てみよう!とソースを探してみると
For the code and media which goes with this tutorial see here - http://pyglet.org/linuxconf
とあってリソースファイルとソースコードの入手先があるんだけど、このリンク先は古いようで切れている!で、意地になって探した結果なんとかweb.archive.orgに残っていたキャッシュでshooter.pyのソースは手に入った。しかし音楽や効果音、画像、フォント等のリソースは残念ながら残っていない。しかし、ソースさえあればリソースは適当にみつくろえばOK!
音楽と効果音に関してはhttp://www.freesound.org/から拾って、画像もGoogleで検索して似たようなのをpngで保存したらとりあえずテストできた。で、Ubuntuだけどちゃんと動いたし音も出る!なんだか簡単そうだなぁ。。あとでVistaでもやってみよ。これで動いたらほんとにクロスプラットフォームだなぁ。追記)あっさり動く。まあ当然だけど素晴しい。
« TiddlyWikiでプラグイン導入の仕方。 | トップページ | GNU Octave 3.2.3でginputをimagescに使う »
「ゲーム」カテゴリの記事
- クルクル角ってなんやねん(2016.10.03)
- Xperia Z ポケモンGOにログインできない。対処法(2016.08.20)
- 古いGalaxy note IIでポケモンGo(2016.08.05)
- iPadアプリのTouch Pianistで名ピアニスト気分。(2015.05.24)
- 激ムズ。QWOPみたいなひたすら歩くゲーム「Daddy long legs」を攻略中。(2015.02.19)
「パソコン・インターネット」カテゴリの記事
- Gemma4が凄いよね。Draft modelサポートで更に凄い。(2026.05.26)
- NotebookLMを活用したBadlands Mediaの視聴方法(2025.11.22)
- Linuxのデスクトップ環境にログインした時にxmodmapコマンド実行(2023.12.30)
- youtube-dlでrumbleをダウンロード(2023.12.06)
- Pop!_OSのアプデがfcitxを繰り返し葬る件(2023.05.22)
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« TiddlyWikiでプラグイン導入の仕方。 | トップページ | GNU Octave 3.2.3でginputをimagescに使う »





コメント