- 「RPG of くそげー」
- python >= 3.10
- pygame >= 2.1
- RPGの戦闘シーン、敵のスライムと戦闘をする
- 攻撃をクリック: スライムに攻撃
- 防御をクリック: スライムからの攻撃を防御
- 魔法をクリック: MPを1消費して大ダメージを与える
- 回復をクリック: HPを回復
- 調教をクリック: スライムが仲間になることがある、スライムのHPが下がるほど仲間になりやすい
- 逃走をクリック: 逃げる
- スライムを倒すか、仲間にするとゲームクリア
- 勇者のHPが0になると死亡、また逃走するとゲームオーバー
- WIDTH: ウィンドウの横幅
- HIGHT: ウィンドウの縦幅
- txt_origin: 勇者の行動選択の文字列のリスト ["攻撃","防御","魔法","回復","調教","逃走"]
- HP: 勇者のヒットポイント
- MP: 勇者のマジックポイント
- ENE_HP: 敵のヒットポイント
- 勇者の行動を選択するためのボタンに関するクラス
- 引数:
- x: ボタンのx座標
- y: ボタンのy座標
- width: ボタンの横幅
- height: ボタンの縦幅
- color: ボタンの色
- hover_color: マウスカーソルがボタンの上にある時のボタンの色
- text: 行動選択肢の文字
- text_color: 文字の色
- action: 行動
- num: index(0:攻撃, 1:防御, 2:魔法, 3:回復, 4:調教, 5:逃走)
- それぞれの引数をそれぞれの値で初期化
- 勇者の行動選択肢のボタンを描画するメソッド
- 引数:
- scr: ディスプレイのsurface
- 勇者の行動の切り替えメソッド
- 左クリックされて、ポインタの座標が行動選択のボタンの範囲内にあれば、action関数の実行
- 勇者の行動に関する関数
- 勇者の行動をprint
- このゲームを描画するのに必要な画像やテキストのsurface作成
- 画像やテキストの表示
- スライムを攻撃したときの処理
- 攻撃ボタンが押されたら、勇者の攻撃力の分だけスライムのHPを減らす
- スライムのHPが0以下になったら、スライムのHPを0に固定
- 攻撃ボタンが押されたら、攻撃エフェクトを描画する
- スライムのHPが0になったら、テキストボックスに「スライムを倒した!」と表示し、画面を3秒間止めてプログラム終了
- スライムからの攻撃から守る処理
- 攻撃と同時に攻撃画像を出す処理
- is_mouse_pressed = マウスボタンが押されていない状態
- 「防御」を押すことによって勇者のダメージが±0になる
- スライムのターンになったらスライムから攻撃画像がランダムの座標に表示される。
- hit pointとmaind pointの増減機能
- 相手の行動の追加
- 回復ボタンが押されたときにmpを減らし、HPを増やす機能
- 勇者のHPが0になったら赤色で「You died」と表示し、画面を3秒間止めてプログラム終了
- TAME:ていむが成功したか(初期値は失敗)
- 調教ボタンが押されたら、敵HPに応じてグローバル変数TAMEをTrueにする
- 調教ボタンが押されたとき、グローバル変数TAMEがTrueなら「ていむ成功!!」と表示し、画面を3秒間止めてプログラム終了。Falseなら「ていむ失敗...」と表示する。
- back.png: 背景画像
- breiv.png: 4人パーティーの画像
- ene.png: 敵スライムの画像
- haikei.jpg: サブ背景
- win.png: テキストボックス
- fight_effect.png: スライムを攻撃したときのエフェクト画像
- momoka.png: 爆発のエフェクト画像
- 戦闘: サクライ
- 防御: イワタ
- 回復: ママタ
- 死亡: コヤマ
- 調教: イハラ
- 攻撃の選択をしたら敵のHPを減らす
- 攻撃の選択をしたら攻撃モーションを追加
- スライムを倒したらゲームクリアの表示
- 攻撃に合わせたテキストをテキストボックスに表示
- 防御を作る。
- 攻撃されてもダメージ0になるようにする。
- ランダムで攻撃画像を出力する。
- hp・mpの管理
- HPが0になったらゲームを終了する
- HPが0になったらYou diedと表示する
- 調教の選択をしたら敵HPに応じて成功確率を変える
- 調教の成功、失敗に応じてテキストを変える
- 基本的にaction関数内に追加機能を書いていく