teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

分かりにくい表現の修正

2018/07/19 08:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,7 @@
7
7
  PlayerDataClass//主人公側(装備データも含む、コマンド選択で行動、それぞれに固有スキル)
8
8
  EnemyDataClass//敵側(2ターンに1回、HP50%以下等で分岐して行動、複数回行動もアリ)
9
9
  SkillDataClass//通常攻撃や防御を含むスキルの威力や範囲、付加する効果等を纏めてある。
10
- BattleClass//戦闘するための場。若しくは戦闘を監視するmain.java
10
+ BattleClass//戦闘するための場。若しくは戦闘を監視する審判。今回のmain.java
11
11
  戦闘開始の際はBattleClass内で(仮に2vs2の戦闘)
12
12
  //戦闘に必要なデータのコピー
13
13
  CharacterClass player_a=new CharacterClass(PlayerDataClass hero)
@@ -23,14 +23,14 @@
23
23
  以下に具体例を用意したので、場合による時はこの番号のケースではこっちと教えて頂きたいです。
24
24
 
25
25
  ### 具体的な質問・不安な点
26
- 1.キャラか戦闘監視者
26
+ 1.キャラか審判
27
27
  1-1.act(SkillDataClass sd,CharacterClass target)メソッドを作り、ダメージ計算を行いたいが、CharacterClassとBattleClassのどちらに書くべきか。(人数が増えた場合、戦闘不能情報なども考慮するとフラグ等もBattleClassが全て管理するべき?その場合引数も追加)
28
28
  1-2.PlayerClassとEnemyClassはCharacterClassを継承させる必要があるか?その場合actメソッド等無駄にならないか(1-1の答えによってはオーバーライドするべきか)
29
29
 
30
30
  2.敵の行動は、{条件のID(2ターンに1回、HP50%以下等をID化)と攻撃対象(最もHPが低い等)とスキル}の纏まりを最大10個EnemyClassDataに書き込んで管理したい(敵のデータは別ファイルから入力)が、条件の**IDを受け取ってswitch文でtrueorfalse判定を返すメソッドはどこ**に書けば良いか?呼び出しはBattleClassのwhileループ内。候補:EnemyClass、BattleClass
31
31
 
32
32
  3.スキル自身かスキル実行者か
33
- 3-1.使うとダメージや回復ではない特殊な追加効果が起きる(戦闘不能者の数だけ攻撃アップ)スキルAの場合、その**処理はactメソッドの中**に書いて置くのが良いのでしょうか?if(sd=skiilA){戦闘不能者の数×10を攻撃力に加算}としてからダメージ計算処理(同じような効果が増えたら特殊効果番号と効果値をSkillDataに加えて関数化?)。もしくはSkillDataにusedメソッドを作り、**個別に書くべき**なのか?
33
+ 3-1.使うとダメージや回復ではない特殊な追加効果が起きる(戦闘不能者の数だけ攻撃アップ)スキルAの場合、その**処理はactメソッドの中**に書いて置くのが良いのでしょうか?if(sd=skiilA){戦闘不能者の数×10を攻撃力に加算}としてからダメージ計算処理(同じような効果が増えたら特殊効果番号と効果値をSkillDataに加えて関数化?)。もしくはSkillDataにusedメソッドを作り、**スキル個別に実行された処理を書くべき**なのか?
34
34
  3-2.主人公側のみの固有スキル(例heroならHP80%以上なら自身が狙われる等)の処理はどこに入れるべきか?固有スキル名だけCharacterClassに移して3-1と同様にすれば良い?
35
35
 
36
36
  4.(念のため)味方の行動はBattleClassのWhileループ内に選択された行動から条件分岐書いてact等を実行で良いのか?(間違ってなければスルーで)

1

要点を追加、文章修正

2018/07/19 08:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -16,14 +16,24 @@
16
16
  CharacterClass enemy_b=new CharacterClass(EnemyDataClass slime)//データはArraylistで格納して置き、idか名前で呼び出す
17
17
  としようと考えたのですが、基本的なHP等のステータスは移せますが行動はどのように書いて処理すれば良いかが分かりません。
18
18
  この後whileループ処理→抜けたら戦闘終了処理(プレイヤーのHPを更新、ドロップ処理など)→フィールドに戻る。という流れです。
19
+ 現在、設計の案を試行錯誤している段階です。(具体的なコードは無いです)
19
20
 
20
- ### 質問・不安な
21
- 1.act(SkillDataClass sd,CharacterClass target)メソッドを作りダメジ計算行いたい、CharacterClassとBattleClassのどちらに書くべきか。(人数が増た場合、戦闘不能情報なども考慮するとフラグ等もBattleClassが全管理するべ?その場合引数も追加)
22
- 2.PlayerClassとEnemyClassはCharacterClassを継承させる必要があるか?actメソッド等無駄ならないか(1答えによってバーライドするべか)
23
- 3.敵の行動は、{条件のID(2ターンに1回、HP50%以下等をID化)と攻撃対象(最もHPが低い等)とスキル}の纏まりを最大10個EnemyClassDataに書き込んで管理したい(敵のデータは別ファイルから入力)が、条件の**IDを受け取ってswitch文でtrueorfalse判定を返すメソッドはどこ**に書けば良いか?呼び出しはBattleClassのwhileループ内。
24
- 4.使うとダメージや回復ではない特殊な追加効果が起きる(戦闘不能者の数だけ攻撃アップ)スキルAの場合、その**処理はactメソッドの中**に書いて置くのが良いのでしょうか?if(sd=skiilA){戦闘不能者の数×10を攻撃力に加算}としてからダメージ計算処理(同じような効果が増えたら特殊効果番号と効果値をSkillDataに加えて関数化?)。もしくはSkillDataにusedメソッドを作り、**個別に書くべき**なのか?
25
- 5.主人公側のみの固有スキル(例heroならHP80%以上なら自身が狙われる等)の処理はどこに入れるべきか?固有スキル名だけCharacterClassに移して4と同様にすれば良い?
26
- 6.(念のため)味方の行動はBattleClassのWhileループ内に選択された行動から条件分岐書いてact等を実行で良いのか?(間違ってなければスルーで)
21
+ ###
22
+ メソッドは自身が使うべきか扱う人使うべきかを教えてたいです。
23
+ 以下具体例を用意したで、場合による時この番号のケスではこっちと教えて頂たいです。
27
24
 
28
- 少々長い+似たような質問ですがオブジェクト指向の細かい部分が分からい為よろしくお願いします。長い部分は太字にしました。
29
- 回答は出来ればこっちにすると○○な点で不便だら××の方が良いと思う等の理由や意見があると助ります。
25
+ ### 具体的な質問・不安
26
+ 1.キャラ戦闘監視者
27
+ 1-1.act(SkillDataClass sd,CharacterClass target)メソッドを作り、ダメージ計算を行いたいが、CharacterClassとBattleClassのどちらに書くべきか。(人数が増えた場合、戦闘不能情報なども考慮するとフラグ等もBattleClassが全て管理するべき?その場合引数も追加)
28
+ 1-2.PlayerClassとEnemyClassはCharacterClassを継承させる必要があるか?その場合actメソッド等無駄にならないか(1-1の答えによってはオーバーライドするべきか)
29
+
30
+ 2.敵の行動は、{条件のID(2ターンに1回、HP50%以下等をID化)と攻撃対象(最もHPが低い等)とスキル}の纏まりを最大10個EnemyClassDataに書き込んで管理したい(敵のデータは別ファイルから入力)が、条件の**IDを受け取ってswitch文でtrueorfalse判定を返すメソッドはどこ**に書けば良いか?呼び出しはBattleClassのwhileループ内。候補:EnemyClass、BattleClass
31
+
32
+ 3.スキル自身かスキル実行者か
33
+ 3-1.使うとダメージや回復ではない特殊な追加効果が起きる(戦闘不能者の数だけ攻撃アップ)スキルAの場合、その**処理はactメソッドの中**に書いて置くのが良いのでしょうか?if(sd=skiilA){戦闘不能者の数×10を攻撃力に加算}としてからダメージ計算処理(同じような効果が増えたら特殊効果番号と効果値をSkillDataに加えて関数化?)。もしくはSkillDataにusedメソッドを作り、**個別に書くべき**なのか?
34
+ 3-2.主人公側のみの固有スキル(例heroならHP80%以上なら自身が狙われる等)の処理はどこに入れるべきか?固有スキル名だけCharacterClassに移して3-1と同様にすれば良い?
35
+
36
+ 4.(念のため)味方の行動はBattleClassのWhileループ内に選択された行動から条件分岐書いてact等を実行で良いのか?(間違ってなければスルーで)
37
+
38
+ オブジェクト指向の細かい部分が分からない為よろしくお願いします。長い部分は太字にしました。
39
+ 回答は出来ればこっちにすると○○な点で不便だから××の方が良いと思う等の理由や意見が欲しいです。