diff --git a/SMIMS-Game/HealthItem.class b/SMIMS-Game/HealthItem.class index 417a134..d0605f3 100644 Binary files a/SMIMS-Game/HealthItem.class and b/SMIMS-Game/HealthItem.class differ diff --git a/SMIMS-Game/HealthItem.java b/SMIMS-Game/HealthItem.java index 315b0dc..71e633c 100644 --- a/SMIMS-Game/HealthItem.java +++ b/SMIMS-Game/HealthItem.java @@ -8,7 +8,6 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) */ public class HealthItem extends PowerUps { - int duration = 60*60; public void act() { moveDown(); diff --git a/SMIMS-Game/JumpBoostItem.class b/SMIMS-Game/JumpBoostItem.class index a241d39..4d1bee8 100644 Binary files a/SMIMS-Game/JumpBoostItem.class and b/SMIMS-Game/JumpBoostItem.class differ diff --git a/SMIMS-Game/JumpBoostItem.java b/SMIMS-Game/JumpBoostItem.java index 5188430..b0f9bfc 100644 --- a/SMIMS-Game/JumpBoostItem.java +++ b/SMIMS-Game/JumpBoostItem.java @@ -8,7 +8,7 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) */ public class JumpBoostItem extends PowerUps { - int duration = 60*60; + int duration = 60*5; public void act() { moveDown(); diff --git a/SMIMS-Game/MyWorld.class b/SMIMS-Game/MyWorld.class index a4bd822..5119473 100644 Binary files a/SMIMS-Game/MyWorld.class and b/SMIMS-Game/MyWorld.class differ diff --git a/SMIMS-Game/MyWorld.ctxt b/SMIMS-Game/MyWorld.ctxt index fe75749..9414d75 100644 --- a/SMIMS-Game/MyWorld.ctxt +++ b/SMIMS-Game/MyWorld.ctxt @@ -10,11 +10,13 @@ comment2.text=\r\n\ Prepare\ the\ world\ for\ the\ start\ of\ the\ program.\r\n\ comment3.params= comment3.target=void\ act() comment4.params= -comment4.target=void\ spawnEnemies() +comment4.target=void\ spawnItems() comment5.params= -comment5.target=void\ projectile() +comment5.target=void\ spawnEnemies() comment6.params= -comment6.target=void\ targetingProjectile() +comment6.target=void\ projectile() comment7.params= -comment7.target=void\ showScore() -numComments=8 +comment7.target=void\ targetingProjectile() +comment8.params= +comment8.target=void\ showScore() +numComments=9 diff --git a/SMIMS-Game/MyWorld.java b/SMIMS-Game/MyWorld.java index 9719a00..f40c30f 100644 --- a/SMIMS-Game/MyWorld.java +++ b/SMIMS-Game/MyWorld.java @@ -14,6 +14,7 @@ public class MyWorld extends World int targetTimer = 1000; int time = 0; int enemyTimer; + int itemTimer; int score = 0; /** * Constructor for objects of class MyWorld. @@ -82,6 +83,7 @@ public class MyWorld extends World projectile(); spawnEnemies(); targetingProjectile(); + spawnItems(); if(PlattformCountdown==0) //Damit in regelmäßigen Abständen auf jeden Fall eine Plattform auftaucht { addObject(new Plattform(), Greenfoot.getRandomNumber(400), 5); @@ -108,19 +110,34 @@ public class MyWorld extends World { addObject(new SpikedPlattform(100), Greenfoot.getRandomNumber(400), 6); //Nach Links bewegende Plattform } - - if(Greenfoot.getRandomNumber(100000)>=99750) - { - addObject(new Groundflower(), Greenfoot.getRandomNumber(400), 6); //Nach Links bewegende Plattform + } + + public void spawnItems(){ + itemTimer++; + if (itemTimer >= 575){ + itemTimer = 0; + switch (Greenfoot.getRandomNumber(3)){ + case 0: + Groundflower groundF = new Groundflower(); + addObject(groundF, Greenfoot.getRandomNumber(getWidth()-100)+50,0); + break; + case 1: + HealthItem healthItem = new HealthItem(); + addObject(healthItem, Greenfoot.getRandomNumber(getWidth()-100)+50,0); + break; + case 2: + JumpBoostItem jumpBoostItem = new JumpBoostItem(); + addObject(jumpBoostItem, Greenfoot.getRandomNumber(getWidth()-100)+50,0); + break; + } } } - public void spawnEnemies(){ enemyTimer++; - if (enemyTimer == 420){ - Enemy enemy = new Enemy(Greenfoot.getRandomNumber(getWidth()), Greenfoot.getRandomNumber(getHeight()/2)); - addObject(enemy, Greenfoot.getRandomNumber(300)+50,0); + if (enemyTimer >= 420){ + Enemy enemy = new Enemy(Greenfoot.getRandomNumber(getWidth() - 50) + 25, Greenfoot.getRandomNumber(getHeight()/2) + 15); + addObject(enemy, Greenfoot.getRandomNumber(getWidth()-100)+50,0); enemyTimer = 0; } diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class index 6ff9dce..db09b80 100644 Binary files a/SMIMS-Game/Player.class and b/SMIMS-Game/Player.class differ diff --git a/SMIMS-Game/Player.java b/SMIMS-Game/Player.java index bebf048..c448f98 100644 --- a/SMIMS-Game/Player.java +++ b/SMIMS-Game/Player.java @@ -81,7 +81,7 @@ public class Player extends Actor java.util.List platforms = getIntersectingObjects(Plattform.class); boolean landed = false; for (Plattform platform : platforms) { - int groundTop = platform.getY()+5 - platform.getImage().getHeight() / 2; + int groundTop = platform.getY() - platform.getImage().getHeight() / 2; int characterBottom = getY() + getImage().getHeight() / 2; int oldCharacterBottom = oldY + getImage().getHeight() / 2; // Prüfen, ob der Spieler von oben auf diese Plattform fällt diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index 36cf69e..bf5a778 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -3,6 +3,8 @@ class.BreakingPlattform.image=Breaking1.png class.Button.image=button-red.png class.Enemy.image=Enemy.png class.EnemyProjectile.image=EnemyProjectile.png +class.Enemy.image=bee.png +class.EnemyProjectile.image=yellow-draught.png class.GameOverWorld.image=GameOverBackground.png class.Ground.image=weave.jpg class.Groundflower.image=flower2.png @@ -21,6 +23,9 @@ class.StartWorld.image=StartBackground.png class.TargetingProjectile.image=TargetProjectile.png class.TemporaryGround.image=Ground.png class.UnactiveSpike.image=Spike_Copy.png +class.TargetingProjectile.image=blue-draught.png +class.TemporaryGround.image=TemporaryGround.png +class.UnactiveSpike.image=inactiveSpike.png dependency1.from=PlayerTestWorld dependency1.to=Ground dependency1.type=UsesDependency @@ -34,23 +39,27 @@ dependency12.from=MyWorld dependency12.to=Groundflower dependency12.type=UsesDependency dependency13.from=MyWorld -dependency13.to=Enemy +dependency13.to=HealthItem dependency13.type=UsesDependency dependency14.from=MyWorld -dependency14.to=Projectile +dependency14.to=JumpBoostItem dependency14.type=UsesDependency dependency15.from=MyWorld -dependency15.to=TargetingProjectile +dependency15.to=Enemy dependency15.type=UsesDependency -dependency16.from=GameOverWorld -dependency16.to=Button +dependency16.from=MyWorld +dependency16.to=Projectile dependency16.type=UsesDependency -dependency17.from=StartWorld -dependency17.to=Button +dependency17.from=MyWorld +dependency17.to=TargetingProjectile dependency17.type=UsesDependency +dependency18.from=GameOverWorld +dependency18.to=Button dependency18.from=StartWorld dependency18.to=Button dependency18.type=UsesDependency +dependency19.from=StartWorld +dependency19.to=Button dependency19.from=UnactiveSpike dependency19.to=SpikedPlattform dependency19.type=UsesDependency @@ -58,65 +67,95 @@ dependency2.from=PlayerTestWorld dependency2.to=Player dependency2.type=UsesDependency dependency20.from=UnactiveSpike +dependency20.to=SpikedPlattform dependency20.to=MyWorld dependency20.type=UsesDependency dependency21.from=UnactiveSpike +dependency21.to=MyWorld +dependency21.from=UnactiveSpike dependency21.to=Spike dependency21.type=UsesDependency +dependency22.from=UnactiveSpike +dependency22.to=Spike dependency22.from=Button dependency22.to=MyWorld dependency22.type=UsesDependency +dependency23.from=Button +dependency23.to=MyWorld dependency23.from=PowerUps dependency23.to=Player dependency23.type=UsesDependency +dependency24.from=PowerUps dependency24.from=HealthItem dependency24.to=Player dependency24.type=UsesDependency +dependency25.from=HealthItem dependency25.from=JumpBoostItem dependency25.to=Player dependency25.type=UsesDependency +dependency26.from=JumpBoostItem dependency26.from=Groundflower dependency26.to=Player dependency26.type=UsesDependency +dependency27.from=Groundflower +dependency27.to=Player dependency27.from=Enemy dependency27.to=Player dependency27.type=UsesDependency dependency28.from=Enemy +dependency28.to=Player +dependency28.from=Enemy dependency28.to=EnemyProjectile dependency28.type=UsesDependency +dependency29.from=Enemy +dependency29.to=EnemyProjectile dependency29.from=Spike dependency29.to=MyWorld dependency29.type=UsesDependency dependency3.from=PlayerTestWorld dependency3.to=JumpBoostItem dependency3.type=UsesDependency +dependency30.from=Spike +dependency30.to=MyWorld dependency30.from=Player dependency30.to=GameOverWorld dependency30.type=UsesDependency dependency31.from=Player +dependency31.to=GameOverWorld dependency31.to=Plattform dependency31.type=UsesDependency dependency32.from=Player +dependency32.to=Plattform dependency32.to=PlayerProjectile dependency32.type=UsesDependency dependency33.from=Player +dependency33.to=PlayerProjectile dependency33.to=TemporaryGround dependency33.type=UsesDependency dependency34.from=Player +dependency34.to=TemporaryGround dependency34.to=Projectile dependency34.type=UsesDependency dependency35.from=Player +dependency35.to=Projectile dependency35.to=Enemy dependency35.type=UsesDependency dependency36.from=Player +dependency36.to=Enemy dependency36.to=Spike dependency36.type=UsesDependency dependency37.from=Player +dependency37.to=Spike +dependency37.from=Player dependency37.to=Heart dependency37.type=UsesDependency +dependency38.from=Player +dependency38.to=Heart dependency38.from=Healthbar dependency38.to=Player dependency38.type=UsesDependency +dependency39.from=Healthbar +dependency39.to=Player dependency39.from=Plattform dependency39.to=MyWorld dependency39.type=UsesDependency @@ -124,38 +163,60 @@ dependency4.from=MyWorld dependency4.to=Player dependency4.type=UsesDependency dependency40.from=Plattform +dependency40.to=MyWorld +dependency40.from=Plattform dependency40.to=Player dependency40.type=UsesDependency +dependency41.from=Plattform +dependency41.to=Player dependency41.from=MovingPlattform dependency41.to=MyWorld dependency41.type=UsesDependency dependency42.from=MovingPlattform +dependency42.to=MyWorld +dependency42.from=MovingPlattform dependency42.to=Player dependency42.type=UsesDependency +dependency43.from=MovingPlattform +dependency43.to=Player dependency43.from=TemporaryGround dependency43.to=Player dependency43.type=UsesDependency +dependency44.from=TemporaryGround +dependency44.to=Player dependency44.from=SpikedPlattform dependency44.to=Spike dependency44.type=UsesDependency dependency45.from=SpikedPlattform +dependency45.to=Spike dependency45.to=GameOverWorld dependency45.type=UsesDependency dependency46.from=SpikedPlattform +dependency46.to=GameOverWorld dependency46.to=MyWorld dependency46.type=UsesDependency dependency47.from=SpikedPlattform +dependency47.to=MyWorld +dependency47.from=SpikedPlattform dependency47.to=UnactiveSpike dependency47.type=UsesDependency +dependency48.from=SpikedPlattform +dependency48.to=UnactiveSpike dependency48.from=TargetingProjectile dependency48.to=Player dependency48.type=UsesDependency +dependency49.from=TargetingProjectile +dependency49.to=Player +dependency49.type=UsesDependency dependency49.from=PlayerProjectile dependency49.to=Enemy dependency49.type=UsesDependency dependency5.from=MyWorld dependency5.to=Score dependency5.type=UsesDependency +dependency50.from=PlayerProjectile +dependency50.to=Enemy +dependency50.type=UsesDependency dependency6.from=MyWorld dependency6.to=Plattform dependency6.type=UsesDependency @@ -170,9 +231,12 @@ dependency9.to=TemporaryGround dependency9.type=UsesDependency editor.fx.0.height=737 editor.fx.0.width=814 +editor.fx.0.x=668 +editor.fx.0.y=120 editor.fx.0.x=444 editor.fx.0.y=78 height=830 +package.numDependencies=50 package.numDependencies=49 package.numTargets=26 project.charset=UTF-8