CODE Python RPG

独学でPythonでRPGを作成する(まとめ)

更新日:

こんにちは。
「Pythonでつくる ゲーム開発 入門講座」の
Chapter11,12(本格RPGを作ろう!全編・後編)を基にRPGを作っていきます。

「Pythonでつくる ゲーム開発 入門講座」の中にあるRPGのプログラムを
変えていく様子をブログにまとめています。
回数が多くなってきましたので、リンクをまとめました。

20回目、21回目にプログラム(ソースコード)を公開しています。

 

初心者がPythonでRPGを作成する(第1回)
基のプログラムにコメントを追加しています。(変数のみ)

 

初心者がPythonでRPGを作成する(第2回)どこを歩いてもモンスター出現
基のプログラムは繭に乗ったら一定の確率でモンスターが出現しましたが
どこを歩いても一定の確率でモンスターを出現するようにしました。

 

初心者がPythonでRPGを作成する(第3回)クラスを作成
クラスを作成して、そこにプレイヤーのパラメータを持たせるようにしました。

 

初心者がPythonでRPGを作成する(第4回)スプレッドシートと連携
スプレッドシートと連携しました。
パラメータの値をスプレッドシートにまとめて、そこから値を取得します。
スプレッドシートとの連携方法はこちら
スプレッドシートのライブラリ(gspread)はこちら

 

初心者がPythonでRPGを作成する(第5回)スプレッドシートと連携
前回に続いて、スプレッドシートとの連携です。
今回はモンスターのパラメータをスプレッドシートから取得します。

 

初心者がPythonでRPGを作成する(第6回)フォント(font)を変えて日本語表示する
今のままだと日本語の表示ができない(文字化けする)為、
フォントを変えて日本語を表示できるようにしました。

 

初心者がPythonでRPGを作成する(第7回)文字の表示位置を変える
前回、フォントを変えた関係で、文字の大きさ等が変わり
画面からはみ出てしまう為、文字の表示位置を変えました。

 

初心者がPythonでRPGを作成する(第8回)戦闘コマンドの表示を変える
タイトルの通り、戦闘コマンドの表示を変えました。
今回は表示のみで、選択はできません。

 

初心者がPythonでRPGを作成する(第9回)新戦闘コマンドを選択する
前回、作成した新しい戦闘コマンドから選択できるようにしました。
今回は「こうげき」と「にげる」のコマンドです。

 

初心者がPythonでRPGを作成する(第10回)「ぼうぎょ」を作成
戦闘コマンドで「ぼうぎょ」を選択できるようにしました。

 

初心者がPythonでRPGを作成する(第11回)モンスター名を表示
出現したモンスターの名前を表示するようにしました。

 

初心者がPythonでRPGを作成する(第12回)モンスター複数出現
出現するモンスターは1匹のみでしたが、複数のモンスターが出現するようにしました。
最大で4匹です。

 

初心者がPythonでRPGを作成する(第13回)攻撃対象を選択
前回で複数のモンスターが出現するようになった為、
どのモンスターを攻撃するか選択できるようにしました。

 

初心者がPythonでRPGを作成する(第14回)倒した対象を消す
モンスターを倒しても表示が消えず、倒した後も攻撃対象として
選択できてしまいますので、倒したモンスターの表示を消すようにしました。
また、同じ種類のモンスターが複数出現した時は名前にA,B..を追加しました。

 

初心者がPythonでRPGを作成する(第15回)全員攻撃する
モンスターが何匹出現してもモンスターの攻撃は1回(1匹)のみでしたが
出現したモンスター全員が攻撃するようにしました。
攻撃の順番は攻撃力の高い順です。
プレイ動画はこちら

 

独学でPythonでRPGを作成する(第16回)素早さを追加
パラメータに素早さを追加して、攻撃の順番を素早さの高い順に変更しました。
プレイ動画はこちら

 

