diff --git a/micro/creature_creature_behavior/Creature.pde b/micro/creature_creature_behavior/Creature.pde new file mode 100644 index 0000000..65f8302 --- /dev/null +++ b/micro/creature_creature_behavior/Creature.pde @@ -0,0 +1,36 @@ +import teilchen.BehaviorParticle; +import mathematik.Vector3f; + +class Creature extends BehaviorParticle { + + float _scale; + + public Creature(int x, int y, int r) { + super(); + position().set(x, y); + maximumInnerForce(100); + radius(r); + _scale = 1.0; + } + + public void display() { + pushMatrix(); + translate(position().x, position().y); + rotate(getRotation()); + scale(_scale); + draw_shape(); + popMatrix(); + } + + private float getRotation() { + if(velocity().isNaN() || velocity().magnitude() == 0) return 0; + Vector3f v = new Vector3f(-1, 0, 0); + return velocity().angle(v); + } + + public void draw_shape() {} + + public boolean inside(int mx, int my){return false;} + +}; + diff --git a/micro/creature_creature_behavior/CreatureBehavior.pde b/micro/creature_creature_behavior/CreatureBehavior.pde new file mode 100644 index 0000000..5340a7f --- /dev/null +++ b/micro/creature_creature_behavior/CreatureBehavior.pde @@ -0,0 +1,11 @@ +interface CreatureBehavior { + + public void event(int x, int y); + + public void event(int c); + + public void update(float dt); + + public void add(Creature c); + +} diff --git a/micro/creature_creature_behavior/creature_creature_behavior.pde b/micro/creature_creature_behavior/creature_creature_behavior.pde new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/micro/creature_creature_behavior/creature_creature_behavior.pde @@ -0,0 +1 @@ + diff --git a/micro/creature_creature_behavior/sketch.properties b/micro/creature_creature_behavior/sketch.properties new file mode 100644 index 0000000..8630fa2 --- /dev/null +++ b/micro/creature_creature_behavior/sketch.properties @@ -0,0 +1,2 @@ +mode.id=processing.mode.java.JavaMode +mode=Java