« TiddlyWikiでプラグイン導入の仕方。 | トップページ | GNU Octave 3.2.3でginputをimagescに使う »

2010年12月19日 (日)

初心者がpython、pygletで遊んでみる。

Pythonは全くの初心者なんだけど、ここ1−2ヶ月くらいろいろと遊んでみて、リストの使い方とか関数の定義とかループの仕方とか初歩的な部分はちょっと分かってきた。で、とりあえずraw_inputでユーザーインプットを得てテキストをコンソールに出力するという初歩的な技術のみでマインスイーパーのクローンを作ってみた。もちろんキャラは全部テキストで、こんな感じ:

Screenshottsukementsukemenlaptop_mi

しょぼい・・・。いちおう遊べるが味気ない。もし需要があったら超初心者向けにソースを解説してみてもいいんだけどソースは無駄に長いし(コメント込み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をつくるには

  • wxPython
    wxWidgetsというC++のライブラリーをPythonから使えるようにするためのbindingsで、WindowsならWindowsのAPIをマックならマックのを叩くことでクロスプラットフォームなデザインながら純正なアプリみたいにみえるように考えられている。
  • PyQt
    Qtはノキアがつくったこれもクロスプラットフォームなユーザーインターフェイスのデザインのタメのツールで非常に洗練されているらしいし、ノキアだけに携帯とかモバイルな環境に移植するときに強い。(といってもMeeGoはどのくらいポテンシャルあるのかは不明だけど。iOSとAndroidに対抗できるとは思えん)

    あたりがSlashdot.comやStackoverflow.comなんかを見ていると最近のおすすめのようだ。どちらも優劣付けがたいがドキュメンテーションの質からいってQtの方がいいと思う。ただでフリーソフトとして配るならQtもただで使えるが、のちのち製品を売りたいとおもったらライセンス的にはwxの方がいい。どちらを始めるかは非常になやむところ。

    だたし、お手軽にゲームをつくるなら

  • pyglet
    pythonでOpenGLや画像、音楽、マウス、などを簡単に使う事のできるライブラリー。下のpygameよりも後発であり、デザインがすっきりしていて使いやすいという噂。
    関心空間によい説明がある。
  • 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でもやってみよ。これで動いたらほんとにクロスプラットフォームだなぁ。追記)あっさり動く。まあ当然だけど素晴しい。

    Screenshot

  • « TiddlyWikiでプラグイン導入の仕方。 | トップページ | GNU Octave 3.2.3でginputをimagescに使う »

    Python」カテゴリの記事

    ゲーム」カテゴリの記事

    パソコン・インターネット」カテゴリの記事

    コメント

    コメントを書く

    コメントは記事投稿者が公開するまで表示されません。

    (ウェブ上には掲載しません)

    トラックバック

    この記事のトラックバックURL:
    http://app.f.cocolog-nifty.com/t/trackback/1169291/38133110

    この記事へのトラックバック一覧です: 初心者がpython、pygletで遊んでみる。:

    « TiddlyWikiでプラグイン導入の仕方。 | トップページ | GNU Octave 3.2.3でginputをimagescに使う »

    広告欄


    やっつけタイムライン

    広告欄

    はてブ

    人目の訪問です。

    • follow us in feedly

      かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

      ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






      Jenny Mayhem
    2017年11月
          1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30    

    IT技術注目記事

    無料ブログはココログ