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. class Missile : GameObject
  56. {
  57. public int power; ///ミサイルの攻撃力。
  58. public int speed; ///ミサイルの推進力。
  59.  
  60. public override void timeForward()
  61. {
  62. //前に推進する処理とか。
  63. }
  64.  
  65. public override void collideReaction(GameObject go)
  66. {
  67. //爆発処理とか。
  68. }
  69.  
  70. public override Vector blownReaction(Vector v)
  71. {
  72. //ミサイル固有の吹っ飛びの処理(ってなんだろう?w)。
  73. }
  74. }
  75.  
  76. class HomingMissile : Missile
  77. {
  78. public int lead; ///誘導性能。
  79.  
  80. public override void timeForward()
  81. {
  82. //追加で誘導処理でも。
  83. }
  84.  
  85. //衝突処理には変更無し。
  86. }
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty