diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..25d478b9044ac112e7d312d677aec8d9f4f325be Binary files /dev/null and b/.DS_Store differ diff --git a/Platform.java b/Platform.java index 4e58a075c14fcb002042b2aa5eb93d628752a139..9d50818aa7e88d37c1053a32e1f308896c636e3c 100644 --- a/Platform.java +++ b/Platform.java @@ -1,5 +1,5 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) - +import java.util.List; /** * Write a description of class Platform here. * @@ -15,6 +15,39 @@ public class Platform extends Interactables public void act() { disappear(); - } + spawnFaceMask(); + } + + + public void spawnFaceMask(){ + if(Greenfoot.getRandomNumber(100) < 5){ + spawnItem(new DispoMask()); + } + else if(Greenfoot.getRandomNumber(100) < 2){ + spawnItem(new DispoMask()); + } + } + + + public void spawnSanitizer(){} + + + public void spawnToiletPaper(){} + + + public boolean hasNoItem(){ + List<Item> items = getObjectsAtOffset(50, 50, Item.class); + return items.isEmpty(); + } + + + + public void spawnItem(Item item){ + if(hasNoItem()){ + int x = getX(); + int y = getY(); + getWorld().addObject(item, x, y + 10); + } + } } diff --git a/Welt.java b/Welt.java index 1c4dada7ddfbb684edda2c7b10449b1fb50720c1..5ce04bce51556a6de1f7c027e00d188ecb7477f9 100644 --- a/Welt.java +++ b/Welt.java @@ -27,7 +27,17 @@ public class Welt extends World public void act() { scroll(); - spawnCoronaVirus(); + spawnPlatform(); + } + + + public void spawnPlatform(){ + List<Platform> platforms = getObjects(Platform.class); + if(platforms.isEmpty()){ + int width = WIDTH-10; + int height = Greenfoot.getRandomNumber(HEIGHT-10); + this.addObject(new Platform(),width, height); + } } public void spawnCoronaVirus(){ diff --git a/project.greenfoot b/project.greenfoot index c55e3eeaf7016287dbc2fff2357fb1c3520b6990..32639c38588d3da132196dd400bf3978d0f7a004 100644 --- a/project.greenfoot +++ b/project.greenfoot @@ -4,6 +4,7 @@ class.Crowd.image=Menschenmenge.png class.DispoMask.image=Maske.png class.FaceMask.image=Maske.png class.GasMask.image=gasmaske.png +class.Platform.image=Unbenannt-2.png class.Player.image=Player1.png class.Sanitizer.image=sanitizer.png class.Spit.image=SpitterSpit.png @@ -19,12 +20,18 @@ dependency2.type=UsesDependency dependency3.from=Welt dependency3.to=Player dependency3.type=UsesDependency -editor.fx.0.height=0 -editor.fx.0.width=0 -editor.fx.0.x=0 -editor.fx.0.y=0 -height=741 -package.numDependencies=3 +dependency4.from=Platform +dependency4.to=DispoMask +dependency4.type=UsesDependency +dependency5.from=Platform +dependency5.to=Item +dependency5.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=407 +editor.fx.0.y=25 +height=817 +package.numDependencies=5 package.numTargets=19 project.charset=UTF-8 publish.hasSource=false @@ -69,17 +76,17 @@ target12.width=80 target12.x=0 target12.y=0 target13.height=50 -target13.name=Spitter +target13.name=Scroller target13.showInterface=false target13.type=ClassTarget target13.width=80 target13.x=0 target13.y=0 target14.height=50 -target14.name=Interactables +target14.name=Spitter target14.showInterface=false target14.type=ClassTarget -target14.width=120 +target14.width=80 target14.x=0 target14.y=0 target15.height=50 @@ -90,10 +97,10 @@ target15.width=80 target15.x=0 target15.y=0 target16.height=50 -target16.name=Scroller +target16.name=Interactables target16.showInterface=false target16.type=ClassTarget -target16.width=80 +target16.width=120 target16.x=0 target16.y=0 target17.height=50 @@ -174,7 +181,7 @@ target9.width=80 target9.x=0 target9.y=0 version=3.0.0 -width=1366 +width=1440 world.lastInstantiated=Welt xPosition=0 -yPosition=27 +yPosition=25