Skip to content

ayakasakurai0213/ProjExD_05

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

ゲーム のタイトル

  • 「RPG of くそげー」

実行環境の必要条件

  • python >= 3.10
  • pygame >= 2.1

ゲームの概要

  • RPGの戦闘シーン、敵のスライムと戦闘をする
  • 攻撃をクリック: スライムに攻撃
  • 防御をクリック: スライムからの攻撃を防御
  • 魔法をクリック: MPを1消費して大ダメージを与える
  • 回復をクリック: HPを回復
  • 調教をクリック: スライムが仲間になることがある、スライムのHPが下がるほど仲間になりやすい
  • 逃走をクリック: 逃げる
  • スライムを倒すか、仲間にするとゲームクリア
  • 勇者のHPが0になると死亡、また逃走するとゲームオーバー

ゲームの実装

共通基本機能

global変数

  • WIDTH: ウィンドウの横幅
  • HIGHT: ウィンドウの縦幅
  • txt_origin: 勇者の行動選択の文字列のリスト ["攻撃","防御","魔法","回復","調教","逃走"]
  • HP: 勇者のヒットポイント
  • MP: 勇者のマジックポイント
  • ENE_HP: 敵のヒットポイント

Buttonクラス

  • 勇者の行動を選択するためのボタンに関するクラス
初期化メソッド:
  • 引数:
  • x: ボタンのx座標
  • y: ボタンのy座標
  • width: ボタンの横幅
  • height: ボタンの縦幅
  • color: ボタンの色
  • hover_color: マウスカーソルがボタンの上にある時のボタンの色
  • text: 行動選択肢の文字
  • text_color: 文字の色
  • action: 行動
  • num: index(0:攻撃, 1:防御, 2:魔法, 3:回復, 4:調教, 5:逃走)
  • それぞれの引数をそれぞれの値で初期化
drawメソッド:
  • 勇者の行動選択肢のボタンを描画するメソッド
  • 引数:
  • scr: ディスプレイのsurface
handle_eventメソッド:
  • 勇者の行動の切り替えメソッド
  • 左クリックされて、ポインタの座標が行動選択のボタンの範囲内にあれば、action関数の実行

action関数

  • 勇者の行動に関する関数
  • 勇者の行動をprint

main関数

  • このゲームを描画するのに必要な画像やテキストのsurface作成
  • 画像やテキストの表示

追加機能

攻撃処理

  • スライムを攻撃したときの処理

追加・変更点:

action関数内:
  • 攻撃ボタンが押されたら、勇者の攻撃力の分だけスライムのHPを減らす
  • スライムのHPが0以下になったら、スライムのHPを0に固定
  • 攻撃ボタンが押されたら、攻撃エフェクトを描画する
main関数内:
  • スライムのHPが0になったら、テキストボックスに「スライムを倒した!」と表示し、画面を3秒間止めてプログラム終了

防御処理

  • スライムからの攻撃から守る処理
  • 攻撃と同時に攻撃画像を出す処理
global変数
  • is_mouse_pressed = マウスボタンが押されていない状態
action関数内
  • 「防御」を押すことによって勇者のダメージが±0になる
ENE_action関数内
  • スライムのターンになったらスライムから攻撃画像がランダムの座標に表示される。

回復処理

action関数内、HP_MPクラス

  • hit pointとmaind pointの増減機能

ENE_action関数内

  • 相手の行動の追加

action関数内

  • 回復ボタンが押されたときにmpを減らし、HPを増やす機能

死亡処理

main関数内

  • 勇者のHPが0になったら赤色で「You died」と表示し、画面を3秒間止めてプログラム終了

調教処理

global変数

  • TAME:ていむが成功したか(初期値は失敗)

action関数内

  • 調教ボタンが押されたら、敵HPに応じてグローバル変数TAMEをTrueにする

main関数内

  • 調教ボタンが押されたとき、グローバル変数TAMEがTrueなら「ていむ成功!!」と表示し、画面を3秒間止めてプログラム終了。Falseなら「ていむ失敗...」と表示する。

画像fig

  • back.png: 背景画像
  • breiv.png: 4人パーティーの画像
  • ene.png: 敵スライムの画像
  • haikei.jpg: サブ背景
  • win.png: テキストボックス
  • fight_effect.png: スライムを攻撃したときのエフェクト画像
  • momoka.png: 爆発のエフェクト画像

担当追加機能

  • 戦闘: サクライ
  • 防御: イワタ
  • 回復: ママタ
  • 死亡: コヤマ
  • 調教: イハラ

ToDo

サクライ
  • 攻撃の選択をしたら敵のHPを減らす
  • 攻撃の選択をしたら攻撃モーションを追加
  • スライムを倒したらゲームクリアの表示
  • 攻撃に合わせたテキストをテキストボックスに表示
イワタ
  • 防御を作る。
  • 攻撃されてもダメージ0になるようにする。
  • ランダムで攻撃画像を出力する。
ママタ
  • hp・mpの管理
コヤマ
  • HPが0になったらゲームを終了する
  • HPが0になったらYou diedと表示する
イハラ
  • 調教の選択をしたら敵HPに応じて成功確率を変える
  • 調教の成功、失敗に応じてテキストを変える

メモ

  • 基本的にaction関数内に追加機能を書いていく

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages