diff options
Diffstat (limited to 'graphs/java/war')
7 files changed, 271 insertions, 0 deletions
diff --git a/graphs/java/war/.gitignore b/graphs/java/war/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/graphs/java/war/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store
\ No newline at end of file diff --git a/graphs/java/war/pom.xml b/graphs/java/war/pom.xml new file mode 100644 index 0000000..99cb248 --- /dev/null +++ b/graphs/java/war/pom.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + <groupId>fr.epita.assistants</groupId> + <artifactId>war</artifactId> + <version>1.0</version> + + <properties> + <versions.java>21</versions.java> + <versions.junit>5.9.1</versions.junit> + <versions.maven-compiler-plugin>3.13.0</versions.maven-compiler-plugin> + <versions.maven-surefire-plugin>3.5.0</versions.maven-surefire-plugin> + <versions.maven-jar-plugin>3.1.1</versions.maven-jar-plugin> + <versions.maven-install-plugin>3.1.0</versions.maven-install-plugin> + + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + + <surefire.reportsDirectory>${project.build.directory}/surefire-reports</surefire.reportsDirectory> + </properties> + + <dependencies> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter</artifactId> + <version>${versions.junit}</version> + </dependency> + <dependency> + <groupId>org.apache.maven.surefire</groupId> + <artifactId>surefire-junit-platform</artifactId> + <version>${versions.maven-surefire-plugin}</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-compat</artifactId> + <version>3.9.8</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>3.9.8</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-project</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>3.8.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-monitor</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-utils</artifactId> + <version>3.0.24</version> + </dependency> + <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-filtering</artifactId> + <version>3.3.2</version> + </dependency> + <dependency> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-interpolation</artifactId> + <version>1.13</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-profile</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-artifact-manager</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-registry</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-repository-metadata</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>classworlds</groupId> + <artifactId>classworlds</artifactId> + <version>1.1</version> + </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-commons</artifactId> + <version>1.9.3</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${versions.maven-compiler-plugin}</version> + <configuration> + <source>${versions.java}</source> + <target>${versions.java}</target> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-install-plugin</artifactId> + <version>${versions.maven-install-plugin}</version> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${versions.maven-surefire-plugin}</version> + <configuration> + <reportsDirectory>${surefire.reportsDirectory}</reportsDirectory> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/graphs/java/war/src/main/java/fr/epita/assistants/war/Assassin.java b/graphs/java/war/src/main/java/fr/epita/assistants/war/Assassin.java new file mode 100644 index 0000000..3415e41 --- /dev/null +++ b/graphs/java/war/src/main/java/fr/epita/assistants/war/Assassin.java @@ -0,0 +1,9 @@ +package fr.epita.assistants.war; + +public class Assassin extends Soldier{ + public Assassin() { + this.health = 10; + this.damage = 9; + this.scream = "Out of the shadows!"; + } +} diff --git a/graphs/java/war/src/main/java/fr/epita/assistants/war/Combatant.java b/graphs/java/war/src/main/java/fr/epita/assistants/war/Combatant.java new file mode 100644 index 0000000..5dc9af4 --- /dev/null +++ b/graphs/java/war/src/main/java/fr/epita/assistants/war/Combatant.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.war; + +public abstract class Combatant { + void printState() + { + System.err.println("Error 404. Class not found."); + } + + abstract void attack(Soldier s); + abstract void attack(Vehicle v); + abstract void scream(); +} diff --git a/graphs/java/war/src/main/java/fr/epita/assistants/war/Knight.java b/graphs/java/war/src/main/java/fr/epita/assistants/war/Knight.java new file mode 100644 index 0000000..1258434 --- /dev/null +++ b/graphs/java/war/src/main/java/fr/epita/assistants/war/Knight.java @@ -0,0 +1,9 @@ +package fr.epita.assistants.war; + +public class Knight extends Soldier { + public Knight() { + this.health = 20; + this.damage = 5; + this.scream = "Be quick or be dead!"; + } +} diff --git a/graphs/java/war/src/main/java/fr/epita/assistants/war/Soldier.java b/graphs/java/war/src/main/java/fr/epita/assistants/war/Soldier.java new file mode 100644 index 0000000..67c3897 --- /dev/null +++ b/graphs/java/war/src/main/java/fr/epita/assistants/war/Soldier.java @@ -0,0 +1,38 @@ +package fr.epita.assistants.war; + +public class Soldier extends Combatant { + int health; + int damage; + String scream; + + public Soldier() { + this.health = 15; + this.damage = 3; + this.scream = "No pity for losers!"; + } + + public void kill(){ + this.health = 0; + } + + @Override + public void printState() + { + System.out.println("I have " + this.health + " health points."); + } + + @Override + public void attack(Soldier s) { + s.health -= this.damage; + } + + @Override + public void attack(Vehicle v) { + System.out.println("I can't fight this."); + } + + @Override + public void scream() { + System.out.println(this.scream); + } +} diff --git a/graphs/java/war/src/main/java/fr/epita/assistants/war/Vehicle.java b/graphs/java/war/src/main/java/fr/epita/assistants/war/Vehicle.java new file mode 100644 index 0000000..b27d072 --- /dev/null +++ b/graphs/java/war/src/main/java/fr/epita/assistants/war/Vehicle.java @@ -0,0 +1,32 @@ +package fr.epita.assistants.war; + +public class Vehicle extends Combatant{ + String name; + int defense; + + public Vehicle(String name, int defense) { + this.name = name; + this.defense = defense; + } + + @Override + public void printState() + { + System.out.println("I have " + this.defense + " defense points."); + } + + @Override + public void attack(Soldier s) { + s.kill(); + } + + @Override + public void attack(Vehicle v) { + v.defense /= 2; + } + + @Override + public void scream() { + System.out.println("I'm " + this.name + "!"); + } +} |
