fork download
  1. class Field
  2. {
  3. GameObject[] go; ///このフィールドにあるオブジェクト。
  4.  
  5. public void timeForward()
  6. {
  7. //ゲーム時間が経過した時の、フィールド内の処理(オブジェクトの衝突検知とか)を書く。
  8. }
  9. }
  10.  
  11. class abstract GameObject
  12. {
  13. public float x; ///このオブジェクトのx座標。
  14. public float y; ///このオブジェクトのy座標。
  15.  
  16. /**
  17. ゲーム時間が経過した時の、このオブジェクトの挙動を書く。 
  18. FieldのtimeForward()から呼び出される。
  19. */
  20. public void timeForward();
  21.  
  22. /**
  23. このオブジェクトが他のオブジェクトと衝突した時の挙動を書く。
  24. FieldのtimeForward()から呼び出される。
  25. Params:
  26. go = このオブジェクトと衝突したオブジェクトが渡される。
  27. */
  28. public void collideReaction(GameObject go);
  29.  
  30. /**
  31. ダメージに対するリアクションの処理
  32. Params:
  33. power = 与えられた攻撃力。
  34. Returns:
  35. 実際に与えたダメージ。
  36. */
  37. public int damegeReaction(int power)
  38. {
  39. //基本的なリアクション。
  40. }
  41.  
  42. /**
  43. ふっ飛ばしに対するリアクション。
  44. Params:
  45. v = 吹っ飛ばす力。
  46. Returns:
  47. 実際に吹っ飛んだ速度。
  48. */
  49. public Vector blownReaction(Vector v)
  50. {
  51. //基本的な(ry
  52. }
  53.  
  54. /**
  55. このオブジェクトは破壊されたかどうか。
  56. Rerurns:
  57. 破壊されていればtrue。
  58. */
  59. public bool isDestroy()
  60. {
  61. }
  62. }
  63.  
  64. class Missile : GameObject
  65. {
  66. private GameObject parentObject; //←このオブジェクトが破壊されたら、このミサイルも破壊される。
  67. public int power; ///ミサイルの攻撃力。
  68. public int speed; ///ミサイルの推進力。
  69.  
  70. public override void timeForward()
  71. {
  72. //前に推進する処理とか。
  73. }
  74.  
  75. public override void collideReaction(GameObject go)
  76. {
  77. //爆発処理とか。
  78. }
  79.  
  80. public override Vector blownReaction(Vector v)
  81. {
  82. //ミサイル固有の吹っ飛びの処理(ってなんだろう?w)。
  83. }
  84. }
  85.  
  86. class HomingMissile : Missile
  87. {
  88. public int lead; ///誘導性能。
  89.  
  90. public override void timeForward()
  91. {
  92. //追加で誘導処理でも。
  93. }
  94.  
  95. //衝突処理には変更無し。
  96. }
  97.  
  98. class Effect : GameObject
  99. {
  100. private int _restTime;
  101.  
  102. this(int restTime)
  103. {
  104. _restTime = restTime;
  105. }
  106.  
  107. public override void timeForward()
  108. {
  109. restTime--;
  110. }
  111.  
  112. public override bool isDestroy()
  113. {
  114. return _restTime <= 0 ? true : false;
  115. }
  116. }
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty