From 9aaa5c70846ed01c924f0326be04fb6b13f7a4ed Mon Sep 17 00:00:00 2001 From: Sarah Haunhorst <sarah.haunhorst@stud.hs-hannover.de> Date: Wed, 11 Nov 2020 08:45:27 +0100 Subject: [PATCH] Funktion des Spitters und Erzeugen von Spit-Objekten --- Interactables.java | 19 +++++++++++++++++-- Spit.java | 11 +++++++++-- Spitter.java | 11 +++++++++-- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/Interactables.java b/Interactables.java index fb81fb3..e880fcb 100644 --- a/Interactables.java +++ b/Interactables.java @@ -1,7 +1,8 @@ import greenfoot.*; public class Interactables extends Actor { - public void disappear() { + public void disappear() + { if (isAtEdge()) { getWorld().removeObject(this); } @@ -11,4 +12,18 @@ public class Interactables extends Actor Actor actor = getOneObjectAtOffset(0, 0, clss); return actor != null; } -} + public void moveRight() { + setLocation(getX() + 3, getY()); + } + public void moveLeft() { + setLocation(getX() - 3, getY()); + } + public void move(int speed) + { + double angle = Math.toRadians( getRotation()-90 ); + int x = (int) Math.round(getX() + Math.cos(angle) * speed); + int y = (int) Math.round(getY() + Math.sin(angle) * speed); + + setLocation(x, y); + } +} \ No newline at end of file diff --git a/Spit.java b/Spit.java index 3760016..615aa13 100644 --- a/Spit.java +++ b/Spit.java @@ -12,9 +12,16 @@ public class Spit extends Spitter * Act - do whatever the Spit wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ + public Spit() + { + //turn(90); + turn(Greenfoot.getRandomNumber(180-20)+20); + } public void act() { + //moveLeft(); + //turn(Greenfoot.getRandomNumber(180)); + move(-5); disappear(); } - -} +} \ No newline at end of file diff --git a/Spitter.java b/Spitter.java index d719494..985c953 100644 --- a/Spitter.java +++ b/Spitter.java @@ -15,6 +15,13 @@ public class Spitter extends Enemy public void act() { disappear(); - } - + cough(); + } + private void cough() + { + if(Greenfoot.getRandomNumber(100)<5) + { + getWorld().addObject(new Spit(),(getX()-10),(getY()-40)); + } + } } -- GitLab