-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSwimmable.java
More file actions
88 lines (75 loc) · 2.59 KB
/
Swimmable.java
File metadata and controls
88 lines (75 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package q3;
//ofri rom:208891804
//avigail shekasta:209104314
import java.awt.*;
import java.util.Vector;
import java.util.concurrent.CyclicBarrier;
public abstract class Swimmable extends Thread implements SeaCreature,Cloneable, MarineAnimal {
protected int horSpeed;
protected int verSpeed;
protected int f;
private Vector<Listener>list=new Vector<Listener>();
Listener aqua_panel;
public Swimmable( ){
/**
* constructor
*/
aqua_panel=AquaFrame.Panel;
horSpeed=0;
verSpeed=0;
}
public Swimmable(int horSpeed, int verSpeed,int f){
/**
* constructor with parameters
*/
this.horSpeed=horSpeed;
this.verSpeed=verSpeed;
this.f=f;
}
public void registerObserver(Listener i){list.add(i);}
public synchronized void unregisterObserver(Listener i){
list.remove(i);
}
void notifyObserver(String msg){
for (Listener i:list)
i.update(msg);
}
// declaration of abstract method
public int getHorSpeed(){return horSpeed;}
public int getVerSpeed(){return verSpeed;}
public int getf(){return f;}
public abstract int get_x_front();
public abstract int get_y_front();
public abstract Color get_Color();
public abstract Color gettColor();
public void setHorSpeed(int horSpeed) {
this.horSpeed = horSpeed;
}
public void setVerSpeed(int verSpeed) {
this.verSpeed = verSpeed;
}
public abstract void setColor(Color color) ;
public abstract String getAnimalName();
public abstract int getEatCount();
public abstract int getSize();
public abstract int getx_dir();
public abstract String getColor();
public abstract int getColorInt();
public abstract void eatInc();
public abstract void run();
public abstract String to_string();
public abstract void set_x_dir(int x);
public abstract void swim();
public abstract void swim_after_worm();
public abstract void setx_front(int x_front);
public abstract void sety_front(int y_front);
public abstract void drawAnimal(Graphics g);
public abstract void setSuspend();
public abstract void setColo(Color col);
public abstract void setResume();
public abstract memento saveStateToMemento();
public abstract void getStateFromMemento(memento m);
public abstract void set_obj(int size,int DISTANCE_EAT,int horSpeed,int verSpeed,int col,int f);
@Override
public abstract Swimmable clone() ;
}