Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GraphicObject
- {
- private Circle head;
- private Rectangle body;
- private Rectangle neck;
- private Line rightArm;
- private Line leftArm;
- private Line rightLeg;
- private Line leftLeg;
- private String Color;
- private int α=0, dx=0,dy=0;
- public GraphicObject(int X,int Y,String Color)
- {
- this.Color=Color;
- head=new Circle(-13,-60,20,"white");
- neck=new Rectangle(-20,-61,14,20,"white");
- body=new Rectangle(-43,-41,60,100,"white");
- rightArm=new Line(2,-41,37,29,"white");
- leftArm=new Line(-38,-41,-63,29,"white");
- rightLeg=new Line(-23,59,-23,129,"white");
- leftLeg=new Line(-3,59,-3,129,"white");
- move(X,Y);
- changeColor(Color);
- }
- public void setAngle(int ß)
- {
- int dx2=dx, dy2=dy;
- dx=0;dy=0;
- α=ß%360;
- head.erase();
- neck.erase();
- body.erase();
- rightArm.erase();
- leftArm.erase();
- rightLeg.erase();
- leftLeg.erase();
- if(α==0)
- {
- head=new Circle(-13,-60,20,"white");
- neck=new Rectangle(-20,-61,14,20,"white");
- body=new Rectangle(-43,-41,60,100,"white");
- rightArm=new Line(2,-41,37,29,"white");
- leftArm=new Line(-38,-41,-63,29,"white");
- rightLeg=new Line(-23,59,-23,129,"white");
- leftLeg=new Line(-3,59,-3,129,"white");
- }
- else if(α==270)
- {
- //מזיז ל0,0 ומסובב
- head=new Circle(-60,-13,20,"white");
- neck=new Rectangle(-61,-20,20,14,"white");
- body=new Rectangle(-41,-43,100,60,"white");
- rightArm=new Line(-41,2,29,37,"white");
- leftArm=new Line(-41,-38,29,-63,"white");
- rightLeg=new Line(59,-23,129,-23,"white");
- leftLeg=new Line(59,-3,129,-3,"white");
- }
- else if(α==180)
- {
- //מזיז ל0,0 ומסובב
- head=new Circle(-13,109,20,"white");
- neck=new Rectangle(-20,85,14,20,"white");
- body=new Rectangle(-43,-11,60,100,"white");
- rightArm=new Line(2,59,37,-11,"white");
- leftArm=new Line(-38,59,-63,-11,"white");
- rightLeg=new Line(-23,-11,-23,-81,"white");
- leftLeg=new Line(-3,-11,-3,-81,"white");
- }
- else if(α==90)
- {
- //מזיז ל0,0 ומסובב
- head=new Circle(109,-13,20,"white");
- neck=new Rectangle(79,-20,20,14,"white");
- body=new Rectangle(-11,-43,100,60,"white");
- rightArm=new Line(74,2,4,37,"white");
- leftArm=new Line(74,-38,4,-63,"white");
- rightLeg=new Line(9,-23,-80,-23,"white");
- leftLeg=new Line(29,-3,-80,-3,"white");
- }
- else
- System.out.println("α=90k|k∈ℕ");
- move(dx2, dy2);
- changeColor(Color);
- }
- public void Rotate(int dα)
- {
- setAngle(dα+α);
- }
- public int getAngle()
- {
- return α;
- }
- public int getX()
- {
- return dx;
- }
- public int getY()
- {
- return dy;
- }
- public static boolean isEqualTo(GraphicObject o1,GraphicObject o2)
- {
- return(o1.getAngle()==o2.getAngle()&&o1.getX()==o2.getX()&&o1.getY()==o2.getY());
- }
- public void move(int dx,int dy)
- {
- this.dx+=dx; this.dy+=dy;
- head.move(dx, dy);
- neck.move(dx, dy);
- body.move(dx, dy);
- rightArm.move(dx, dy);
- leftArm.move(dx, dy);
- rightLeg.move(dx, dy);
- leftLeg.move(dx, dy);
- }
- public void changeColor(String newColor)
- {
- head.changeColor(newColor);
- neck.changeColor(newColor);
- body.changeColor(newColor);
- rightArm.changeColor(newColor);
- leftArm.changeColor(newColor);
- rightLeg.changeColor(newColor);
- leftLeg.changeColor(newColor);
- }
- public GraphicObject copyTo(int newX,int newY)
- {
- GraphicObject a=new GraphicObject(newX,newY,Color);
- return(a);
- }
- public void moveTo(int newX,int newY)
- {
- move(-dx,-dy);
- move(newX,newY);
- }
- public void wait(int miliseconds)
- {
- Canvas canvas=Canvas.getCanvas();
- canvas.wait(miliseconds);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement