fork download
  1. using System;
  2.  
  3. public class Test{
  4. class JoshiKosei : Human{
  5. public int MP ,Avoid, MagicAttack ;
  6. public JoshiKosei(int _MP ,int _Avoid ,int _MagicAttack ,
  7. int _Attack,int _Defence,int _HP,string _Name)
  8. :base(true, _Attack, _Defence, _HP, _Name){
  9. MP = _MP;Avoid = _Avoid; MagicAttack = _MagicAttack;
  10. }
  11. public override int Assault() {
  12. Console.WriteLine("OverrideAssault" + Name);
  13. return base.Assault() + MagicAttack;
  14. }
  15. public override void Damaged(Human Enemy) {
  16. Console.WriteLine("OverrideDamage"+ Name );
  17. int damage = - Defence+Enemy.Assault();
  18. if (damage > 0) HP -= damage;
  19. }
  20. }
  21.  
  22. static void Ex3() {
  23. Human Kyon = new Human(false, 100, 200, 150, "キョン");
  24. JoshiKosei Chihaya = new JoshiKosei(720, 72, 720, 72, 72, 72, "如月千早");
  25. Human Freeza = new Human(false, 530000, 530000, 530000, "フリーザ");
  26. JoshiKosei Nagato = new JoshiKosei(10000, 50, 500000, 60, 60, 60, "長門有希");
  27. Human[] HumanArray = new Human[] {Kyon,Chihaya,Freeza,Nagato };
  28. foreach(Human Offence in HumanArray){
  29. foreach(Human Defence in HumanArray){
  30. if (!Offence.Equals(Defence)) {
  31. Defence.Damaged(Offence);
  32. }
  33. }
  34. }
  35. }
  36.  
  37.  
  38. class Human{
  39. public virtual int Assault(){
  40. Console.WriteLine("Assault"+ Name );
  41. return Attack;
  42. }
  43. public virtual void Damaged(Human Enemy){
  44. Console.WriteLine("Damage"+ Name );
  45. int damage = -Defence + Enemy.Assault();
  46. if (damage > 0) HP -= damage;
  47. }
  48. public readonly bool isGirl;
  49. public int Attack, Defence, HP;
  50. public readonly string Name;
  51. public Human(bool _isGirl,int _Attack,int _Defence,int _HP,string _Name) {
  52. isGirl = _isGirl;
  53. Attack = _Attack; Defence = _Defence;
  54. HP = _HP ; Name = _Name;
  55. }
  56. }
  57. static void Main() {
  58. Ex3();
  59. }
  60. }
Success #stdin #stdout 0.03s 24144KB
stdin
Standard input is empty
stdout
OverrideDamage如月千早
Assaultキョン
Damageフリーザ
Assaultキョン
OverrideDamage長門有希
Assaultキョン
Damageキョン
OverrideAssault如月千早
Assault如月千早
Damageフリーザ
OverrideAssault如月千早
Assault如月千早
OverrideDamage長門有希
OverrideAssault如月千早
Assault如月千早
Damageキョン
Assaultフリーザ
OverrideDamage如月千早
Assaultフリーザ
OverrideDamage長門有希
Assaultフリーザ
Damageキョン
OverrideAssault長門有希
Assault長門有希
OverrideDamage如月千早
OverrideAssault長門有希
Assault長門有希
Damageフリーザ
OverrideAssault長門有希
Assault長門有希