From fafb1cc7406c63aa7d20660075727f0418907d87 Mon Sep 17 00:00:00 2001 From: "Dr. Martin Goik" <goik@pdc1.srv.mi.hdm-stuttgart.de> Date: Wed, 18 Mar 2015 22:01:30 +0100 Subject: [PATCH] Make re-ordering, encoding --> UTF-8 --- Makefile | 2 +- P/Sd1/crab/V1/.gitignore | 4 - P/Sd1/crab/V1/pom.xml | 52 ----------- P/Sd1/crab/V1/src/main/java/Animal.java | 80 ---------------- P/Sd1/crab/V1/src/main/java/Crab.java | 89 ------------------ P/Sd1/crab/V1/src/main/java/CrabWorld.java | 64 ------------- P/Sd1/crab/V1/src/main/java/Lobster.java | 69 -------------- P/Sd1/crab/V1/src/main/java/Worm.java | 7 -- P/Sd1/crab/V1/src/test/java/.ignore | 0 P/Sd1/crab/V2/.gitignore | 4 - P/Sd1/crab/V2/pom.xml | 54 ----------- P/Sd1/crab/V2/src/main/java/Animal.java | 85 ----------------- P/Sd1/crab/V2/src/main/java/Crab.java | 89 ------------------ P/Sd1/crab/V2/src/main/java/CrabWorld.java | 91 ------------------- P/Sd1/crab/V2/src/main/java/Lobster.java | 69 -------------- P/Sd1/crab/V2/src/main/java/Worm.java | 7 -- P/Sd1/crab/V2/src/test/java/.gitignore | 0 .../webapp/VAADIN/themes/mytheme/styles.css | 22 ++--- P/pom.xml | 3 - pom.xml | 4 + 20 files changed, 16 insertions(+), 779 deletions(-) delete mode 100644 P/Sd1/crab/V1/.gitignore delete mode 100644 P/Sd1/crab/V1/pom.xml delete mode 100644 P/Sd1/crab/V1/src/main/java/Animal.java delete mode 100644 P/Sd1/crab/V1/src/main/java/Crab.java delete mode 100644 P/Sd1/crab/V1/src/main/java/CrabWorld.java delete mode 100644 P/Sd1/crab/V1/src/main/java/Lobster.java delete mode 100644 P/Sd1/crab/V1/src/main/java/Worm.java delete mode 100644 P/Sd1/crab/V1/src/test/java/.ignore delete mode 100644 P/Sd1/crab/V2/.gitignore delete mode 100644 P/Sd1/crab/V2/pom.xml delete mode 100644 P/Sd1/crab/V2/src/main/java/Animal.java delete mode 100644 P/Sd1/crab/V2/src/main/java/Crab.java delete mode 100644 P/Sd1/crab/V2/src/main/java/CrabWorld.java delete mode 100644 P/Sd1/crab/V2/src/main/java/Lobster.java delete mode 100644 P/Sd1/crab/V2/src/main/java/Worm.java delete mode 100644 P/Sd1/crab/V2/src/test/java/.gitignore diff --git a/Makefile b/Makefile index f681d2f10..15a85fb7b 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ SHELL = /bin/bash DOCMODULES = Sd1 Sda1 Sda2 doc: - cd Doc;$(MAKE) -j8 all + cd Doc;$(MAKE) -j24 all all:doc mvn --fail-at-end install diff --git a/P/Sd1/crab/V1/.gitignore b/P/Sd1/crab/V1/.gitignore deleted file mode 100644 index 4e247eee2..000000000 --- a/P/Sd1/crab/V1/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.settings -/target -/.classpath -/.project diff --git a/P/Sd1/crab/V1/pom.xml b/P/Sd1/crab/V1/pom.xml deleted file mode 100644 index a06fd6ec8..000000000 --- a/P/Sd1/crab/V1/pom.xml +++ /dev/null @@ -1,52 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>lecturenotes-pom</artifactId> - <version>1.0</version> - <relativePath>../../../pom.xml</relativePath> - </parent> - - <groupId>de.hdm-stuttgart.mi.sd1</groupId> - <artifactId>crab</artifactId> - <version>0.0.1-SNAPSHOT</version> - <packaging>jar</packaging> - - <name>crab</name> - - <build> - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.9.1</version> - <configuration> - <linksource>true</linksource> - <links> - <link>http://www.greenfoot.org/files/javadoc/</link> - </links> - <additionalDependencies> - <additionalDependency> - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>greenfoot</artifactId> - <version>2.3.0</version> - </additionalDependency> - </additionalDependencies> - </configuration> - </plugin> - </plugins> - - </build> - - <dependencies> - <dependency> - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>greenfoot</artifactId> - <version>2.3.0</version> - </dependency> - </dependencies> - -</project> diff --git a/P/Sd1/crab/V1/src/main/java/Animal.java b/P/Sd1/crab/V1/src/main/java/Animal.java deleted file mode 100644 index 8a8c79ea2..000000000 --- a/P/Sd1/crab/V1/src/main/java/Animal.java +++ /dev/null @@ -1,80 +0,0 @@ -import greenfoot.Actor; - -/** - * Animal. This is the base class for all animals. In addition to the standard - * Actor methods, it provides the ability to move and turn. - * - * @author Michael Kolling - * @version 1.0 - */ -public class Animal extends Actor { - private static final double WALKING_SPEED = 5.0; - - /** - * Constructor for Animal - nothing to do. - */ - public Animal() { - } - - /** - * Act - empty method. Animals have no default action. - */ - public void act() { - } - - /** - * Turn 'angle' degrees towards the right (clockwise). - */ - public void turn(int angle) { - setRotation(getRotation() + angle); - } - - /** - * Move forward in the current direction. - */ - public void move() { - double angle = Math.toRadians(getRotation()); - int x = (int) Math.round(getX() + Math.cos(angle) * WALKING_SPEED); - int y = (int) Math.round(getY() + Math.sin(angle) * WALKING_SPEED); - - setLocation(x, y); - } - - /** - * Test if we are close to one of the edges of the world. Return true is we - * are. - * @return true, if we are at our world's edge, false otherwise - */ - public boolean atWorldEdge() { - if (getX() < 20 || getX() > getWorld().getWidth() - 20) - return true; - if (getY() < 20 || getY() > getWorld().getHeight() - 20) - return true; - else - return false; - } - - /** - * Return true if we can see an object of class 'clss' right where we are. - * False if there is no such object here. - * @param clss The type of object to look for - * @return true, if any object can be seen, false otherwise - */ - public boolean canSee(Class<?> clss) { - Actor actor = getOneObjectAtOffset(0, 0, clss); - return actor != null; - } - - /** - * Try to eat an object of class 'clss'. This is only successful if there is - * such an object where we currently are. Otherwise this method does - * nothing. - * @param clss The type of object to eat. - */ - public void eat(Class<?> clss) { - Actor actor = getOneObjectAtOffset(0, 0, clss); - if (actor != null) { - getWorld().removeObject(actor); - } - } -} diff --git a/P/Sd1/crab/V1/src/main/java/Crab.java b/P/Sd1/crab/V1/src/main/java/Crab.java deleted file mode 100644 index 56ac98f4a..000000000 --- a/P/Sd1/crab/V1/src/main/java/Crab.java +++ /dev/null @@ -1,89 +0,0 @@ -import greenfoot.Actor; -import greenfoot.Greenfoot; -import greenfoot.GreenfootImage; // (World, Actor, GreenfootImage, and Greenfoot) - -/** - * This class defines a crab. Crabs live on the beach. They like sand worms - * (very yummy, especially the green ones). - * - */ - -public class Crab extends Animal { - - private final static GreenfootImage image1 = new GreenfootImage("crab.png"); - private GreenfootImage image2 = new GreenfootImage("crab2.png"); - private int wormsEaten; - - // Initialize a crab's two images. - private void commonConstructor(int rotation) { - setRotation(rotation); - setImage(image1); - wormsEaten = 0; - } - - /** - * Create a crab. - */ - public Crab() { - commonConstructor(0); - } - - /** - * @param rotation See {@link Actor#setRotation(int)} - */ - public Crab(int rotation) { - commonConstructor(rotation); - } - - /** - * Act - do whatever the crab wants to do. This method is called whenever the - * 'Act' or 'Run' button gets pressed in the environment. - */ - public void act() { - checkKeypress(); - move(); - lookForWorm(); - switchImage(); - } - - /** - * Alternate the crab's image between image1 and image2. - */ - public void switchImage() { - if (getImage() == image1) { - setImage(image2); - } else { - setImage(image1); - } - } - - /** - * Check whether a control key on the keyboard has been pressed. If it has, - * react accordingly. - */ - public void checkKeypress() { - if (Greenfoot.isKeyDown("left")) { - turn(-4); - } - if (Greenfoot.isKeyDown("right")) { - turn(4); - } - } - - /** - * Check whether we have stumbled upon a worm. If we have, eat it. If not, do - * nothing. If we have eaten eight worms, we win. - */ - public void lookForWorm() { - if (canSee(Worm.class)) { - eat(Worm.class); - Greenfoot.playSound("slurp.wav"); - - wormsEaten = wormsEaten + 1; - if (wormsEaten == 8) { - Greenfoot.playSound("fanfare.wav"); - Greenfoot.stop(); - } - } - } -} \ No newline at end of file diff --git a/P/Sd1/crab/V1/src/main/java/CrabWorld.java b/P/Sd1/crab/V1/src/main/java/CrabWorld.java deleted file mode 100644 index 37ea26b9b..000000000 --- a/P/Sd1/crab/V1/src/main/java/CrabWorld.java +++ /dev/null @@ -1,64 +0,0 @@ -import greenfoot.Greenfoot; -import greenfoot.World; // imports Actor, World, Greenfoot, GreenfootImage - -/** - * A crab's world of configurable size and other nifty - * features. - * - */ -public class CrabWorld extends World { - - private final static int // Width and height of our - worldWidth = 700, // crab's world. - worldHeight = 560, - - initialLobsterCount = 3, - initialWormCount = 10; - - /** - * @return A random x-coordinate ranging from 0 to the worlds's width in pixel units - * - 1. A width of e.g. 100 sets the range to {0, 1,..., 99}. - */ - public static int getRandomX() { - return Greenfoot.getRandomNumber(worldWidth); - } - - /** - * @return A random y-ccordinate ranging from 0 to the worlds's height in pixel - * units - 1. A height of e.g. 70 sets the range to {0, 1,..., 69}. - */ - public static int getRandomY() { - return Greenfoot.getRandomNumber(worldHeight); - } - - /** - * @return A random rotation within the range [0, 1, ..., 360[. - */ - public static int getRandomRotation() { - return Greenfoot.getRandomNumber(360); - } - - /** - * Create the crab world (the beach). Every cell of our world is just 1 pixel. - */ - public CrabWorld() { - super(worldWidth, worldHeight, 1); - populateWorld(); - } - - /** - * Create the objects for the start of the game. - */ - public void populateWorld() { - addObject(new Crab(getRandomRotation()), getRandomX(), getRandomY()); - - // Creating lobsters. - for (int i = 0; i < initialLobsterCount; i++) { - addObject(new Lobster(getRandomRotation()), getRandomX(), getRandomY()); - } - // Creating worms. - for (int i = 0; i < initialWormCount; i++) { - addObject(new Worm(), getRandomX(), getRandomY()); - } - } -} \ No newline at end of file diff --git a/P/Sd1/crab/V1/src/main/java/Lobster.java b/P/Sd1/crab/V1/src/main/java/Lobster.java deleted file mode 100644 index 2a6779dca..000000000 --- a/P/Sd1/crab/V1/src/main/java/Lobster.java +++ /dev/null @@ -1,69 +0,0 @@ -import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot) - -/** - * A lobster. Lobsters live on the beach. They like to eat crabs. (Well, in our - * game they do...) - * - * Version: 2 - * - * The lobster walks around randomly. If it runs into a crab it eats it. In this - * version, we have added a sound effect, and the game stops when a lobster eats - * the crab. - */ - -public class Lobster extends Animal { - - /** - * Defaults - */ - public Lobster() {} - - /** - * @param rotation See {@link Actor#setRotation(int)} - */ - public Lobster(int rotation) { - setRotation(rotation); - } - - /** - * Do whatever lobsters do. - */ - public void act() { - turnAtEdge(); - randomTurn(); - move(); - lookForCrab(); - } - - /** - * Check whether we are at the edge of the world. If we are, turn a bit. If - * not, do nothing. - */ - public void turnAtEdge() { - if (atWorldEdge()) { - turn(17); - } - } - - /** - * Randomly decide to turn from the current direction, or not. If we turn turn - * a bit left or right by a random degree. - */ - public void randomTurn() { - if (Greenfoot.getRandomNumber(100) > 90) { - turn(Greenfoot.getRandomNumber(90) - 45); - } - } - - /** - * Try to pinch a crab. That is: check whether we have stumbled upon a crab. - * If we have, remove the crab from the game, and stop the program running. - */ - public void lookForCrab() { - if (canSee(Crab.class)) { - eat(Crab.class); - Greenfoot.playSound("au.wav"); - Greenfoot.stop(); - } - } -} \ No newline at end of file diff --git a/P/Sd1/crab/V1/src/main/java/Worm.java b/P/Sd1/crab/V1/src/main/java/Worm.java deleted file mode 100644 index 5cbd9f17c..000000000 --- a/P/Sd1/crab/V1/src/main/java/Worm.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Worm. A sand worm. Very yummy. Especially crabs really like it. Author: - * Michael Kolling - */ -public class Worm extends Animal { - -} \ No newline at end of file diff --git a/P/Sd1/crab/V1/src/test/java/.ignore b/P/Sd1/crab/V1/src/test/java/.ignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/P/Sd1/crab/V2/.gitignore b/P/Sd1/crab/V2/.gitignore deleted file mode 100644 index c708c363d..000000000 --- a/P/Sd1/crab/V2/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/target -/.settings -/.classpath -/.project diff --git a/P/Sd1/crab/V2/pom.xml b/P/Sd1/crab/V2/pom.xml deleted file mode 100644 index 288e64c92..000000000 --- a/P/Sd1/crab/V2/pom.xml +++ /dev/null @@ -1,54 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>lecturenotes-pom</artifactId> - <version>1.0</version> - <relativePath>../../../pom.xml</relativePath> - </parent> - - <groupId>de.hdm-stuttgart.mi.sd1</groupId> - <artifactId>crab</artifactId> - <version>2.0</version> - <packaging>jar</packaging> - - <name>crab</name> - - <build> - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.9.1</version> - <configuration> - <linksource>true</linksource> - <links> - <link>http://www.greenfoot.org/files/javadoc/</link> - </links> - <additionalDependencies> - <additionalDependency> - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>greenfoot</artifactId> - <version>2.3.0</version> - </additionalDependency> - </additionalDependencies> - - </configuration> - </plugin> - </plugins> - - </build> - - <dependencies> - - <dependency> - <groupId>de.hdm-stuttgart.mi</groupId> - <artifactId>greenfoot</artifactId> - <version>2.3.0</version> - </dependency> - - </dependencies> -</project> diff --git a/P/Sd1/crab/V2/src/main/java/Animal.java b/P/Sd1/crab/V2/src/main/java/Animal.java deleted file mode 100644 index 69e477c3c..000000000 --- a/P/Sd1/crab/V2/src/main/java/Animal.java +++ /dev/null @@ -1,85 +0,0 @@ -import greenfoot.Actor; - -/** - * Animal. This is the base class for all animals. In addition to the standard - * Actor methods, it provides the ability to move and turn. - * - * @author Michael Kolling - * @version 1.0 - */ -public class Animal extends Actor { - private static final double WALKING_SPEED = 5.0; - - /** - * Constructor for Animal - nothing to do. - */ - public Animal() { - } - - /** - * Act - empty method. Animals have no default action. - */ - public void act() { - } - - /** - * Turn 'angle' degrees towards the right (clockwise). - */ - public void turn(int angle) { - setRotation(getRotation() + angle); - } - - /** - * Move forward in the current direction. - */ - public void move() { - double angle = Math.toRadians(getRotation()); - int x = (int) Math.round(getX() + Math.cos(angle) * WALKING_SPEED); - int y = (int) Math.round(getY() + Math.sin(angle) * WALKING_SPEED); - - setLocation(x, y); - } - - /** - * Test if we are close to one of the edges of the world. - * - * @return true if we are closer than 20 pixel to one - * of the world's edges, false otherwise. - * - */ - public boolean atWorldEdge() { - if (getX() < 20 || getX() > getWorld().getWidth() - 20) - return true; - if (getY() < 20 || getY() > getWorld().getHeight() - 20) - return true; - else - return false; - } - - /** - * - * @param clss Are we able to see an object exactly at our position? - * - * @return true if we can see an object of class 'clss' right where we are. - * false if there is no such object here. - */ - public boolean canSee(Class<?> clss) { - Actor actor = getOneObjectAtOffset(0, 0, clss); - return actor != null; - } - - /** - * Try to eat an object of class 'clss'. This is only successful if there is - * such an object where we currently are. Only one such - * object will be eaten. If no object of the given class is being found - * nothing happens at all. - * - * @param clss The type of object to be hunted for having dinner. - */ - public void eat(Class<?> clss) { - Actor actor = getOneObjectAtOffset(0, 0, clss); - if (actor != null) { - getWorld().removeObject(actor); - } - } -} diff --git a/P/Sd1/crab/V2/src/main/java/Crab.java b/P/Sd1/crab/V2/src/main/java/Crab.java deleted file mode 100644 index 56ac98f4a..000000000 --- a/P/Sd1/crab/V2/src/main/java/Crab.java +++ /dev/null @@ -1,89 +0,0 @@ -import greenfoot.Actor; -import greenfoot.Greenfoot; -import greenfoot.GreenfootImage; // (World, Actor, GreenfootImage, and Greenfoot) - -/** - * This class defines a crab. Crabs live on the beach. They like sand worms - * (very yummy, especially the green ones). - * - */ - -public class Crab extends Animal { - - private final static GreenfootImage image1 = new GreenfootImage("crab.png"); - private GreenfootImage image2 = new GreenfootImage("crab2.png"); - private int wormsEaten; - - // Initialize a crab's two images. - private void commonConstructor(int rotation) { - setRotation(rotation); - setImage(image1); - wormsEaten = 0; - } - - /** - * Create a crab. - */ - public Crab() { - commonConstructor(0); - } - - /** - * @param rotation See {@link Actor#setRotation(int)} - */ - public Crab(int rotation) { - commonConstructor(rotation); - } - - /** - * Act - do whatever the crab wants to do. This method is called whenever the - * 'Act' or 'Run' button gets pressed in the environment. - */ - public void act() { - checkKeypress(); - move(); - lookForWorm(); - switchImage(); - } - - /** - * Alternate the crab's image between image1 and image2. - */ - public void switchImage() { - if (getImage() == image1) { - setImage(image2); - } else { - setImage(image1); - } - } - - /** - * Check whether a control key on the keyboard has been pressed. If it has, - * react accordingly. - */ - public void checkKeypress() { - if (Greenfoot.isKeyDown("left")) { - turn(-4); - } - if (Greenfoot.isKeyDown("right")) { - turn(4); - } - } - - /** - * Check whether we have stumbled upon a worm. If we have, eat it. If not, do - * nothing. If we have eaten eight worms, we win. - */ - public void lookForWorm() { - if (canSee(Worm.class)) { - eat(Worm.class); - Greenfoot.playSound("slurp.wav"); - - wormsEaten = wormsEaten + 1; - if (wormsEaten == 8) { - Greenfoot.playSound("fanfare.wav"); - Greenfoot.stop(); - } - } - } -} \ No newline at end of file diff --git a/P/Sd1/crab/V2/src/main/java/CrabWorld.java b/P/Sd1/crab/V2/src/main/java/CrabWorld.java deleted file mode 100644 index 4bbc69fb5..000000000 --- a/P/Sd1/crab/V2/src/main/java/CrabWorld.java +++ /dev/null @@ -1,91 +0,0 @@ -import greenfoot.Greenfoot; -import greenfoot.World; // imports Actor, World, Greenfoot, GreenfootImage - -/** - * A crab's world of configurable size and other nifty - * features. - * - */ -public class CrabWorld extends World { - - private final static int - worldWidth = 700, // Width and height of - worldHeight = 560, // our crab's world. - - initialLobsterCount = 3, // Start a game with these numbers - initialWormCount = 10, // of lobsters and worms. - - minimalLobsterCrabDistance = 100; // The minimal distance from our crab to - // any lobster when starting the game. - - /** - * @return A random x-coordinate ranging from 0 to the worlds's width in pixel units - * - 1. A width of e.g. 100 sets the range to {0, 1,..., 99}. - */ - public static int getRandomX() { - return Greenfoot.getRandomNumber(worldWidth); - } - - /** - * @return A random y-ccordinate ranging from 0 to the worlds's height in pixel - * units - 1. A height of e.g. 70 sets the range to {0, 1,..., 69}. - */ - public static int getRandomY() { - return Greenfoot.getRandomNumber(worldHeight); - } - - /** - * @return A random rotation within the range [0, 1, ..., 360[. - */ - public static int getRandomRotation() { - return Greenfoot.getRandomNumber(360); - } - - /** - * Create the crab world (the beach). Every cell of our world is just 1 pixel. - */ - public CrabWorld() { - super(worldWidth, worldHeight, 1); - populateWorld(); - } - - /** - * Create the objects for the start of the game. - */ - public void populateWorld() { - - final int crabX = getRandomX(), // Our crab's initial (x|y) coordinates are - crabY = getRandomY(); // needed for later calculations, see below. - - // Create our crab. - addObject(new Crab(getRandomRotation()), crabX, crabY); - - // Creating lobsters. - int numLobsters = 0; - while (numLobsters < initialLobsterCount) { // We use a while loop instead of for since - // numLobsters gets incremented condionally. - - final int lobsterX = getRandomX(), // Potential lobster's position - lobsterY = getRandomY(), // at (lobsterX|lobsterY). - deltaX = lobsterX - crabX, - deltaY = lobsterY - crabY; - - // Pythagoras is talking to us. Do you listen? If you can't hear him, take a pencil - // and a sheet of paper to sketch the problem's geometry. - // - // We only add a lobster at coordinate position (lobsterX|lobsterY) if - // its distance to our crab is sufficiently large. - // - if (minimalLobsterCrabDistance * minimalLobsterCrabDistance < // Distance between lobster and crab is - deltaX * deltaX + deltaY * deltaY) { // larger than minimalLobsterCrabDistance. - addObject(new Lobster(getRandomRotation()), lobsterX, lobsterY); - numLobsters++; - } - } - - // Creating worms. Easy: No conditions apply. - for (int i = 0; i < initialWormCount; i++) { - addObject(new Worm(), getRandomX(), getRandomY()); - } - } -} \ No newline at end of file diff --git a/P/Sd1/crab/V2/src/main/java/Lobster.java b/P/Sd1/crab/V2/src/main/java/Lobster.java deleted file mode 100644 index 2a6779dca..000000000 --- a/P/Sd1/crab/V2/src/main/java/Lobster.java +++ /dev/null @@ -1,69 +0,0 @@ -import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot) - -/** - * A lobster. Lobsters live on the beach. They like to eat crabs. (Well, in our - * game they do...) - * - * Version: 2 - * - * The lobster walks around randomly. If it runs into a crab it eats it. In this - * version, we have added a sound effect, and the game stops when a lobster eats - * the crab. - */ - -public class Lobster extends Animal { - - /** - * Defaults - */ - public Lobster() {} - - /** - * @param rotation See {@link Actor#setRotation(int)} - */ - public Lobster(int rotation) { - setRotation(rotation); - } - - /** - * Do whatever lobsters do. - */ - public void act() { - turnAtEdge(); - randomTurn(); - move(); - lookForCrab(); - } - - /** - * Check whether we are at the edge of the world. If we are, turn a bit. If - * not, do nothing. - */ - public void turnAtEdge() { - if (atWorldEdge()) { - turn(17); - } - } - - /** - * Randomly decide to turn from the current direction, or not. If we turn turn - * a bit left or right by a random degree. - */ - public void randomTurn() { - if (Greenfoot.getRandomNumber(100) > 90) { - turn(Greenfoot.getRandomNumber(90) - 45); - } - } - - /** - * Try to pinch a crab. That is: check whether we have stumbled upon a crab. - * If we have, remove the crab from the game, and stop the program running. - */ - public void lookForCrab() { - if (canSee(Crab.class)) { - eat(Crab.class); - Greenfoot.playSound("au.wav"); - Greenfoot.stop(); - } - } -} \ No newline at end of file diff --git a/P/Sd1/crab/V2/src/main/java/Worm.java b/P/Sd1/crab/V2/src/main/java/Worm.java deleted file mode 100644 index 5cbd9f17c..000000000 --- a/P/Sd1/crab/V2/src/main/java/Worm.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Worm. A sand worm. Very yummy. Especially crabs really like it. Author: - * Michael Kolling - */ -public class Worm extends Animal { - -} \ No newline at end of file diff --git a/P/Sd1/crab/V2/src/test/java/.gitignore b/P/Sd1/crab/V2/src/test/java/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/P/Sda2/forum_1/src/main/webapp/VAADIN/themes/mytheme/styles.css b/P/Sda2/forum_1/src/main/webapp/VAADIN/themes/mytheme/styles.css index 8bcf75fcd..daad9b139 100644 --- a/P/Sda2/forum_1/src/main/webapp/VAADIN/themes/mytheme/styles.css +++ b/P/Sda2/forum_1/src/main/webapp/VAADIN/themes/mytheme/styles.css @@ -5,7 +5,7 @@ * @param {value} $var - the value to search for * @param {bool} $recursive (false) - should any contained lists be checked for the value * - * @return {bool}��true if the value is found from the list, false otherwise + * @return {bool}??true if the value is found from the list, false otherwise * * @group lists */ @@ -258,7 +258,7 @@ * * @param {color} $color ($v-background-color) - The base color for the gradient color stops * @param {list} $gradient ($v-gradient) - Valo-specific gradient value. See the documentation for $v-gradient. - * @param {color}��$fallback (null) - A fallback color for browser which do not support linear gradients (IE8 and IE9 in particular). If null, the base $color is used instead. + * @param {color}??$fallback (null) - A fallback color for browser which do not support linear gradients (IE8 and IE9 in particular). If null, the base $color is used instead. * @param {string} $direction (to bottom) - the direction of the linear gradient. The color stops are by default so that a lighter shade is at the start and a darker shade is at the end. */ @@ -267,7 +267,7 @@ * * @group style * - * @param {list}��$border ($v-border) - CSS border value which can contain any of the color keywords + * @param {list}??$border ($v-border) - CSS border value which can contain any of the color keywords * @param {color} $color ($v-background-color) - the base color to which the color keywords are applied to * @param {color} $context (null) - context/surrounding color where the border is expected to appear. The color of the final border is the darker of the two parameters passed to this function. * @param {number} $strength (1) - adjustment for the border contrast @@ -280,7 +280,7 @@ * * @param {string} $to-align (()) - The selector to match the elements which you wish to align vertically. The targeted elements should be inline or inline-block elements. * @param {string} $align (middle) - The vertical-align value, e.g. top, middle, bottom - * @param {string}��$pseudo-element (after) - Which pseudo element to use for the vertical align guide + * @param {string}??$pseudo-element (after) - Which pseudo element to use for the vertical align guide * * @group util */ @@ -539,7 +539,7 @@ * Outputs the selectors and properties for the Accordion component. * * @param {string} $primary-stylename (v-accordion) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * @group accordion */ @@ -547,7 +547,7 @@ * Outputs the selectors and properties for the Button component. * * @param {string} $primary-stylename (v-button) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * * @group button */ @@ -570,7 +570,7 @@ * Outputs the selectors and properties for the CheckBox component. * * @param {string} $primary-stylename (v-checkbox) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * * @group checkbox */ @@ -588,7 +588,7 @@ * Outputs the selectors and properties for the ComboBox component. * * @param {string} $primary-stylename (v-filterselect) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * * @group combobox */ @@ -604,7 +604,7 @@ * Outputs the selectors and properties for the DateField component. * * @param {string} $primary-stylename (v-datefield) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * * @group datefield */ @@ -621,7 +621,7 @@ * Outputs the selectors and properties for the FormLayout component. * * @param {string} $primary-stylename (v-formlayout) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * * @group formlayout */ @@ -666,7 +666,7 @@ * Outputs the selectors and properties for the TextArea component. * * @param {string} $primary-stylename (v-textarea) - the primary style name for the selectors - * @param {bool}��$include-additional-styles - should the mixin output all the different style variations of the component + * @param {bool}??$include-additional-styles - should the mixin output all the different style variations of the component * * @group textarea */ diff --git a/P/pom.xml b/P/pom.xml index eb6901c5d..32d21e36b 100644 --- a/P/pom.xml +++ b/P/pom.xml @@ -47,9 +47,6 @@ <module>Sd1/interest/V1</module> <module>Sd1/interest/V2</module> - <module>Sd1/crab/V1</module> - <module>Sd1/crab/V2</module> - <module>Sd1/loop/answer</module> <module>Sd1/loop/question</module> diff --git a/pom.xml b/pom.xml index 37fbc45ce..c3f5b4b1b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,6 +3,10 @@ <project> <modelVersion>4.0.0</modelVersion> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + <groupId>de.hdm-stuttgart.mi</groupId> <artifactId>lecturenotes-base-pom</artifactId> <version>1.0</version> -- GitLab