CODE Python RPG

初心者がPythonでRPGを作成する(第1回)

更新日:

こんにちは。
Pythonを勉強していますが、何をしたら良いのか迷っていました。
そんな時に「Pythonでつくる ゲーム開発 入門講座」のChapter11,12(本格RPGを作ろう!全編・後編)に興味を持ったので、このプログラムを基に編集していきます。
ここではその様子を回数を分けて紹介していきます。

目次

  1. Pythonでつくる ゲーム開発 入門講座について
  2. コメントを追加
  3. まとめ

 

Pythonでつくる ゲーム開発 入門講座について

大手メーカーで活躍されていたクリエイターさんがゲーム開発のノウハウを教えて下さいます。
複雑なアルゴリズムではない為、初心者さんでも楽しく学べると思います!

そして、この中に掲載されているRPGを編集していきますので、その記録をとっていこうと思います。

 

 

コメントを追加

とりあえず最初は、こちらからダウンロードしたファイルにコメント(変数のみ)を追加していきました。
※zipファイルですが、解凍には本書にあるパスワードが必要です。

記載していない行は省略しています。

# 画像の読み込み
imgPlayer = [
    pygame.image.load("image/mychr0.png"), # 上
    pygame.image.load("image/mychr1.png"), # 上
    pygame.image.load("image/mychr2.png"), # 下
    pygame.image.load("image/mychr3.png"), # 下
    pygame.image.load("image/mychr4.png"), # 左
    pygame.image.load("image/mychr5.png"), # 左
    pygame.image.load("image/mychr6.png"), # 右
    pygame.image.load("image/mychr7.png"), # 右
    pygame.image.load("image/mychr8.png") # 倒れた
]
imgEffect = [
    pygame.image.load("image/effect_a.png"), # 攻撃
    pygame.image.load("image/effect_b.png") # blaze
]

# 変数の宣言
speed = 1 # 速度(1-3) 大きいほど速い sキーで変化
# 0: タイトル画面 1: プレイヤーの移動 2: 画面切り替え(階段) 3: アイテム入手もしくはトラップ(宝箱・繭) 9: ゲームオーバー 10: 戦闘開始 11: プレイヤーのターン(入力待ち)
# 12: プレイヤーの攻撃 13: 敵のターン、敵の攻撃 14: 逃げられる? 15: 敗北 16: 勝利 17: レベルアップ 20: Potion 21: Blaze gem 22: 戦闘終了
idx = 0
floor = 0 # 階層 出現する敵や敵のレベルに影響(階層が上がるほど出現する敵の種類が増え、レベルの上限が上がる)出現する敵とレベルはランダム
fl_max = 1 # 最高到達階層 タイトル画面に表示
welcome = 0 # Welcome to floorの表示時間

pl_x = 0 # プレイヤーのx座標
pl_y = 0 # プレイヤーのy座標
pl_d = 0 # プレイヤーの向き 0:上 1:下 2:左 3:右
pl_a = 0 # imgPlayerの添字
pl_lifemax = 0 # プレイヤーの体力の最大値
pl_life = 0 # プレイヤーの体力(1歩ごとに1回復) 0になったらゲームオーバー
pl_str = 0 # プレイヤーの攻撃力
food = 0 # プレイヤーの食料(1歩ごとに1減少) 0になったら体力が1歩ごとに5減少
potion = 0 # ポーションを使える回数(使うと全快する)
blazegem = 0 # blazeを使える回数
treasure = 0 # TRE_NAMEの添字 1,2,3:宝箱、4,5:繭

emy_name = "" # 敵の名前
emy_lifemax = 0 # 敵の最大体力 敵やレベルによって異なる
emy_life = 0 # 敵の体力
emy_str = 0 # 敵の攻撃力 最大体力で決まる(最大体力が大きいほど攻撃力が大きい)
emy_x = 0 # 敵の表示位置(x座標)
emy_y = 0 # 敵の表示位置(y座標)
emy_step = 0 # 敵が攻撃する時の動きの大きさ(前に出るステップの大きさ)
emy_blink = 0 # 攻撃した時に敵を点滅させる(奇数:表示させない、偶数:表示させる)

dmg_eff = 0 # エフェクト表示に利用
btl_cmd = 0 # バトルコマンド(1:攻撃 2:ポーション 3:blaze 4:逃げる)

dungeon = [] # 0:床 1:宝箱 2:繭 3:階段 9:壁

 

まとめ

次回から編集していってみます。
今は繭に乗ったら6割くらいの確率で敵が出る(4割は食料)ようになっていますが、繭に限らず普通の床だったら一定の確率で敵が出るようにしてみようと思っています。

まとめサイトへ

 

 

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

 

 

-CODE, Python, RPG
-, , , ,

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