diff --git a/SMIMS-Game/Button.class b/SMIMS-Game/Button.class
new file mode 100644
index 0000000..f94261d
Binary files /dev/null and b/SMIMS-Game/Button.class differ
diff --git a/SMIMS-Game/Button.ctxt b/SMIMS-Game/Button.ctxt
new file mode 100644
index 0000000..faa1fc6
--- /dev/null
+++ b/SMIMS-Game/Button.ctxt
@@ -0,0 +1,7 @@
+#BlueJ class context
+comment0.target=Button
+comment0.text=\r\n\ Write\ a\ description\ of\ class\ Button\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n
+comment1.params=
+comment1.target=void\ act()
+comment1.text=\r\n\ Act\ -\ do\ whatever\ the\ Button\ wants\ to\ do.\ This\ method\ is\ called\ whenever\r\n\ the\ 'Act'\ or\ 'Run'\ button\ gets\ pressed\ in\ the\ environment.\r\n
+numComments=2
diff --git a/SMIMS-Game/Button.java b/SMIMS-Game/Button.java
new file mode 100644
index 0000000..fb06d50
--- /dev/null
+++ b/SMIMS-Game/Button.java
@@ -0,0 +1,21 @@
+import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
+
+/**
+ * Write a description of class Button here.
+ *
+ * @author (your name)
+ * @version (a version number or a date)
+ */
+public class Button extends Actor
+{
+ /**
+ * Act - do whatever the Button wants to do. This method is called whenever
+ * the 'Act' or 'Run' button gets pressed in the environment.
+ */
+ public void act()
+ {
+ if (Greenfoot.mousePressed(this)){
+ Greenfoot.setWorld(new MyWorld());
+ }
+ }
+}
diff --git a/SMIMS-Game/GameOverWorld.class b/SMIMS-Game/GameOverWorld.class
index 64be4d7..efc7790 100644
Binary files a/SMIMS-Game/GameOverWorld.class and b/SMIMS-Game/GameOverWorld.class differ
diff --git a/SMIMS-Game/GameOverWorld.ctxt b/SMIMS-Game/GameOverWorld.ctxt
index e10a681..aabdc54 100644
--- a/SMIMS-Game/GameOverWorld.ctxt
+++ b/SMIMS-Game/GameOverWorld.ctxt
@@ -4,4 +4,7 @@ comment0.text=\r\n\ Write\ a\ description\ of\ class\ GameOverWorld\ here.\r\n\
comment1.params=
comment1.target=GameOverWorld()
comment1.text=\r\n\ Constructor\ for\ objects\ of\ class\ GameOverWorld.\r\n\ \r\n
-numComments=2
+comment2.params=
+comment2.target=void\ prepare()
+comment2.text=\r\n\ Prepare\ the\ world\ for\ the\ start\ of\ the\ program.\r\n\ That\ is\:\ create\ the\ initial\ objects\ and\ add\ them\ to\ the\ world.\r\n
+numComments=3
diff --git a/SMIMS-Game/GameOverWorld.java b/SMIMS-Game/GameOverWorld.java
index 8c4621c..d597e54 100644
--- a/SMIMS-Game/GameOverWorld.java
+++ b/SMIMS-Game/GameOverWorld.java
@@ -16,6 +16,18 @@ public class GameOverWorld extends World
public GameOverWorld()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
- super(400, 600, 1);
+ super(400, 600, 1);
+ prepare();
+ }
+
+ /**
+ * Prepare the world for the start of the program.
+ * That is: create the initial objects and add them to the world.
+ */
+ private void prepare()
+ {
+ Button button = new Button();
+ addObject(button,200,350);
+ button.setImage("Neustart.png");
}
}
diff --git a/SMIMS-Game/MyWorld.class b/SMIMS-Game/MyWorld.class
index 26919f8..7ee18b1 100644
Binary files a/SMIMS-Game/MyWorld.class and b/SMIMS-Game/MyWorld.class differ
diff --git a/SMIMS-Game/MyWorld.java b/SMIMS-Game/MyWorld.java
index d3d6587..f9688af 100644
--- a/SMIMS-Game/MyWorld.java
+++ b/SMIMS-Game/MyWorld.java
@@ -8,7 +8,8 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
*/
public class MyWorld extends World
{
- int timer = 200;
+ int timer = 200; //Zeit, bevor das erste Projektil auftaucht
+ //kann später noch beliebig angepasst werden
/**
* Constructor for objects of class MyWorld.
@@ -37,7 +38,8 @@ public class MyWorld extends World
else{
Projectile projectile = new Projectile();
addObject(projectile,Greenfoot.getRandomNumber(300)+50,0);
- timer = 200;
+ timer = 200; //zeitlicher Abstand
}
+ //zwischen den x Werten 50 und 350 spawnen die Projektile (anpassbar)
}
}
diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class
index ff9a79d..788b7aa 100644
Binary files a/SMIMS-Game/Player.class and b/SMIMS-Game/Player.class differ
diff --git a/SMIMS-Game/Player.ctxt b/SMIMS-Game/Player.ctxt
index c19adf5..2806518 100644
--- a/SMIMS-Game/Player.ctxt
+++ b/SMIMS-Game/Player.ctxt
@@ -4,7 +4,11 @@ comment0.text=\r\n\ Write\ a\ description\ of\ class\ Player\ here.\r\n\ \r\n\ @
comment1.params=
comment1.target=void\ act()
comment2.params=
-comment2.target=void\ player_movement()
+comment2.target=void\ moveLeftAndRight()
comment3.params=
-comment3.target=boolean\ onGround()
-numComments=4
+comment3.target=void\ jump()
+comment4.params=
+comment4.target=void\ fall()
+comment5.params=
+comment5.target=boolean\ collision()
+numComments=6
diff --git a/SMIMS-Game/Player.java b/SMIMS-Game/Player.java
index 5b06758..c938f95 100644
--- a/SMIMS-Game/Player.java
+++ b/SMIMS-Game/Player.java
@@ -17,7 +17,6 @@ public class Player extends Actor
public void act()
{
- player_movement();
collision();
moveLeftAndRight();
jump();
diff --git a/SMIMS-Game/StartWorld.class b/SMIMS-Game/StartWorld.class
new file mode 100644
index 0000000..29fa851
Binary files /dev/null and b/SMIMS-Game/StartWorld.class differ
diff --git a/SMIMS-Game/StartWorld.ctxt b/SMIMS-Game/StartWorld.ctxt
new file mode 100644
index 0000000..e33c341
--- /dev/null
+++ b/SMIMS-Game/StartWorld.ctxt
@@ -0,0 +1,10 @@
+#BlueJ class context
+comment0.target=StartWorld
+comment0.text=\r\n\ Write\ a\ description\ of\ class\ StartWorld\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n
+comment1.params=
+comment1.target=StartWorld()
+comment1.text=\r\n\ Constructor\ for\ objects\ of\ class\ StartWorld.\r\n\ \r\n
+comment2.params=
+comment2.target=void\ prepare()
+comment2.text=\r\n\ Prepare\ the\ world\ for\ the\ start\ of\ the\ program.\r\n\ That\ is\:\ create\ the\ initial\ objects\ and\ add\ them\ to\ the\ world.\r\n
+numComments=3
diff --git a/SMIMS-Game/StartWorld.java b/SMIMS-Game/StartWorld.java
new file mode 100644
index 0000000..81f454a
--- /dev/null
+++ b/SMIMS-Game/StartWorld.java
@@ -0,0 +1,32 @@
+import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
+
+/**
+ * Write a description of class StartWorld here.
+ *
+ * @author (your name)
+ * @version (a version number or a date)
+ */
+public class StartWorld extends World
+{
+
+ /**
+ * Constructor for objects of class StartWorld.
+ *
+ */
+ public StartWorld()
+ {
+ // Create a new world with 600x400 cells with a cell size of 1x1 pixels.
+ super(400, 600, 1);
+ prepare();
+ }
+ /**
+ * Prepare the world for the start of the program.
+ * That is: create the initial objects and add them to the world.
+ */
+ private void prepare()
+ {
+ Button button = new Button();
+ addObject(button,200,350);
+ button.setImage("Start.png");
+ }
+}
diff --git a/SMIMS-Game/doc/StartWorld.html b/SMIMS-Game/doc/StartWorld.html
new file mode 100644
index 0000000..6beddcf
--- /dev/null
+++ b/SMIMS-Game/doc/StartWorld.html
@@ -0,0 +1,98 @@
+
+
+
+
+StartWorld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public class StartWorld
+extends greenfoot.World
+Write a description of class StartWorld here.
+
+- Version:
+- (a version number or a date)
+- Autor:
+- (your name)
+
+
+
+
+
+-
+
+
Konstruktorübersicht
+Konstruktoren
+
+
+
+
+
+
Constructor for objects of class StartWorld.
+
+
+
+
+
+-
+
+
Methodenübersicht
+
+
+act, addObject, getBackground, getCellSize, getColorAt, getHeight, getObjects, getObjectsAt, getWidth, numberOfObjects, removeObject, removeObjects, repaint, setActOrder, setBackground, setBackground, setPaintOrder, showText, started, stopped
+
+
+
+
+
+
+
+
+-
+
+
Konstruktordetails
+
+-
+
+
StartWorld
+public StartWorld()
+Constructor for objects of class StartWorld.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SMIMS-Game/doc/copy.svg b/SMIMS-Game/doc/copy.svg
new file mode 100644
index 0000000..7c46ab1
--- /dev/null
+++ b/SMIMS-Game/doc/copy.svg
@@ -0,0 +1,33 @@
+
+
+
+
+
diff --git a/SMIMS-Game/doc/element-list b/SMIMS-Game/doc/element-list
new file mode 100644
index 0000000..7e55e3f
--- /dev/null
+++ b/SMIMS-Game/doc/element-list
@@ -0,0 +1 @@
+Unbenanntes Package
diff --git a/SMIMS-Game/doc/index.html b/SMIMS-Game/doc/index.html
new file mode 100644
index 0000000..0dddb70
--- /dev/null
+++ b/SMIMS-Game/doc/index.html
@@ -0,0 +1,26 @@
+
+
+
+
+Generierte Dokumentation (unbenannt)
+
+
+
+
+
+
+
+
+
+
+
+
+
+package-summary.html
+
+
+
diff --git a/SMIMS-Game/doc/legal/ADDITIONAL_LICENSE_INFO b/SMIMS-Game/doc/legal/ADDITIONAL_LICENSE_INFO
new file mode 100644
index 0000000..b62cc3e
--- /dev/null
+++ b/SMIMS-Game/doc/legal/ADDITIONAL_LICENSE_INFO
@@ -0,0 +1 @@
+Please see ..\java.base\ADDITIONAL_LICENSE_INFO
diff --git a/SMIMS-Game/doc/legal/ASSEMBLY_EXCEPTION b/SMIMS-Game/doc/legal/ASSEMBLY_EXCEPTION
new file mode 100644
index 0000000..0d4cfb4
--- /dev/null
+++ b/SMIMS-Game/doc/legal/ASSEMBLY_EXCEPTION
@@ -0,0 +1 @@
+Please see ..\java.base\ASSEMBLY_EXCEPTION
diff --git a/SMIMS-Game/doc/legal/LICENSE b/SMIMS-Game/doc/legal/LICENSE
new file mode 100644
index 0000000..4ad9fe4
--- /dev/null
+++ b/SMIMS-Game/doc/legal/LICENSE
@@ -0,0 +1 @@
+Please see ..\java.base\LICENSE
diff --git a/SMIMS-Game/doc/link.svg b/SMIMS-Game/doc/link.svg
new file mode 100644
index 0000000..7ccc5ed
--- /dev/null
+++ b/SMIMS-Game/doc/link.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
diff --git a/SMIMS-Game/doc/logfile.txt b/SMIMS-Game/doc/logfile.txt
new file mode 100644
index 0000000..5b07d5f
--- /dev/null
+++ b/SMIMS-Game/doc/logfile.txt
@@ -0,0 +1,35 @@
+Class documentation
+<---- javadoc command: ---->
+C:\Program Files\Greenfoot\jdk\bin\javadoc.exe
+-author
+-version
+-nodeprecated
+-protected
+-Xdoclint:none
+-noindex
+-notree
+-nohelp
+-nonavbar
+-source
+21
+-classpath
+C:\Program Files\Greenfoot\lib\greenfoot.jar;C:\Program Files\Greenfoot\lib\javafx-base-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\javafx-controls-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\javafx-fxml-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\javafx-graphics-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\javafx-media-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\javafx-swing-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\javafx-web-21.0.3-win.jar;C:\Program Files\Greenfoot\lib\junit-4.12.jar;C:\Program Files\Greenfoot\lib\junit-jupiter-5.5.2.jar;C:\Program Files\Greenfoot\lib\junit-jupiter-api-5.5.2.jar;C:\Program Files\Greenfoot\lib\junit-jupiter-engine-5.5.2.jar;C:\Program Files\Greenfoot\lib\junit-jupiter-params-5.5.2.jar;C:\Program Files\Greenfoot\lib\junit-platform-commons-1.5.2.jar;C:\Program Files\Greenfoot\lib\junit-platform-engine-1.5.2.jar;C:\Program Files\Greenfoot\lib\junit-platform-launcher-1.5.2.jar;C:\Program Files\Greenfoot\lib\junit-platform-suite-api-1.5.2.jar;C:\Program Files\Greenfoot\lib\junit-vintage-engine-5.5.2.jar;C:\Program Files\Greenfoot\lib\hamcrest-core-1.3.jar;C:\Program Files\Greenfoot\lib\opentest4j-1.2.0.jar;C:\Program Files\Greenfoot\lib\bluej.jar;C:\Program Files\Greenfoot\lib\classgraph-4.8.90.jar;C:\Program Files\Greenfoot\lib\diffutils-1.2.1.jar;C:\Program Files\Greenfoot\lib\commons-logging-1.2.jar;C:\Program Files\Greenfoot\lib\jl1.0.1.jar;C:\Program Files\Greenfoot\lib\opencsv-2.3.jar;C:\Program Files\Greenfoot\lib\opencsv-2.4.jar;C:\Program Files\Greenfoot\lib\xom-1.3.9.jar;C:\Program Files\Greenfoot\lib\lang-stride.jar;C:\Program Files\Greenfoot\lib\nsmenufx-3.1.0.jar;C:\Program Files\Greenfoot\lib\wellbehavedfx-0.3.3.jar;C:\Program Files\Greenfoot\lib\guava-33.3.1-jre.jar;C:\Program Files\Greenfoot\lib\failureaccess-1.0.2.jar;C:\Program Files\Greenfoot\lib\simple-png-0.2.0.jar;C:\Program Files\Greenfoot\lib\simple-png-javafx-0.2.0.jar;C:\Program Files\Greenfoot\lib\httpclient-4.5.13.jar;C:\Program Files\Greenfoot\lib\httpcore-4.4.13.jar;C:\Program Files\Greenfoot\lib\httpmime-4.1.1.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.base.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.controls.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.fxml.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.graphics.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.media.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.properties.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.swing.jar;C:\Program Files\Greenfoot\lib\javafx\javafx.web.jar;C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game
+-d
+C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc
+-encoding
+UTF-8
+-charset
+UTF-8
+C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\StartWorld.java
+<---- end of javadoc command ---->
+Quelldatei C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\StartWorld.java wird geladen...
+Javadoc-Informationen werden erstellt...
+Warnung: Unbekannte Enum-Konstante Tag.Any
+ Grund: Klassendatei für threadchecker.Tag nicht gefunden
+Warnung: Unbekannte Enum-Konstante Tag.Any
+Standard-Doclet-Version 21.0.4+7-LTS
+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\package-summary.html wird generiert...
+C:\Users\Marlie\Documents\Workspace\SMIMS_2026_2\SMIMS-Game\doc\index.html wird generiert...
+2 Warnungen
diff --git a/SMIMS-Game/doc/package-summary.html b/SMIMS-Game/doc/package-summary.html
new file mode 100644
index 0000000..240d066
--- /dev/null
+++ b/SMIMS-Game/doc/package-summary.html
@@ -0,0 +1,47 @@
+
+
+
+
+Unbenanntes Package
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+-
+
+
Klassen
+
+
+
+
+
+
Write a description of class StartWorld here.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SMIMS-Game/doc/script.js b/SMIMS-Game/doc/script.js
new file mode 100644
index 0000000..bb9c8a2
--- /dev/null
+++ b/SMIMS-Game/doc/script.js
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+var moduleSearchIndex;
+var packageSearchIndex;
+var typeSearchIndex;
+var memberSearchIndex;
+var tagSearchIndex;
+
+var oddRowColor = "odd-row-color";
+var evenRowColor = "even-row-color";
+var sortAsc = "sort-asc";
+var sortDesc = "sort-desc";
+var tableTab = "table-tab";
+var activeTableTab = "active-table-tab";
+
+function loadScripts(doc, tag) {
+ createElem(doc, tag, 'search.js');
+
+ createElem(doc, tag, 'module-search-index.js');
+ createElem(doc, tag, 'package-search-index.js');
+ createElem(doc, tag, 'type-search-index.js');
+ createElem(doc, tag, 'member-search-index.js');
+ createElem(doc, tag, 'tag-search-index.js');
+}
+
+function createElem(doc, tag, path) {
+ var script = doc.createElement(tag);
+ var scriptElement = doc.getElementsByTagName(tag)[0];
+ script.src = pathtoroot + path;
+ scriptElement.parentNode.insertBefore(script, scriptElement);
+}
+
+// Helper for making content containing release names comparable lexicographically
+function makeComparable(s) {
+ return s.toLowerCase().replace(/(\d+)/g,
+ function(n, m) {
+ return ("000" + m).slice(-4);
+ });
+}
+
+// Switches between two styles depending on a condition
+function toggleStyle(classList, condition, trueStyle, falseStyle) {
+ if (condition) {
+ classList.remove(falseStyle);
+ classList.add(trueStyle);
+ } else {
+ classList.remove(trueStyle);
+ classList.add(falseStyle);
+ }
+}
+
+// Sorts the rows in a table lexicographically by the content of a specific column
+function sortTable(header, columnIndex, columns) {
+ var container = header.parentElement;
+ var descending = header.classList.contains(sortAsc);
+ container.querySelectorAll("div.table-header").forEach(
+ function(header) {
+ header.classList.remove(sortAsc);
+ header.classList.remove(sortDesc);
+ }
+ )
+ var cells = container.children;
+ var rows = [];
+ for (var i = columns; i < cells.length; i += columns) {
+ rows.push(Array.prototype.slice.call(cells, i, i + columns));
+ }
+ var comparator = function(a, b) {
+ var ka = makeComparable(a[columnIndex].textContent);
+ var kb = makeComparable(b[columnIndex].textContent);
+ if (ka < kb)
+ return descending ? 1 : -1;
+ if (ka > kb)
+ return descending ? -1 : 1;
+ return 0;
+ };
+ var sorted = rows.sort(comparator);
+ var visible = 0;
+ sorted.forEach(function(row) {
+ if (row[0].style.display !== 'none') {
+ var isEvenRow = visible++ % 2 === 0;
+ }
+ row.forEach(function(cell) {
+ toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor);
+ container.appendChild(cell);
+ })
+ });
+ toggleStyle(header.classList, descending, sortDesc, sortAsc);
+}
+
+// Toggles the visibility of a table category in all tables in a page
+function toggleGlobal(checkbox, selected, columns) {
+ var display = checkbox.checked ? '' : 'none';
+ document.querySelectorAll("div.table-tabs").forEach(function(t) {
+ var id = t.parentElement.getAttribute("id");
+ var selectedClass = id + "-tab" + selected;
+ // if selected is empty string it selects all uncategorized entries
+ var selectUncategorized = !Boolean(selected);
+ var visible = 0;
+ document.querySelectorAll('div.' + id)
+ .forEach(function(elem) {
+ if (selectUncategorized) {
+ if (elem.className.indexOf(selectedClass) === -1) {
+ elem.style.display = display;
+ }
+ } else if (elem.classList.contains(selectedClass)) {
+ elem.style.display = display;
+ }
+ if (elem.style.display === '') {
+ var isEvenRow = visible++ % (columns * 2) < columns;
+ toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
+ }
+ });
+ var displaySection = visible === 0 ? 'none' : '';
+ t.parentElement.style.display = displaySection;
+ document.querySelector("li#contents-" + id).style.display = displaySection;
+ })
+}
+
+// Shows the elements of a table belonging to a specific category
+function show(tableId, selected, columns) {
+ if (tableId !== selected) {
+ document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
+ .forEach(function(elem) {
+ elem.style.display = 'none';
+ });
+ }
+ document.querySelectorAll('div.' + selected)
+ .forEach(function(elem, index) {
+ elem.style.display = '';
+ var isEvenRow = index % (columns * 2) < columns;
+ toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
+ });
+ updateTabs(tableId, selected);
+}
+
+function updateTabs(tableId, selected) {
+ document.getElementById(tableId + '.tabpanel')
+ .setAttribute('aria-labelledby', selected);
+ document.querySelectorAll('button[id^="' + tableId + '"]')
+ .forEach(function(tab, index) {
+ if (selected === tab.id || (tableId === selected && index === 0)) {
+ tab.className = activeTableTab;
+ tab.setAttribute('aria-selected', true);
+ tab.setAttribute('tabindex',0);
+ } else {
+ tab.className = tableTab;
+ tab.setAttribute('aria-selected', false);
+ tab.setAttribute('tabindex',-1);
+ }
+ });
+}
+
+function switchTab(e) {
+ var selected = document.querySelector('[aria-selected=true]');
+ if (selected) {
+ if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
+ // left or up arrow key pressed: move focus to previous tab
+ selected.previousSibling.click();
+ selected.previousSibling.focus();
+ e.preventDefault();
+ } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
+ // right or down arrow key pressed: move focus to next tab
+ selected.nextSibling.click();
+ selected.nextSibling.focus();
+ e.preventDefault();
+ }
+ }
+}
+
+var updateSearchResults = function() {};
+
+function indexFilesLoaded() {
+ return moduleSearchIndex
+ && packageSearchIndex
+ && typeSearchIndex
+ && memberSearchIndex
+ && tagSearchIndex;
+}
+// Copy the contents of the local snippet to the clipboard
+function copySnippet(button) {
+ copyToClipboard(button.nextElementSibling.innerText);
+ switchCopyLabel(button, button.firstElementChild);
+}
+function copyToClipboard(content) {
+ var textarea = document.createElement("textarea");
+ textarea.style.height = 0;
+ document.body.appendChild(textarea);
+ textarea.value = content;
+ textarea.select();
+ document.execCommand("copy");
+ document.body.removeChild(textarea);
+}
+function switchCopyLabel(button, span) {
+ var copied = span.getAttribute("data-copied");
+ button.classList.add("visible");
+ var initialLabel = span.innerHTML;
+ span.innerHTML = copied;
+ setTimeout(function() {
+ button.classList.remove("visible");
+ setTimeout(function() {
+ if (initialLabel !== copied) {
+ span.innerHTML = initialLabel;
+ }
+ }, 100);
+ }, 1900);
+}
+// Workaround for scroll position not being included in browser history (8249133)
+document.addEventListener("DOMContentLoaded", function(e) {
+ var contentDiv = document.querySelector("div.flex-content");
+ window.addEventListener("popstate", function(e) {
+ if (e.state !== null) {
+ contentDiv.scrollTop = e.state;
+ }
+ });
+ window.addEventListener("hashchange", function(e) {
+ history.replaceState(contentDiv.scrollTop, document.title);
+ });
+ var timeoutId;
+ contentDiv.addEventListener("scroll", function(e) {
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ }
+ timeoutId = setTimeout(function() {
+ history.replaceState(contentDiv.scrollTop, document.title);
+ }, 100);
+ });
+ if (!location.hash) {
+ history.replaceState(contentDiv.scrollTop, document.title);
+ }
+});
diff --git a/SMIMS-Game/doc/stylesheet.css b/SMIMS-Game/doc/stylesheet.css
new file mode 100644
index 0000000..f71489f
--- /dev/null
+++ b/SMIMS-Game/doc/stylesheet.css
@@ -0,0 +1,1272 @@
+/*
+ * Javadoc style sheet
+ */
+
+@import url('resources/fonts/dejavu.css');
+
+/*
+ * These CSS custom properties (variables) define the core color and font
+ * properties used in this stylesheet.
+ */
+:root {
+ /* body, block and code fonts */
+ --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
+ --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+ --code-font-family: 'DejaVu Sans Mono', monospace;
+ /* Base font sizes for body and code elements */
+ --body-font-size: 14px;
+ --code-font-size: 14px;
+ /* Text colors for body and block elements */
+ --body-text-color: #353833;
+ --block-text-color: #474747;
+ /* Background colors for various structural elements */
+ --body-background-color: #ffffff;
+ --section-background-color: #f8f8f8;
+ --detail-background-color: #ffffff;
+ /* Colors for navigation bar and table captions */
+ --navbar-background-color: #4D7A97;
+ --navbar-text-color: #ffffff;
+ /* Background color for subnavigation and various headers */
+ --subnav-background-color: #dee3e9;
+ /* Background and text colors for selected tabs and navigation items */
+ --selected-background-color: #f8981d;
+ --selected-text-color: #253441;
+ --selected-link-color: #1f389c;
+ /* Background colors for generated tables */
+ --even-row-color: #ffffff;
+ --odd-row-color: #eeeeef;
+ /* Text color for page title */
+ --title-color: #2c4557;
+ /* Text colors for links */
+ --link-color: #4A6782;
+ --link-color-active: #bb7a2a;
+ /* Snippet colors */
+ --snippet-background-color: #ebecee;
+ --snippet-text-color: var(--block-text-color);
+ --snippet-highlight-color: #f7c590;
+ /* Border colors for structural elements and user defined tables */
+ --border-color: #ededed;
+ --table-border-color: #000000;
+ /* Search input colors */
+ --search-input-background-color: #ffffff;
+ --search-input-text-color: #000000;
+ --search-input-placeholder-color: #909090;
+ /* Highlight color for active search tag target */
+ --search-tag-highlight-color: #ffff00;
+ /* Adjustments for icon and active background colors of copy-to-clipboard buttons */
+ --copy-icon-brightness: 100%;
+ --copy-button-background-color-active: rgba(168, 168, 176, 0.3);
+ /* Colors for invalid tag notifications */
+ --invalid-tag-background-color: #ffe6e6;
+ --invalid-tag-text-color: #000000;
+}
+/*
+ * Styles for individual HTML elements.
+ *
+ * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
+ * HTML element throughout the page.
+ */
+body {
+ background-color:var(--body-background-color);
+ color:var(--body-text-color);
+ font-family:var(--body-font-family);
+ font-size:var(--body-font-size);
+ margin:0;
+ padding:0;
+ height:100%;
+ width:100%;
+}
+iframe {
+ margin:0;
+ padding:0;
+ height:100%;
+ width:100%;
+ overflow-y:scroll;
+ border:none;
+}
+a:link, a:visited {
+ text-decoration:none;
+ color:var(--link-color);
+}
+a[href]:hover, a[href]:focus {
+ text-decoration:none;
+ color:var(--link-color-active);
+}
+pre {
+ font-family:var(--code-font-family);
+ font-size:1em;
+}
+h1 {
+ font-size:1.428em;
+}
+h2 {
+ font-size:1.285em;
+}
+h3 {
+ font-size:1.14em;
+}
+h4 {
+ font-size:1.072em;
+}
+h5 {
+ font-size:1.001em;
+}
+h6 {
+ font-size:0.93em;
+}
+/* Disable font boosting for selected elements */
+h1, h2, h3, h4, h5, h6, div.member-signature {
+ max-height: 1000em;
+}
+ul {
+ list-style-type:disc;
+}
+code, tt {
+ font-family:var(--code-font-family);
+}
+:not(h1, h2, h3, h4, h5, h6) > code,
+:not(h1, h2, h3, h4, h5, h6) > tt {
+ font-size:var(--code-font-size);
+ padding-top:4px;
+ margin-top:8px;
+ line-height:1.4em;
+}
+dt code {
+ font-family:var(--code-font-family);
+ font-size:1em;
+ padding-top:4px;
+}
+.summary-table dt code {
+ font-family:var(--code-font-family);
+ font-size:1em;
+ vertical-align:top;
+ padding-top:4px;
+}
+sup {
+ font-size:8px;
+}
+button {
+ font-family: var(--body-font-family);
+ font-size: 1em;
+}
+/*
+ * Styles for HTML generated by javadoc.
+ *
+ * These are style classes that are used by the standard doclet to generate HTML documentation.
+ */
+
+/*
+ * Styles for document title and copyright.
+ */
+.about-language {
+ float:right;
+ padding:0 21px 8px 8px;
+ font-size:0.915em;
+ margin-top:-9px;
+ height:2.9em;
+}
+.legal-copy {
+ margin-left:.5em;
+}
+/*
+ * Styles for navigation bar.
+ */
+@media screen {
+ div.flex-box {
+ position:fixed;
+ display:flex;
+ flex-direction:column;
+ height: 100%;
+ width: 100%;
+ }
+ header.flex-header {
+ flex: 0 0 auto;
+ }
+ div.flex-content {
+ flex: 1 1 auto;
+ overflow-y: auto;
+ }
+}
+.top-nav {
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+ float:left;
+ width:100%;
+ clear:right;
+ min-height:2.8em;
+ padding:10px 0 0 0;
+ overflow:hidden;
+ font-size:0.857em;
+}
+button#navbar-toggle-button {
+ display:none;
+}
+ul.sub-nav-list-small {
+ display: none;
+}
+.sub-nav {
+ background-color:var(--subnav-background-color);
+ float:left;
+ width:100%;
+ overflow:hidden;
+ font-size:0.857em;
+}
+.sub-nav div {
+ clear:left;
+ float:left;
+ padding:6px;
+ text-transform:uppercase;
+}
+.sub-nav .sub-nav-list {
+ padding-top:4px;
+}
+ul.nav-list {
+ display:block;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.sub-nav-list {
+ float:left;
+ margin:0 25px 0 0;
+ padding:0;
+}
+ul.nav-list li {
+ list-style:none;
+ float:left;
+ padding: 5px 6px;
+ text-transform:uppercase;
+}
+.sub-nav .nav-list-search {
+ float:right;
+ margin:0;
+ padding:6px;
+ clear:none;
+ text-align:right;
+ position:relative;
+}
+ul.sub-nav-list li {
+ list-style:none;
+ float:left;
+}
+.top-nav a:link, .top-nav a:active, .top-nav a:visited {
+ color:var(--navbar-text-color);
+ text-decoration:none;
+ text-transform:uppercase;
+}
+.top-nav a:hover {
+ color:var(--link-color-active);
+}
+.nav-bar-cell1-rev {
+ background-color:var(--selected-background-color);
+ color:var(--selected-text-color);
+ margin: auto 5px;
+}
+.skip-nav {
+ position:absolute;
+ top:auto;
+ left:-9999px;
+ overflow:hidden;
+}
+/*
+ * Hide navigation links and search box in print layout
+ */
+@media print {
+ ul.nav-list, div.sub-nav {
+ display:none;
+ }
+}
+/*
+ * Styles for page header.
+ */
+.title {
+ color:var(--title-color);
+ margin:10px 0;
+}
+.sub-title {
+ margin:5px 0 0 0;
+}
+ul.contents-list {
+ margin: 0 0 15px 0;
+ padding: 0;
+ list-style: none;
+}
+ul.contents-list li {
+ font-size:0.93em;
+}
+/*
+ * Styles for headings.
+ */
+body.class-declaration-page .summary h2,
+body.class-declaration-page .details h2,
+body.class-use-page h2,
+body.module-declaration-page .block-list h2 {
+ font-style: italic;
+ padding:0;
+ margin:15px 0;
+}
+body.class-declaration-page .summary h3,
+body.class-declaration-page .details h3,
+body.class-declaration-page .summary .inherited-list h2 {
+ background-color:var(--subnav-background-color);
+ border:1px solid var(--border-color);
+ margin:0 0 6px -8px;
+ padding:7px 5px;
+}
+/*
+ * Styles for page layout containers.
+ */
+main {
+ clear:both;
+ padding:10px 20px;
+ position:relative;
+}
+dl.notes > dt {
+ font-family: var(--body-font-family);
+ font-size:0.856em;
+ font-weight:bold;
+ margin:10px 0 0 0;
+ color:var(--body-text-color);
+}
+dl.notes > dd {
+ margin:5px 10px 10px 0;
+ font-size:1em;
+ font-family:var(--block-font-family)
+}
+dl.name-value > dt {
+ margin-left:1px;
+ font-size:1.1em;
+ display:inline;
+ font-weight:bold;
+}
+dl.name-value > dd {
+ margin:0 0 0 1px;
+ font-size:1.1em;
+ display:inline;
+}
+/*
+ * Styles for lists.
+ */
+li.circle {
+ list-style:circle;
+}
+ul.horizontal li {
+ display:inline;
+ font-size:0.9em;
+}
+div.inheritance {
+ margin:0;
+ padding:0;
+}
+div.inheritance div.inheritance {
+ margin-left:2em;
+}
+ul.block-list,
+ul.details-list,
+ul.member-list,
+ul.summary-list {
+ margin:10px 0 10px 0;
+ padding:0;
+}
+ul.block-list > li,
+ul.details-list > li,
+ul.member-list > li,
+ul.summary-list > li {
+ list-style:none;
+ margin-bottom:15px;
+ line-height:1.4;
+}
+ul.ref-list {
+ padding:0;
+ margin:0;
+}
+ul.ref-list > li {
+ list-style:none;
+}
+.summary-table dl, .summary-table dl dt, .summary-table dl dd {
+ margin-top:0;
+ margin-bottom:1px;
+}
+ul.tag-list, ul.tag-list-long {
+ padding-left: 0;
+ list-style: none;
+}
+ul.tag-list li {
+ display: inline;
+}
+ul.tag-list li:not(:last-child):after,
+ul.tag-list-long li:not(:last-child):after
+{
+ content: ", ";
+ white-space: pre-wrap;
+}
+ul.preview-feature-list {
+ list-style: none;
+ margin:0;
+ padding:0.1em;
+ line-height: 1.6em;
+}
+/*
+ * Styles for tables.
+ */
+.summary-table, .details-table {
+ width:100%;
+ border-spacing:0;
+ border:1px solid var(--border-color);
+ border-top:0;
+ padding:0;
+}
+.caption {
+ position:relative;
+ text-align:left;
+ background-repeat:no-repeat;
+ color:var(--selected-text-color);
+ clear:none;
+ overflow:hidden;
+ padding: 10px 0 0 1px;
+ margin:0;
+}
+.caption a:link, .caption a:visited {
+ color:var(--selected-link-color);
+}
+.caption a:hover,
+.caption a:active {
+ color:var(--navbar-text-color);
+}
+.caption span {
+ font-weight:bold;
+ white-space:nowrap;
+ padding:5px 12px 7px 12px;
+ display:inline-block;
+ float:left;
+ background-color:var(--selected-background-color);
+ border: none;
+ height:16px;
+}
+div.table-tabs {
+ padding:10px 0 0 1px;
+ margin:10px 0 0 0;
+}
+div.table-tabs > button {
+ border: none;
+ cursor: pointer;
+ padding: 5px 12px 7px 12px;
+ font-weight: bold;
+ margin-right: 8px;
+}
+div.table-tabs > .active-table-tab {
+ background: var(--selected-background-color);
+ color: var(--selected-text-color);
+}
+div.table-tabs > button.table-tab {
+ background: var(--navbar-background-color);
+ color: var(--navbar-text-color);
+}
+.two-column-search-results {
+ display: grid;
+ grid-template-columns: minmax(400px, max-content) minmax(400px, auto);
+}
+div.checkboxes {
+ line-height: 2em;
+}
+div.checkboxes > span {
+ margin-left: 10px;
+}
+div.checkboxes > label {
+ margin-left: 8px;
+ white-space: nowrap;
+}
+div.checkboxes > label > input {
+ margin: 0 2px;
+}
+.two-column-summary {
+ display: grid;
+ grid-template-columns: minmax(25%, max-content) minmax(25%, auto);
+}
+.three-column-summary {
+ display: grid;
+ grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto);
+}
+.three-column-release-summary {
+ display: grid;
+ grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto);
+}
+.four-column-summary {
+ display: grid;
+ grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto);
+}
+@media screen and (max-width: 1000px) {
+ .four-column-summary {
+ display: grid;
+ grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+ }
+}
+@media screen and (max-width: 800px) {
+ .two-column-search-results {
+ display: grid;
+ grid-template-columns: minmax(40%, max-content) minmax(40%, auto);
+ }
+ .three-column-summary {
+ display: grid;
+ grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
+ }
+ .three-column-release-summary {
+ display: grid;
+ grid-template-columns: minmax(70%, max-content) minmax(30%, max-content)
+ }
+ .three-column-summary .col-last,
+ .three-column-release-summary .col-last{
+ grid-column-end: span 2;
+ }
+}
+@media screen and (max-width: 600px) {
+ .two-column-summary {
+ display: grid;
+ grid-template-columns: 1fr;
+ }
+}
+.summary-table > div, .details-table > div {
+ text-align:left;
+ padding: 8px 3px 3px 7px;
+ overflow-x: auto;
+ scrollbar-width: thin;
+}
+.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
+ vertical-align:top;
+ padding-right:0;
+ padding-top:8px;
+ padding-bottom:3px;
+}
+.table-header {
+ background:var(--subnav-background-color);
+ font-weight: bold;
+}
+/* Sortable table columns */
+.table-header[onclick] {
+ cursor: pointer;
+}
+.table-header[onclick]::after {
+ content:"";
+ display:inline-block;
+ background-image:url('data:image/svg+xml; utf8, \
+ ');
+ background-size:100% 100%;
+ width:9px;
+ height:14px;
+ margin-left:4px;
+ margin-bottom:-3px;
+}
+.table-header[onclick].sort-asc::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ ');
+
+}
+.table-header[onclick].sort-desc::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ ');
+}
+.col-first, .col-first {
+ font-size:0.93em;
+}
+.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
+ font-size:0.93em;
+}
+.col-first, .col-second, .col-constructor-name {
+ vertical-align:top;
+ overflow: auto;
+}
+.col-last {
+ white-space:normal;
+}
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-first a:link, .col-first a:visited,
+.col-second a:link, .col-second a:visited,
+.col-constructor-name a:link, .col-constructor-name a:visited,
+.col-summary-item-name a:link, .col-summary-item-name a:visited {
+ font-weight:bold;
+}
+.even-row-color, .even-row-color .table-header {
+ background-color:var(--even-row-color);
+}
+.odd-row-color, .odd-row-color .table-header {
+ background-color:var(--odd-row-color);
+}
+/*
+ * Styles for contents.
+ */
+div.block {
+ font-size:var(--body-font-size);
+ font-family:var(--block-font-family);
+}
+.col-last div {
+ padding-top:0;
+}
+.col-last a {
+ padding-bottom:3px;
+}
+.module-signature,
+.package-signature,
+.type-signature,
+.member-signature {
+ font-family:var(--code-font-family);
+ font-size:1em;
+ margin:14px 0;
+ white-space: pre-wrap;
+}
+.module-signature,
+.package-signature,
+.type-signature {
+ margin-top: 0;
+}
+.member-signature .type-parameters-long,
+.member-signature .parameters,
+.member-signature .exceptions {
+ display: inline-block;
+ vertical-align: top;
+ white-space: pre;
+}
+.member-signature .type-parameters {
+ white-space: normal;
+}
+/*
+ * Styles for formatting effect.
+ */
+.source-line-no {
+ /* Color of line numbers in source pages can be set via custom property below */
+ color:var(--source-linenumber-color, green);
+ padding:0 30px 0 0;
+}
+.block {
+ display:block;
+ margin:0 10px 5px 0;
+ color:var(--block-text-color);
+}
+.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link,
+.module-label-in-package, .module-label-in-type, .package-label-in-type,
+.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
+ font-weight:bold;
+}
+.deprecation-comment, .help-footnote, .preview-comment {
+ font-style:italic;
+}
+.deprecation-block {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ border-style:solid;
+ border-width:thin;
+ border-radius:10px;
+ padding:10px;
+ margin-bottom:10px;
+ margin-right:10px;
+ display:inline-block;
+}
+.preview-block {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ border-style:solid;
+ border-width:thin;
+ border-radius:10px;
+ padding:10px;
+ margin-bottom:10px;
+ margin-right:10px;
+ display:inline-block;
+}
+div.block div.deprecation-comment {
+ font-style:normal;
+}
+details.invalid-tag, span.invalid-tag {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ color: var(--invalid-tag-text-color);
+ background: var(--invalid-tag-background-color);
+ border: thin solid var(--table-border-color);
+ border-radius:2px;
+ padding: 2px 4px;
+ display:inline-block;
+}
+details summary {
+ cursor: pointer;
+}
+/*
+ * Styles specific to HTML5 elements.
+ */
+main, nav, header, footer, section {
+ display:block;
+}
+/*
+ * Styles for javadoc search.
+ */
+.ui-state-active {
+ /* Overrides the color of selection used in jQuery UI */
+ background: var(--selected-background-color);
+ border: 1px solid var(--selected-background-color);
+ color: var(--selected-text-color);
+}
+.ui-autocomplete-category {
+ font-weight:bold;
+ font-size:15px;
+ padding:7px 0 7px 3px;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+}
+.ui-autocomplete {
+ max-height:85%;
+ max-width:65%;
+ overflow-y:auto;
+ overflow-x:auto;
+ scrollbar-width: thin;
+ white-space:nowrap;
+ box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
+}
+ul.ui-autocomplete {
+ position:fixed;
+ z-index:1;
+ background-color: var(--body-background-color);
+}
+ul.ui-autocomplete li {
+ float:left;
+ clear:both;
+ min-width:100%;
+}
+ul.ui-autocomplete li.ui-static-link {
+ position:sticky;
+ bottom:0;
+ left:0;
+ background: var(--subnav-background-color);
+ padding: 5px 0;
+ font-family: var(--body-font-family);
+ font-size: 0.93em;
+ font-weight: bolder;
+ z-index: 2;
+}
+li.ui-static-link a, li.ui-static-link a:visited {
+ text-decoration:none;
+ color:var(--link-color);
+ float:right;
+ margin-right:20px;
+}
+.ui-autocomplete .result-item {
+ font-size: inherit;
+}
+.ui-autocomplete .result-highlight {
+ font-weight:bold;
+}
+#search-input, #page-search-input {
+ background-image:url('resources/glass.png');
+ background-size:13px;
+ background-repeat:no-repeat;
+ background-position:2px 3px;
+ background-color: var(--search-input-background-color);
+ color: var(--search-input-text-color);
+ border-color: var(--border-color);
+ padding-left:20px;
+ width: 250px;
+ margin: 0;
+}
+#search-input {
+ margin-left: 4px;
+}
+#reset-button {
+ background-color: transparent;
+ background-image:url('resources/x.png');
+ background-repeat:no-repeat;
+ background-size:contain;
+ border:0;
+ border-radius:0;
+ width:12px;
+ height:12px;
+ position:absolute;
+ right:12px;
+ top:10px;
+ font-size:0;
+}
+::placeholder {
+ color:var(--search-input-placeholder-color);
+ opacity: 1;
+}
+.search-tag-desc-result {
+ font-style:italic;
+ font-size:11px;
+}
+.search-tag-holder-result {
+ font-style:italic;
+ font-size:12px;
+}
+.search-tag-result:target {
+ background-color:var(--search-tag-highlight-color);
+}
+details.page-search-details {
+ display: inline-block;
+}
+div#result-container {
+ font-size: 1em;
+}
+div#result-container a.search-result-link {
+ padding: 0;
+ margin: 4px 0;
+ width: 100%;
+}
+#result-container .result-highlight {
+ font-weight:bolder;
+}
+.page-search-info {
+ background-color: var(--subnav-background-color);
+ border-radius: 3px;
+ border: 0 solid var(--border-color);
+ padding: 0 8px;
+ overflow: hidden;
+ height: 0;
+ transition: all 0.2s ease;
+}
+div.table-tabs > button.table-tab {
+ background: var(--navbar-background-color);
+ color: var(--navbar-text-color);
+}
+.page-search-header {
+ padding: 5px 12px 7px 12px;
+ font-weight: bold;
+ margin-right: 3px;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+ display: inline-block;
+}
+button.page-search-header {
+ border: none;
+ cursor: pointer;
+}
+span#page-search-link {
+ text-decoration: underline;
+}
+.module-graph span, .sealed-graph span {
+ display:none;
+ position:absolute;
+}
+.module-graph:hover span, .sealed-graph:hover span {
+ display:block;
+ margin: -100px 0 0 100px;
+ z-index: 1;
+}
+.inherited-list {
+ margin: 10px 0 10px 0;
+}
+section.class-description {
+ line-height: 1.4;
+}
+.summary section[class$="-summary"], .details section[class$="-details"],
+.class-uses .detail, .serialized-class-details {
+ padding: 0 20px 5px 10px;
+ border: 1px solid var(--border-color);
+ background-color: var(--section-background-color);
+}
+.inherited-list, section[class$="-details"] .detail {
+ padding:0 0 5px 8px;
+ background-color:var(--detail-background-color);
+ border:none;
+}
+.vertical-separator {
+ padding: 0 5px;
+}
+ul.help-section-list {
+ margin: 0;
+}
+ul.help-subtoc > li {
+ display: inline-block;
+ padding-right: 5px;
+ font-size: smaller;
+}
+ul.help-subtoc > li::before {
+ content: "\2022" ;
+ padding-right:2px;
+}
+.help-note {
+ font-style: italic;
+}
+/*
+ * Indicator icon for external links.
+ */
+main a[href*="://"]::after {
+ content:"";
+ display:inline-block;
+ background-image:url('data:image/svg+xml; utf8, \
+ ');
+ background-size:100% 100%;
+ width:7px;
+ height:7px;
+ margin-left:2px;
+ margin-bottom:4px;
+}
+main a[href*="://"]:hover::after,
+main a[href*="://"]:focus::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ ');
+}
+/*
+ * Styles for header/section anchor links
+ */
+a.anchor-link {
+ opacity: 0;
+ transition: opacity 0.1s;
+}
+:hover > a.anchor-link {
+ opacity: 80%;
+}
+a.anchor-link:hover,
+a.anchor-link:focus-visible,
+a.anchor-link.visible {
+ opacity: 100%;
+}
+a.anchor-link > img {
+ width: 0.9em;
+ height: 0.9em;
+}
+/*
+ * Styles for copy-to-clipboard buttons
+ */
+button.copy {
+ opacity: 70%;
+ border: none;
+ border-radius: 3px;
+ position: relative;
+ background:none;
+ transition: opacity 0.3s;
+ cursor: pointer;
+}
+:hover > button.copy {
+ opacity: 80%;
+}
+button.copy:hover,
+button.copy:active,
+button.copy:focus-visible,
+button.copy.visible {
+ opacity: 100%;
+}
+button.copy img {
+ position: relative;
+ background: none;
+ filter: brightness(var(--copy-icon-brightness));
+}
+button.copy:active {
+ background-color: var(--copy-button-background-color-active);
+}
+button.copy span {
+ color: var(--body-text-color);
+ position: relative;
+ top: -0.1em;
+ transition: all 0.1s;
+ font-size: 0.76rem;
+ line-height: 1.2em;
+ opacity: 0;
+}
+button.copy:hover span,
+button.copy:focus-visible span,
+button.copy.visible span {
+ opacity: 100%;
+}
+/* search page copy button */
+button#page-search-copy {
+ margin-left: 0.4em;
+ padding:0.3em;
+ top:0.13em;
+}
+button#page-search-copy img {
+ width: 1.2em;
+ height: 1.2em;
+ padding: 0.01em 0;
+ top: 0.15em;
+}
+button#page-search-copy span {
+ color: var(--body-text-color);
+ line-height: 1.2em;
+ padding: 0.2em;
+ top: -0.18em;
+}
+div.page-search-info:hover button#page-search-copy span {
+ opacity: 100%;
+}
+/* snippet copy button */
+button.snippet-copy {
+ position: absolute;
+ top: 6px;
+ right: 6px;
+ height: 1.7em;
+ padding: 2px;
+}
+button.snippet-copy img {
+ width: 18px;
+ height: 18px;
+ padding: 0.05em 0;
+}
+button.snippet-copy span {
+ line-height: 1.2em;
+ padding: 0.2em;
+ position: relative;
+ top: -0.5em;
+}
+div.snippet-container:hover button.snippet-copy span {
+ opacity: 100%;
+}
+/*
+ * Styles for user-provided tables.
+ *
+ * borderless:
+ * No borders, vertical margins, styled caption.
+ * This style is provided for use with existing doc comments.
+ * In general, borderless tables should not be used for layout purposes.
+ *
+ * plain:
+ * Plain borders around table and cells, vertical margins, styled caption.
+ * Best for small tables or for complex tables for tables with cells that span
+ * rows and columns, when the "striped" style does not work well.
+ *
+ * striped:
+ * Borders around the table and vertical borders between cells, striped rows,
+ * vertical margins, styled caption.
+ * Best for tables that have a header row, and a body containing a series of simple rows.
+ */
+
+table.borderless,
+table.plain,
+table.striped {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+table.borderless > caption,
+table.plain > caption,
+table.striped > caption {
+ font-weight: bold;
+ font-size: smaller;
+}
+table.borderless th, table.borderless td,
+table.plain th, table.plain td,
+table.striped th, table.striped td {
+ padding: 2px 5px;
+}
+table.borderless,
+table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
+table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
+ border: none;
+}
+table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
+ background-color: transparent;
+}
+table.plain {
+ border-collapse: collapse;
+ border: 1px solid var(--table-border-color);
+}
+table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
+ background-color: transparent;
+}
+table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
+table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
+ border: 1px solid var(--table-border-color);
+}
+table.striped {
+ border-collapse: collapse;
+ border: 1px solid var(--table-border-color);
+}
+table.striped > thead {
+ background-color: var(--subnav-background-color);
+}
+table.striped > thead > tr > th, table.striped > thead > tr > td {
+ border: 1px solid var(--table-border-color);
+}
+table.striped > tbody > tr:nth-child(even) {
+ background-color: var(--odd-row-color)
+}
+table.striped > tbody > tr:nth-child(odd) {
+ background-color: var(--even-row-color)
+}
+table.striped > tbody > tr > th, table.striped > tbody > tr > td {
+ border-left: 1px solid var(--table-border-color);
+ border-right: 1px solid var(--table-border-color);
+}
+table.striped > tbody > tr > th {
+ font-weight: normal;
+}
+/**
+ * Tweak style for small screens.
+ */
+@media screen and (max-width: 920px) {
+ header.flex-header {
+ max-height: 100vh;
+ overflow-y: auto;
+ }
+ div#navbar-top {
+ height: 2.8em;
+ transition: height 0.35s ease;
+ }
+ ul.nav-list {
+ display: block;
+ width: 40%;
+ float:left;
+ clear: left;
+ margin: 10px 0 0 0;
+ padding: 0;
+ }
+ ul.nav-list li {
+ float: none;
+ padding: 6px;
+ margin-left: 10px;
+ margin-top: 2px;
+ }
+ ul.sub-nav-list-small {
+ display:block;
+ height: 100%;
+ width: 50%;
+ float: right;
+ clear: right;
+ background-color: var(--subnav-background-color);
+ color: var(--body-text-color);
+ margin: 6px 0 0 0;
+ padding: 0;
+ }
+ ul.sub-nav-list-small ul {
+ padding-left: 20px;
+ }
+ ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited {
+ color:var(--link-color);
+ }
+ ul.sub-nav-list-small a:hover {
+ color:var(--link-color-active);
+ }
+ ul.sub-nav-list-small li {
+ list-style:none;
+ float:none;
+ padding: 6px;
+ margin-top: 1px;
+ text-transform:uppercase;
+ }
+ ul.sub-nav-list-small > li {
+ margin-left: 10px;
+ }
+ ul.sub-nav-list-small li p {
+ margin: 5px 0;
+ }
+ div#navbar-sub-list {
+ display: none;
+ }
+ .top-nav a:link, .top-nav a:active, .top-nav a:visited {
+ display: block;
+ }
+ button#navbar-toggle-button {
+ width: 3.4em;
+ height: 2.8em;
+ background-color: transparent;
+ display: block;
+ float: left;
+ border: 0;
+ margin: 0 10px;
+ cursor: pointer;
+ font-size: 10px;
+ }
+ button#navbar-toggle-button .nav-bar-toggle-icon {
+ display: block;
+ width: 24px;
+ height: 3px;
+ margin: 1px 0 4px 0;
+ border-radius: 2px;
+ transition: all 0.1s;
+ background-color: var(--navbar-text-color);
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) {
+ transform: rotate(45deg);
+ transform-origin: 10% 10%;
+ width: 26px;
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) {
+ opacity: 0;
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) {
+ transform: rotate(-45deg);
+ transform-origin: 10% 90%;
+ width: 26px;
+ }
+}
+@media screen and (max-width: 800px) {
+ .about-language {
+ padding-right: 16px;
+ }
+ ul.nav-list li {
+ margin-left: 5px;
+ }
+ ul.sub-nav-list-small > li {
+ margin-left: 5px;
+ }
+ main {
+ padding: 10px;
+ }
+ .summary section[class$="-summary"], .details section[class$="-details"],
+ .class-uses .detail, .serialized-class-details {
+ padding: 0 8px 5px 8px;
+ }
+ body {
+ -webkit-text-size-adjust: none;
+ }
+}
+@media screen and (max-width: 400px) {
+ .about-language {
+ font-size: 10px;
+ padding-right: 12px;
+ }
+}
+@media screen and (max-width: 400px) {
+ .nav-list-search {
+ width: 94%;
+ }
+ #search-input, #page-search-input {
+ width: 70%;
+ }
+}
+@media screen and (max-width: 320px) {
+ .nav-list-search > label {
+ display: none;
+ }
+ .nav-list-search {
+ width: 90%;
+ }
+ #search-input, #page-search-input {
+ width: 80%;
+ }
+}
+
+pre.snippet {
+ background-color: var(--snippet-background-color);
+ color: var(--snippet-text-color);
+ padding: 10px;
+ margin: 12px 0;
+ overflow: auto;
+ white-space: pre;
+}
+div.snippet-container {
+ position: relative;
+}
+@media screen and (max-width: 800px) {
+ pre.snippet {
+ padding-top: 26px;
+ }
+ button.snippet-copy {
+ top: 4px;
+ right: 4px;
+ }
+}
+pre.snippet .italic {
+ font-style: italic;
+}
+pre.snippet .bold {
+ font-weight: bold;
+}
+pre.snippet .highlighted {
+ background-color: var(--snippet-highlight-color);
+ border-radius: 10%;
+}
diff --git a/SMIMS-Game/images/Background.png b/SMIMS-Game/images/Background.png
new file mode 100644
index 0000000..b564308
Binary files /dev/null and b/SMIMS-Game/images/Background.png differ
diff --git a/SMIMS-Game/images/GameBackground.png b/SMIMS-Game/images/GameBackground.png
new file mode 100644
index 0000000..602af0a
Binary files /dev/null and b/SMIMS-Game/images/GameBackground.png differ
diff --git a/SMIMS-Game/images/GameOverBackground.png b/SMIMS-Game/images/GameOverBackground.png
new file mode 100644
index 0000000..d743309
Binary files /dev/null and b/SMIMS-Game/images/GameOverBackground.png differ
diff --git a/SMIMS-Game/images/Neustart.png b/SMIMS-Game/images/Neustart.png
new file mode 100644
index 0000000..26e2b95
Binary files /dev/null and b/SMIMS-Game/images/Neustart.png differ
diff --git a/SMIMS-Game/images/Start.png b/SMIMS-Game/images/Start.png
new file mode 100644
index 0000000..1928fd2
Binary files /dev/null and b/SMIMS-Game/images/Start.png differ
diff --git a/SMIMS-Game/images/StartBackground.png b/SMIMS-Game/images/StartBackground.png
new file mode 100644
index 0000000..34bdc9b
Binary files /dev/null and b/SMIMS-Game/images/StartBackground.png differ
diff --git a/SMIMS-Game/images/button-red.png b/SMIMS-Game/images/button-red.png
new file mode 100644
index 0000000..4720338
Binary files /dev/null and b/SMIMS-Game/images/button-red.png differ
diff --git a/SMIMS-Game/images/wet-blue.jpg b/SMIMS-Game/images/wet-blue.jpg
new file mode 100644
index 0000000..dee45fa
Binary files /dev/null and b/SMIMS-Game/images/wet-blue.jpg differ
diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot
index 73e93c0..85b2fea 100644
--- a/SMIMS-Game/project.greenfoot
+++ b/SMIMS-Game/project.greenfoot
@@ -1,19 +1,42 @@
#Greenfoot project file
+class.Button.image=button-red.png
+class.GameOverWorld.image=GameOverBackground.png
class.Ground.image=weave.jpg
+class.MyWorld.image=GameBackground.png
class.Player.image=ppl2.png
-dependency1.from=MyWorld
-dependency1.to=Player
+class.Projectile.image=Projectile1.png
+class.StartWorld.image=StartBackground.png
+dependency1.from=GameOverWorld
+dependency1.to=Button
dependency1.type=UsesDependency
-dependency2.from=Player
-dependency2.to=Ground
+dependency2.from=StartWorld
+dependency2.to=Button
dependency2.type=UsesDependency
-editor.fx.0.height=0
-editor.fx.0.width=0
-editor.fx.0.x=0
-editor.fx.0.y=0
+dependency3.from=MyWorld
+dependency3.to=Player
+dependency3.type=UsesDependency
+dependency4.from=MyWorld
+dependency4.to=Projectile
+dependency4.type=UsesDependency
+dependency5.from=Player
+dependency5.to=GameOverWorld
+dependency5.type=UsesDependency
+dependency6.from=Player
+dependency6.to=Ground
+dependency6.type=UsesDependency
+dependency7.from=Player
+dependency7.to=Projectile
+dependency7.type=UsesDependency
+dependency8.from=Button
+dependency8.to=MyWorld
+dependency8.type=UsesDependency
+editor.fx.0.height=737
+editor.fx.0.width=814
+editor.fx.0.x=-19
+editor.fx.0.y=65
height=736
-package.numDependencies=2
-package.numTargets=3
+package.numDependencies=8
+package.numTargets=7
project.charset=UTF-8
publish.hasSource=false
publish.locked=true
@@ -43,14 +66,42 @@ target2.width=120
target2.x=0
target2.y=0
target3.height=70
-target3.name=MyWorld
+target3.name=Button
target3.showInterface=false
target3.type=ClassTarget
target3.width=120
target3.x=0
target3.y=0
+target4.height=70
+target4.name=GameOverWorld
+target4.showInterface=false
+target4.type=ClassTarget
+target4.width=120
+target4.x=0
+target4.y=0
+target5.height=70
+target5.name=StartWorld
+target5.showInterface=false
+target5.type=ClassTarget
+target5.width=120
+target5.x=0
+target5.y=0
+target6.height=70
+target6.name=MyWorld
+target6.showInterface=false
+target6.type=ClassTarget
+target6.width=120
+target6.x=0
+target6.y=0
+target7.height=70
+target7.name=Projectile
+target7.showInterface=false
+target7.type=ClassTarget
+target7.width=120
+target7.x=0
+target7.y=0
version=3.1.0
width=856
-world.lastInstantiated=MyWorld
+world.lastInstantiated=StartWorld
xPosition=652
yPosition=76