Compare commits

..

2 Commits

Author SHA1 Message Date
Marlie f8c53b518d Merge remote-tracking branch 'origin/main'
# Conflicts:
#	SMIMS-Game/MyWorld.class
2026-09-16 16:22:34 +02:00
Marlie b095aeb05f Score und neue Platforms sowie Player Figur 2026-09-16 16:22:07 +02:00
15 changed files with 189 additions and 36 deletions
+3 -1
View File
@@ -13,4 +13,6 @@ comment4.params=
comment4.target=void\ projectile() comment4.target=void\ projectile()
comment5.params= comment5.params=
comment5.target=void\ targetingProjectile() comment5.target=void\ targetingProjectile()
numComments=6 comment6.params=
comment6.target=void\ showScore()
numComments=7
+24 -5
View File
@@ -9,9 +9,11 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
public class MyWorld extends World public class MyWorld extends World
{ {
int PlattformCountdown; int PlattformCountdown;
int timer = 200; //Zeit, bevor das erste Projektil auftaucht int timer = 300; //Zeit, bevor das erste Projektil auftaucht
//kann später noch beliebig angepasst werden //kann später noch beliebig angepasst werden
int targetTimer = 100; int targetTimer = 1000;
int time = 0;
int score = 0;
/** /**
* Constructor for objects of class MyWorld. * Constructor for objects of class MyWorld.
* *
@@ -32,7 +34,11 @@ public class MyWorld extends World
Player player = new Player(); Player player = new Player();
addObject(player,302,320); addObject(player,302,320);
Score score = new Score(); Score score = new Score();
addObject(score, 200, 50); addObject(score, 200, 30);
score.setImage("Score1.png");
Score score1 = new Score();
addObject(score1, 200, 60);
score1.setImage("Score2.png");
Plattform plattform = new Plattform(); Plattform plattform = new Plattform();
addObject(plattform,285,577); addObject(plattform,285,577);
plattform.setLocation(286,492); plattform.setLocation(286,492);
@@ -56,6 +62,13 @@ public class MyWorld extends World
public void act() public void act()
{ {
Score score = new Score();
addObject(score, 200, 30);
score.setImage("Score1.png");
Score score1 = new Score();
addObject(score1, 200, 60);
score1.setImage("Score2.png");
showScore();
projectile(); projectile();
targetingProjectile(); targetingProjectile();
if(PlattformCountdown==0) //Damit in regelmäßigen Abständen auf jeden Fall eine Plattform auftaucht if(PlattformCountdown==0) //Damit in regelmäßigen Abständen auf jeden Fall eine Plattform auftaucht
@@ -91,7 +104,7 @@ public class MyWorld extends World
if(timer == 0){ if(timer == 0){
Projectile projectile = new Projectile(); Projectile projectile = new Projectile();
addObject(projectile,Greenfoot.getRandomNumber(300)+50,0); addObject(projectile,Greenfoot.getRandomNumber(300)+50,0);
timer = 200; //zeitlicher Abstand timer = 300; //zeitlicher Abstand
} }
else{ else{
timer = timer - 1; timer = timer - 1;
@@ -102,10 +115,16 @@ public class MyWorld extends World
if(targetTimer == 0){ if(targetTimer == 0){
TargetingProjectile targetingProjectile = new TargetingProjectile(); TargetingProjectile targetingProjectile = new TargetingProjectile();
addObject(targetingProjectile, Greenfoot.getRandomNumber(300)+50,0); addObject(targetingProjectile, Greenfoot.getRandomNumber(300)+50,0);
targetTimer = 100; targetTimer = 1000;
} }
else{ else{
targetTimer = targetTimer - 1; targetTimer = targetTimer - 1;
} }
} }
public void showScore(){
time++;
score = time/60;
showText("" + score, 200, 60);
}
} }
Binary file not shown.
+1 -5
View File
@@ -4,8 +4,4 @@ comment0.text=\r\n\ Write\ a\ description\ of\ class\ UI\ here.\r\n\ \r\n\ @auth
comment1.params= comment1.params=
comment1.target=void\ act() comment1.target=void\ act()
comment1.text=\r\n\ Act\ -\ do\ whatever\ the\ UI\ wants\ to\ do.\ This\ method\ is\ called\ whenever\r\n\ the\ 'Act'\ or\ 'Run'\ button\ gets\ pressed\ in\ the\ environment.\r\n comment1.text=\r\n\ Act\ -\ do\ whatever\ the\ UI\ wants\ to\ do.\ This\ method\ is\ called\ whenever\r\n\ the\ 'Act'\ or\ 'Run'\ button\ gets\ pressed\ in\ the\ environment.\r\n
comment2.params= numComments=2
comment2.target=void\ draw_score()
comment3.params=
comment3.target=int\ calculate_score()
numComments=4
+1 -10
View File
@@ -8,22 +8,13 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
*/ */
public class Score extends Actor public class Score extends Actor
{ {
int timer;
/** /**
* Act - do whatever the UI wants to do. This method is called whenever * Act - do whatever the UI wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment. * the 'Act' or 'Run' button gets pressed in the environment.
*/ */
public void act() public void act()
{ {
timer++;
draw_score();
} }
public void draw_score(){
setImage(new GreenfootImage("Score:" + calculate_score(), 24, Color.WHITE, Color.BLACK));
}
public int calculate_score(){
return timer/60;
}
} }
+148
View File
@@ -0,0 +1,148 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (21) on Wed Sep 16 11:08:05 CEST 2026 -->
<title>Score</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2026-09-16">
<meta name="description" content="declaration: class: Score">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript"></script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</div>
</noscript>
<div class="flex-box">
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<h1 title="Klasse Score" class="title">Klasse Score</h1>
</div>
<div class="inheritance" title="Vererbungsbaum"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">greenfoot.Actor
<div class="inheritance">Score</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Score</span>
<span class="extends-implements">extends greenfoot.Actor</span></div>
<div class="block">Write a description of class UI here.</div>
<dl class="notes">
<dt>Version:</dt>
<dd>(a version number or a date)</dd>
<dt>Autor:</dt>
<dd>(your name)</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Konstruktorübersicht</h2>
<div class="caption"><span>Konstruktoren</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Konstruktor</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Score</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Konkrete Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#act()" class="member-name-link">act</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Act - do whatever the UI wants to do.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#calculate_score()" class="member-name-link">calculate_score</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#draw_score()" class="member-name-link">draw_score</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-greenfoot.Actor">Von Klasse geerbte Methoden&nbsp;greenfoot.Actor</h3>
<code>addedToWorld, getImage, getIntersectingObjects, getNeighbours, getObjectsAtOffset, getObjectsInRange, getOneIntersectingObject, getOneObjectAtOffset, getRotation, getWorld, getWorldOfType, getX, getY, intersects, isAtEdge, isTouching, move, removeTouching, setImage, setImage, setLocation, setRotation, sleepFor, turn, turnTowards</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Von Klasse geerbte Methoden&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="Klasse oder Schnittstelle in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="Klasse oder Schnittstelle in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="Klasse oder Schnittstelle in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="Klasse oder Schnittstelle in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="Klasse oder Schnittstelle in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Konstruktordetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>Score</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Score</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="act()">
<h3>act</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">act</span>()</div>
<div class="block">Act - do whatever the UI wants to do. This method is called whenever
the 'Act' or 'Run' button gets pressed in the environment.</div>
<dl class="notes">
<dt>Setzt außer Kraft:</dt>
<dd><code>act</code>&nbsp;in Klasse&nbsp;<code>greenfoot.Actor</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw_score()">
<h3>draw_score</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">draw_score</span>()</div>
</section>
</li>
<li>
<section class="detail" id="calculate_score()">
<h3>calculate_score</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">calculate_score</span>()</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>
+2 -2
View File
@@ -1,11 +1,11 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html lang="de"> <html lang="de">
<head> <head>
<!-- Generated by javadoc (21) on Tue Sep 15 12:14:29 CEST 2026 --> <!-- Generated by javadoc (21) on Wed Sep 16 11:08:05 CEST 2026 -->
<title>Generierte Dokumentation (unbenannt)</title> <title>Generierte Dokumentation (unbenannt)</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2026-09-15"> <meta name="dc.created" content="2026-09-16">
<meta name="description" content="index redirect"> <meta name="description" content="index redirect">
<meta name="generator" content="javadoc/IndexRedirectWriter"> <meta name="generator" content="javadoc/IndexRedirectWriter">
<link rel="canonical" href="package-summary.html"> <link rel="canonical" href="package-summary.html">
+3 -3
View File
@@ -20,16 +20,16 @@ C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc
UTF-8 UTF-8
-charset -charset
UTF-8 UTF-8
C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\StartWorld.java C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\Score.java
<---- end of javadoc command ----> <---- end of javadoc command ---->
Quelldatei C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\StartWorld.java wird geladen... Quelldatei C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\Score.java wird geladen...
Javadoc-Informationen werden erstellt... Javadoc-Informationen werden erstellt...
Warnung: Unbekannte Enum-Konstante Tag.Any Warnung: Unbekannte Enum-Konstante Tag.Any
Grund: Klassendatei für threadchecker.Tag nicht gefunden Grund: Klassendatei für threadchecker.Tag nicht gefunden
Warnung: Unbekannte Enum-Konstante Tag.Any Warnung: Unbekannte Enum-Konstante Tag.Any
Standard-Doclet-Version 21.0.4+7-LTS Standard-Doclet-Version 21.0.4+7-LTS
Baum für alle Packages und Klassen wird erstellt... Baum für alle Packages und Klassen wird erstellt...
C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\StartWorld.html wird generiert... C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\Score.html wird generiert...
C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\package-summary.html wird generiert... C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\package-summary.html wird generiert...
C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\index.html wird generiert... C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\index.html wird generiert...
2 Warnungen 2 Warnungen
+4 -4
View File
@@ -1,11 +1,11 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html lang="de"> <html lang="de">
<head> <head>
<!-- Generated by javadoc (21) on Tue Sep 15 12:14:29 CEST 2026 --> <!-- Generated by javadoc (21) on Wed Sep 16 11:08:05 CEST 2026 -->
<title>Unbenanntes Package</title> <title>Unbenanntes Package</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2026-09-15"> <meta name="dc.created" content="2026-09-16">
<meta name="description" content="declaration: package: &lt;unnamed&gt;"> <meta name="description" content="declaration: package: &lt;unnamed&gt;">
<meta name="generator" content="javadoc/PackageWriterImpl"> <meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style"> <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
@@ -31,9 +31,9 @@
<div class="summary-table two-column-summary"> <div class="summary-table two-column-summary">
<div class="table-header col-first">Klasse</div> <div class="table-header col-first">Klasse</div>
<div class="table-header col-last">Beschreibung</div> <div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="StartWorld.html" title="Klasse in Unbenanntes Package">StartWorld</a></div> <div class="col-first even-row-color class-summary class-summary-tab2"><a href="Score.html" title="Klasse in Unbenanntes Package">Score</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2"> <div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Write a description of class StartWorld here.</div> <div class="block">Write a description of class UI here.</div>
</div> </div>
</div> </div>
</div> </div>
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

+3 -6
View File
@@ -1,23 +1,20 @@
#Greenfoot project file #Greenfoot project file
class.BreakingPlattform.image=Unbenannt2.png class.BreakingPlattform.image=Unbenannt2.png
class.Button.image=button-red.png class.Button.image=button-red.png
class.Enemy.image=bee.png
class.EnemyProjectile.image=yellow-draught.png
class.GameOverWorld.image=GameOverBackground.png class.GameOverWorld.image=GameOverBackground.png
class.Ground.image=weave.jpg class.Ground.image=weave.jpg
class.HealthItem.image=herz.png class.HealthItem.image=herz.png
class.JumpBoostItem.image=mushroom.png class.JumpBoostItem.image=mushroom.png
class.MovingPlattform.image=Unbenannt.png class.MovingPlattform.image=Unbenannt.png
class.MyWorld.image=GameBackground.png class.MyWorld.image=GameBackground.png
class.Plattform.image=Plattform.png class.Plattform.image=Platform1.png
class.Player.image=ppl2.png class.Player.image=Player.png
class.PlayerProjectile.image=beeper.png
class.Projectile.image=Projectile1.png class.Projectile.image=Projectile1.png
class.Spike.image=Spike.png class.Spike.image=Spike.png
class.SpikedPlattform.image=SpikedPlattform.png class.SpikedPlattform.image=SpikedPlattform.png
class.StartWorld.image=StartBackground.png class.StartWorld.image=StartBackground.png
class.TargetingProjectile.image=blue-draught.png class.TargetingProjectile.image=blue-draught.png
class.UnactiveSpike.image=Spike_Copy.png class.UnactiveSpike.image=SpikeUnactive.png
dependency1.from=GameOverWorld dependency1.from=GameOverWorld
dependency1.to=Button dependency1.to=Button
dependency1.type=UsesDependency dependency1.type=UsesDependency