長方形二つを定義して、それらが接触してるか判定するソース
Rectangle.java
class Rectangle{ double x; double y; double w; double h; public Rectangle(double m_x, double m_y, double m_w, double m_h ){ x = m_x; y = m_y; w = m_w; h = m_h; } public double calcArea(){ return w * h; } }
Check.java
class Check{ byte hit; public Check(double a1, double b1,double a2, double b2){ if(a1 <= a2){ if(a2 <= a1 + b1){ hit = 1; } } else{ if(a1 <= a2 + b2){ hit = 1; } } } }
Test.java
import java.io.*; class Test{ public static void main(String[] args){ Rectangle my_rec = new Rectangle(30,20,40,10); Rectangle my_rec2 = new Rectangle(30,40,30,30); System.out.println("物体A"); System.out.println("x: " + my_rec.x + " y: " + my_rec.y); System.out.println("底辺: " + my_rec.w + " 高さ: " + my_rec.h + " 面積: " + my_rec.calcArea()); System.out.println(""); System.out.println("物体B"); System.out.println("x: " + my_rec2.x + " y: " + my_rec2.y); System.out.println("底辺: " + my_rec2.w + " 高さ: " + my_rec2.h + " 面積: " + my_rec2.calcArea()); System.out.println(""); Check hit_x = new Check(my_rec.x, my_rec.w, my_rec2.x, my_rec2.w); Check hit_y = new Check(my_rec.y, my_rec.h, my_rec2.y, my_rec2.h); if(hit_x.hit + hit_y.hit == 2){ System.out.println("物体A・Bは接触しています。"); } else{ System.out.println("物体A・Bは離れています。"); } }
クラスとかメソッドとかがまだ身についてなくて苦労した…
" hit_x.hit "使う所を" hit_x "だけでやろうとしてコンパイル失敗しまくりor2