回答編集履歴

2

追記2

2019/06/07 01:33

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -455,3 +455,21 @@
455
455
 
456
456
 
457
457
  あるいは、未使用・使用のチェックためにboolを追加しておく。これで「未使用」と判定されたものだけ使う...とか。
458
+
459
+
460
+
461
+
462
+
463
+ ---
464
+
465
+
466
+
467
+ [追記2]
468
+
469
+
470
+
471
+ あと、なんとなく思いついたのですが、基本攻撃とかMPを使って行う攻撃や回復は、これもクラス化するかなぁ...
472
+
473
+
474
+
475
+ そしたら、オブジェクトを取り換えるだけでいい気がする...

1

追記1

2019/06/07 01:33

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -405,3 +405,53 @@
405
405
  単に戦わせるだけのフィールドなら、mainメソッドでもいいかも?
406
406
 
407
407
  それがちょっと怪しいなら、別のメソッドを呼んで、間接的に操作...みたいに。
408
+
409
+
410
+
411
+ ---
412
+
413
+ [追記1]
414
+
415
+
416
+
417
+ ああ、忘れていました。
418
+
419
+ 多分、ご承知だとは思いますが、
420
+
421
+ 攻撃する側からすれば、Subを受け取り、そのSubのattackedメソッド( 攻撃された系 ) を呼び出して、改変してもらう。
422
+
423
+
424
+
425
+ そして攻撃される側からすると、自分オブジェクトが攻撃者に渡され、
426
+
427
+ 自身のattackedメソッドに、敵の攻撃力( ap_ ) が渡される。
428
+
429
+ そして、その値をマイナスしていく。(ふつうは攻撃されたらマイナスになるからねぇ。)
430
+
431
+
432
+
433
+ 簡易的なものならこれでいいですが、ほとんどのRPGなんかは、「独自の攻撃や回復系魔法 等」を持っていますね。
434
+
435
+ これはどうするか、頭を悩ませますが、そういう風に考えていく。
436
+
437
+
438
+
439
+ あと、ポーションとか、ドラ〇ンボ〇ルでいう「[仙〇](https://ja.wikipedia.org/wiki/%E4%BB%99%E8%B1%86)」とかみたいな、回復したり、
440
+
441
+ 逆に、爆弾とかそういう、攻撃系のアイテムがあったりします。
442
+
443
+
444
+
445
+ これも、キャラ系のやつとかみたいに、クラス化したり、インターフェースを設けて実装したり。
446
+
447
+ 使った後は、使えなくするのが普通ですよね。
448
+
449
+ (さすがに食い物系や爆弾系で何度使っても...っていうのは不自然だし。仮にOKだとしても、「常に湧き出る水」みたいに、特殊条件を付けないといけないでしょうし。)
450
+
451
+
452
+
453
+ なので、C++でいえばdeleteに相当する処理をする。(Javaだと無いと思うので、単純にリストから省くとか)
454
+
455
+
456
+
457
+ あるいは、未使用・使用のチェックためにboolを追加しておく。これで「未使用」と判定されたものだけ使う...とか。