KUNISAN.JPブログコメント書き込み



Pythonの学習とPygameを使ったミニアクションゲーム作成

名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2017年11月25日
Pythonの学習とPygameを使ったミニアクションゲーム作成ある知人の方より「機械学習(AI)用のプログラミング言語はPythonがメジャー」ということを聞いて、少し前からPythonには興味を持っていました。ただ、40代半ばにもなって、新しいプログラミング言語を学ぶというのは少し抵抗があって、なかなか腰を上げられずにもいました。

私は小学6年~高校2年の間に、PC-6001mkII(NEC)とX68000(シャープ)というパソコンで、BASIC言語を使ってゲームを作ったりしていました。その後、数年のブランクがありましたが、Visual Basic、Excel VBAからプログラミングを再開し、ホームページを自作するようになってからは、Web開発系言語のPerl、JavaScript、PHPも使うようになりました。一方、CやJavaなどのソフトウェア開発系の言語は、今までに全くと言っていい程触れていません。もとからプロのプログラマーではありませんが、週末に時間がある時などに趣味でプログラミングをしている「週末プログラマー」であります(Excel VBAのみ少し仕事で使っています)。ちなみに、PHPを使い始めたのが今から10年前で、それ以降は新しいプログラミング言語には手を出していませんでした。

何だかんだで、今月始めにようやくPythonの入門書を2冊購入し、PCにはPythonパッケージとして人気のあるAnacondaを入れてみました。入門書にあるサンプルプログラムを実際に書いたり書き換えたりしながら、Pythonの基礎を学習していきましたが、「学びやすい言語」という印象を受けました。第一に「読みやすく書きやすい」というのがあり、ユーザー関数やクラスの定義なども他の言語で慣れた人であれば、問題なく使うことができると思います。海外では子供のプログラミング学習でもPythonが使われ始めていると聞いていますが、これも頷けます。子供やプログラミング初心者から、大学の研究、人工知能、アプリの開発などまで幅広く使われており、さらに私のような中年が新たに学び始めるのにもPythonの壁は低いと感じます。

ただ、プログラミング言語を学ぶ上では、本を読んだりサンプルプログラムを少し動かしただけでは、使い方を理解しきれません。自分なりの使い方を確立していくステップとして、まずはミニアクションゲームを作成することにしました。ゲーム制作用のモジュールとしてPygameも利用します。

ということで、「DOG & BURGERS」というミニアクションゲームが完成しました。先週末から作り始めたので、製作期間は約1週間です。なぜ「犬」と「ハンバーガー」なのかというと、手持ちの画像素材集の犬とハンバーガーの画像が目についたので、そのままこれを使ってゲームにした、という流れです。以下、ゲームの動画になります。



プログラムはこんな感じです。


ファイル一式はこちらからダウンロードできます
※本プログラムやファイルの二次配布や二次掲載はご遠慮ください。個人的なプログラム改造はご自由にどうぞ。ただし、本プログラムに関するご質問等はお受けしません。

今回のミニゲームではPythonのユーザー関数やクラスの定義の他、Pygameによるキー入力、画像ファイルの表示、音の再生などを試すことができました。ここ最近では一年前にJavaScriptでミニゲームをいくつか作りましたが、ほぼ同じようなレベルのものがPythonでも作れそうです。ただ、「DOG & BURGERS」では以下の問題があり、今のところ解決せずにそのまま放置しています(他のPCでは確認していないので、私のPCだけの問題の可能性もあります)。

・効果音の遅延。0.3秒程ズレが出てしまいます。
・キー入力がやや不安定。カーソルキーやスペースキーを押しているのに、たまに反応しないことがあります。

今回はPython学習の第一歩という位置づけですが、次はWebサーバー上で動く何らかのプログラムを作ってみようと思います。WebArenaのSuiteXでもPython対応ということなので(ただし、バージョンは2.7)、せっかくなのでこれを使って色々と動かしてみます。





Python関連記事(リンク一覧): Python + Pygameの疑似3Dゲーム (ミニゲーム第三弾) / Python + Pygameで擬似3Dサンプルプログラム / Python + Pygameのミニゲーム第二弾 『たけのこ狩り』 / Python - リスト内包表記とPygameのスプライト機能 / Pythonの学習とPygameを使ったミニアクションゲーム作成 / ...(記事連続表示)

みんなのPython 第4版
みんなのPython 第4版をAmazon.co.jpでチェック
コメント:Pythonの学習とPygameを使ったミニアクションゲーム作成
名前: mafunana524 日付: 2020年12月8日
コメント:Pythonの学習とPygameを使ったミニアクションゲーム作成vs cordにプログラムをコピペして実行したところ
7行目の「from pygame.locals import *」の「from」に
「No name 'locals' in module 'pygame'pylint(no-name-in-module)
Unable to import 'pygame.locals'pylint(import-error)」というエラーが出ました。
これはvs cordが悪いのですか?
それとも他に何か原因がありますか? 
コメント:Pythonの学習とPygameを使ったミニアクションゲーム作成
名前: 小川 邦久 リンク: https://kunisan.jp 日付: 2020年12月8日
すみません、3年位Pythonに触れていなかったため頭から抜けてしまっている上、vs cordについても全く分からないため、対応方法については正直コメントができないです。すみません…。
ちなみに我が家ではAnacondaで動作しています。


1)商品の宣伝、宗教や政治活動の勧誘など、本サイトの趣旨に合わない書き込みはご遠慮ください。
2)個人、団体への誹謗中傷や、差別的な発言、公序良俗に反する表現は禁止します。
3)本ブログへの書き込みによって何らかの問題が発生した場合、KUNISAN.JP管理者までご連絡いただければ、内容の修正、削除を行います(その他の責任については負いかねます)。
4)製作者サイドの都合により、予告無く書き込みの一部または全てが削除されることがあります。あらかじめご了承ください。
5)迷惑メールやコンピュータウィルス被害を防止するため、必要な場合以外にはメールアドレスを書き込まないことをお勧めします。

タイトル
お名前 (※必須)
Eメール
ホームページ

コメント (※必須)


画像ファイル(サイズ:10MB以下 形式:gif,jpeg,jpg,png)