独学でPythonでRPGを作成する(第17回)親クラスを追加
親クラスを作成して、元々あったBraveクラスとMonsterクラスは
Charaクラスを継承するようにしました。

 

独学でPythonでRPGを作成する(第18回)経験値を貯めてレベルアップ
プレイヤーとモンスターのパラメータに経験値を追加して
一定の経験値が貯まるとレベルアップするようにしました。

 

独学でPythonでRPGを作成する(第19回)先制攻撃・不意打ちを追加
前回の最後に追加した変数actを使って、戦闘の行動順の仕組みを変更しています。
また、戦闘が始まった時の先制攻撃や不意打ちを追加します。
プレイ動画はこちら

 

独学でPythonでRPGを作成する(第20回)プログラム公開
いくつかのバグを修正しました。
また、このシリーズも気がつけば20回目になりましたので、
今まで変更を加えたプログラム(ソースコード)を公開しました。

 

独学でPythonでRPGを作成する(第21回)モジュール化
長くなってきたプログラムを分割(モジュール化)しました。
また、分割したプログラムを公開しました。

 

独学でPythonでRPGを作成する(第22回)特殊攻撃を追加する
今回から戦闘のコマンドで新たに特殊攻撃を加えていきます。

 

独学でPythonでRPGを作成する(第23回)呪文の表示の修正
呪文の表示を修正して行きます。
1ページに表示する呪文の数を4つから8つに変更します。

 

独学でPythonでRPGを作成する(第24回)呪文表示のページ遷移
覚えている(使える)呪文が9つ以上の時は
2ページ目、3ページ目に表示できるように変更します。

 

独学でPythonでRPGを作成する(第25回)呪文の説明を表示
選択している(「▶︎」が指している)呪文の説明を表示するように変更します。

 

独学でPythonでRPGを作成する(第26回)回復呪文を使う
一つのみですが、回復呪文を使えるように変更します。
プレイ動画はこちら

 

独学でPythonでRPGを作成する(第27回)攻撃呪文を使う
攻撃呪文を使えるように変更します。
また、前回に作成したメソッドは1つの呪文しか使えませんが、
色々な呪文が使える汎用的なメソッドにします。

 

独学でPythonでRPGを作成する(第28回)呪文発動の整理
呪文を使った時に点滅しますが呪文ごとに色を変えます。
あと、「こうげき」と「じゅもん」で
攻撃した時のモンスターへのダメージ計算を関数にします。

 

独学でPythonでRPGを作成する(第29回)マップ画像を取得
マップを変更します。
OpenCVを使って、マップチップを切り取ることで
マップの画像を取得します。

 

独学でPythonでRPGを作成する(第30回)マップの1マスの大きさを変える
マップの1マスの大きさを変えます。
それに伴ってプレイヤーが動いた時の動作を変更します。
また、プレイヤーがマップの端に動いた時、
端は黒くなりますが画像が表示されるように変更します。

 

独学でPythonでRPGを作成する(第31回)マップごとに出現モンスターを変える
マップ(エリア)ごとにモンスターエリアという値を追加して
出現するモンスターを変えます。

 

独学でPythonでRPGを作成する(第32回)マップに移動制限をつける
マップの場所によって移動できない制限をつけます。
あと、その他にもモンスターエリアを複数追加したり、
先制攻撃の時は逃げられるように変更します。

 

独学でPythonでRPGを作成する(第33回)攻撃呪文をモンスターグループや全体に
呪文の攻撃対象を変更します。
今まではモンスター単体への攻撃のみでしたが
モンスターグループや全体に攻撃できるようにします。
動画はこちら

 

【ご注意】
プログラムやデータなどは著作権法により保護されています。
著作者の許諾を得ずに、プログラムおよびデータそのものまたは改変したものを
配布したり販売したりすることはできません。
また、これらを利用して発生した損害などに関して、著作者は一切責任を負いません。

 

 

 

 

-CODE, Python, RPG
-, , , , , , , ,

Copyright© kerublog , 2021 All Rights Reserved Powered by STINGER.