aburi6800 / python-onyxofblack Goto Github PK
View Code? Open in Web Editor NEWA retro 3D dungeon role-playing game made in Python.
A retro 3D dungeon role-playing game made in Python.
3D表示でアニメーションもしないため、せめて方角の表示が必要だと思う。
しかし最初から無条件に表示というのもつまらないので、何か条件を満たしたら表示されるようにしたらどうだろうか。
キャンプ用の絵を用意して表示するようにしたら直るので、頑張って描く。
tick=0になっていない。pushする直前にstate=0にする?
各StateとStateStackの間で循環参照していたため、構造を見直し。
必要な機能:
・表示するメッセージを持つ(外部から渡す)
・1文字ずつ表示する、5行以上になる場合はキー入力を待って6行目以降を表示する
・メッセージ表示後に入力を待つキーと対応するイベント(メソッド)を定義できる
・デフォルトはスペースキー、押すとメッセージ表示終了
メインの処理では、メッセージ表示中かどうか判断して、表示中ならメッセージクラスの処理を行う(移動はできない)
恐らく、勝利時に取得するゴールドの変数にゼロ以外の値が入っているため?
メッセージ色を変えないと状況が判断しにくいので、対応したい。
店やキャンプの時しか表示されない各キャラクタの番号を、名前の左に常に表示するように修正する。
確率、ダメージ倍率は要検討。
武器の属性を考慮するか?
悪の属性の場合、Talkすると戦闘に入る。
・近くに行ったら雷を落とす
・ただの壁なので、きちんと塔らしく高く描画する
EventHandlerの実装と同じようにパスを指定してやれば可能なはず。
MAPの属性には持っていないので、別の情報を持たせなければならない。
ダンジョン内も同様に処理できるはずなので、何か手段を考える。
現状は、プレイヤーパーティーのSTR合計+1~12の乱数 > 敵のSTR合計+1~12の乱数 の場合に逃走する。
しかし、これだと低いレベルの敵は最初からほぼ確実に逃げてしまう。
理想は、ある程度プレイヤーパーティーのレベルが上がるまでは逃げないこと。
オリジナルは情報が少なすぎるため、少し情報をプレイヤーに提供するようにしたい。
例えば人間パーティーと遭遇時のTALK、UTSURO INNでの会話イベントなど?
以下の問題がある。
・敵のレベルが高いとまず逃げられない、全滅確定
・あるバランスになるとお互いにダメージが通らず、戦闘が終わらない
・武器や防具にメリットしかなく、デメリットがない(重い金属鎧なのに、素早さがそのまま)
・MessageQueueに現在の状態と入力選択肢の取得メソッドを追加し、
グローバルな変数を参照しないようにする
・MessageQueueクラスの処理をどこかの基底クラスに設ける
サブクラスからはMessageQueueクラスの処理開始指示、状態と入力選択肢の判定を行うようにする
→イベントクラス以外でも共通でメッセージ表示できるように対応する
今は無条件に画像を表示しているので、画像のないイベントに対応させるため、画像をロード済の場合のみ表示する。
SG1000版を参考にしたい。
井戸で移動もできずマップ遷移もできないため、ゲームが進行できなくなる。
要対応。
現在の戦闘はあまりにも駆け引きがなさすぎるので、せめて薬を戦闘中に使えるようにしたい。
単に描画時の座標の指定誤り。
見ずらいので直したい。
レベルが上がってから弱い敵を倒しても一定の経験値が入ると、レベルアップが簡単に行えるため、対策を行う。
最大値を超えると表示が乱れるため、対処が必要。
オブジェクト生成時に追加したメソッドが、ロード時に復元されていない模様。
以前はできていたので、仕様が変わったのか?
井戸のイベントは実装済。他のイベントも置き換えていく。
また、イベントのDict情報にはメソッド名ではなく、直接EvenhHandlerを呼ぶコードにする or jsonファイル名を指定してEventHandlerを呼ぶメソッドを実行するようにしたい。(イベントごとのメソッドは廃止したい)
壁の色は各StateのdoEnterで行っているが、ロードした時はこのメソッドが呼ばれないためだと推測。
恐らくキーワード引数を_init__のパラメタに指定していないからだと思われる。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.