Skip to content

Commit 554ce11

Browse files
committed
optimized/renamed stuff
1 parent 2d95880 commit 554ce11

File tree

3 files changed

+172
-210
lines changed

3 files changed

+172
-210
lines changed

11/Aufgabe1_2_Marco/src/Figur.java

+91-117
Original file line numberDiff line numberDiff line change
@@ -1,121 +1,95 @@
1-
//package blatt11;
1+
public class Figur {
2+
// Attribute einer Figur
3+
private String name;
4+
private String rasse;
5+
private int lebensPunkte;
6+
private int staerkePunkte;
7+
private int ruestungsPunkte;
28

3-
import java.util.Random;
9+
// Figur kann eine Waffe tragen, null wenn keine Waffe getragen wird
10+
private Waffe waffe;
411

5-
public class Figur {
6-
Random rand = new Random();
7-
8-
//Attribute einer Figur
9-
private String name;
10-
private String rasse;
11-
private int hp; //healthpoints
12-
private int sp; //strengthpoints
13-
private int armor;
14-
15-
private Waffe weapon;// Figur kann eine Waffe tragen
16-
private boolean weaponEQ;//boolean Wert ob Waffe getragen wird
17-
18-
19-
//Konstruktor für eine vollstaendige Figur
20-
Figur(String name, String rasse, int hp, int sp, int armor){
21-
this.name = name;
22-
this.rasse = rasse;
23-
this.hp = hp;
24-
this.sp = sp;
25-
this.armor = armor;
26-
this.weaponEQ=false;
27-
}
28-
29-
//Im Folgenden werden die getter/setter Methoden erstellt
30-
protected String getName() {
31-
return this.name;
32-
}
33-
protected String getRasse() {
34-
return this.rasse;
35-
}
36-
protected int getHP() {
37-
return this.hp;
38-
}
39-
protected int getSP() {
40-
return this.sp;
41-
}
42-
protected int getArmor() {
43-
return this.armor;
44-
}
4512

46-
protected Waffe getWeapon() {
47-
return this.weapon;
48-
}
49-
protected boolean getWeaponEQ() {
50-
return this.weaponEQ;
51-
}
52-
/**
53-
* Manipulieren der hp einer Figur
54-
* falls hp negativ werden, werden hp auf 0 gesetzt
55-
* @param dmg Integer Wert der den Schaden angibt, den die Figur nach dem Verteidigen bekommt
56-
*/
57-
protected void setHP(int dmg) {
58-
this.hp =hp - dmg;
59-
if(this.hp<0)
60-
this.hp=0;
61-
}
62-
/**
63-
* Ruestet eine Waffe aus, falls diese nicht kaputt ist
64-
* @param weapon Bekommt eine Waffe mit definierten Werten übergeben
65-
*/
66-
protected void equipWeapon(Waffe weapon) {
67-
if(weapon.getPCT()>0) {
68-
this.weapon = new Waffe(weapon.getName(),weapon.getDmg());
69-
this.weaponEQ = true;
70-
}
71-
else {
72-
System.out.println("The weapon is broken");
73-
}
74-
}
75-
/**
76-
* Greife eine andere Figur an. Schadensberechnung, verteidigen und abziehen der HP findet hier statt
77-
* Falls der Gegner bereits tot ist oder man selbst/der Gegner keine funktionierende Waffe mehr ausgeruestete hat gibt Fehler aus
78-
* @param opponent ,bekommt den Gegner der angegriffen wird, übergeben
79-
*/
80-
protected void attack(Figur opponent) {
81-
if(opponent.checkPlayerAlive() && opponent.getWeaponEQ() && this.weapon.getPCT()>0 && opponent.weapon.getPCT()>0 &&this.getWeaponEQ()) {
82-
int dmg = this.weapon.compDMG(this.sp);
83-
System.out.println("Damage: " + dmg);
84-
dmg = opponent.defend(dmg, opponent.getArmor());
85-
if(dmg<0)
86-
dmg=0;
87-
opponent.setHP(dmg);
88-
System.out.println(this.getName()+" dealt " + dmg + " damage");
89-
this.weapon.setPCT(5);
90-
}
91-
else {
92-
System.out.println("Unable to perform action");
93-
}
94-
}
95-
/**
96-
* fuehrt verteidigung aus. Rohen Schaden wird Ruestungswert abgezogen
97-
* @param schaden ,roher schaden den der Gegner erhalten würde
98-
* @param ruestung -Wert des Gegners.
99-
* @return gibt Schaden zurück den der Gegner erhaelt
100-
*/
101-
protected int defend(int schaden,int ruestung) {
102-
int a = rand.nextInt(ruestung+1);
103-
System.out.println("Rüstung: " + a);
104-
schaden = schaden - a;
105-
//System.out.println(schaden);
106-
if(schaden<0)
107-
return schaden;
108-
return schaden;
109-
}
110-
/**
111-
* Prueft ob die Figur noch am Leben ist und gibt boolean wert zurueck
112-
* @return boolean Wert ob Figur am Leben
113-
*/
114-
protected boolean checkPlayerAlive() {
115-
if(this.getHP()>0)
116-
return true;
117-
else
118-
return false;
119-
120-
}
13+
//Konstruktor für eine vollstaendige Figur
14+
public Figur(String name, String rasse, int lebensPunkte, int staerkePunkte, int ruestungsPunkte) {
15+
this.name = name;
16+
this.rasse = rasse;
17+
this.lebensPunkte = lebensPunkte;
18+
this.staerkePunkte = staerkePunkte;
19+
this.ruestungsPunkte = ruestungsPunkte;
20+
this.waffe = null;
21+
}
22+
23+
//Im Folgenden werden die getter/setter Methoden erstellt
24+
public String getName() {
25+
return this.name;
26+
}
27+
28+
public String getRasse() {
29+
return this.rasse;
30+
}
31+
32+
public int getLebensPunkte() {
33+
return this.lebensPunkte;
34+
}
35+
36+
public int getStaerkePunkte() {
37+
return this.staerkePunkte;
38+
}
39+
40+
public int getRuestungsPunkte() {
41+
return this.ruestungsPunkte;
42+
}
43+
44+
public Waffe getWaffe() {
45+
return this.waffe;
46+
}
47+
48+
/**
49+
* Ruestet eine Waffe aus, falls diese nicht kaputt ist
50+
*
51+
* @param waffe Bekommt eine Waffe mit definierten Werten übergeben
52+
*/
53+
public void waffeAusruesten(Waffe waffe) {
54+
if (waffe.getPCT() > 0) {
55+
this.waffe = waffe;
56+
} else {
57+
System.out.println("The waffe is broken");
58+
}
59+
}
60+
61+
/**
62+
* Greife eine andere Figur an.
63+
*
64+
* @param opponent bekommt den Gegner der angegriffen wird, übergeben
65+
*/
66+
public void angreifen(Figur opponent) {
67+
if (opponent.isAlive() && this.waffe != null && !this.waffe.isBroken()) {
68+
69+
opponent.verteidigen(this.waffe.useWeapon(this.staerkePunkte));
70+
} else {
71+
System.out.println("Unable to perform action");
72+
}
73+
}
74+
75+
/**
76+
* Verteidigt einkommenden Schaden
77+
*
78+
* @param schaden Zugefügter Schaden
79+
*/
80+
private void verteidigen(int schaden) {
81+
this.lebensPunkte -= Math.random() * (this.ruestungsPunkte + 1);
82+
if (this.lebensPunkte < 0) {
83+
this.lebensPunkte = 0;
84+
}
85+
}
86+
87+
/**
88+
* Prüft ob die Figur noch am Leben ist und gibt boolean wert zurueck
89+
*
90+
* @return true, wenn Figur lebt
91+
*/
92+
protected boolean isAlive() {
93+
return this.lebensPunkte > 0;
94+
}
12195
}
+32-35
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,36 @@
11
//package blatt11;
22

33
public class Testclass {
4-
public static void main(String[]args) {
5-
//Erstellt zwei Figuren und zwei Waffen mit gegebenen Eigenschaften
6-
Figur Marco = new Figur("Marco","Mensch",85,12,10);
7-
Figur Ork = new Figur("Ork","Ork",50,14,6);
8-
9-
Waffe schwert = new Waffe("Maechtiges Schwert",15);
10-
Waffe axt = new Waffe("Große Axt",7);
11-
12-
//System.out.println(Ork.getArmor());
13-
Marco.equipWeapon(schwert);
14-
Ork.equipWeapon(axt);
15-
16-
//Figuren kaempfen solange gegeneinander bis eine Tod ist oder die Waffe einer Figur kaputt ist
17-
while(Marco.checkPlayerAlive() && Ork.checkPlayerAlive() && Marco.getWeapon().checkWeapon() && Ork.getWeapon().checkWeapon()) {
18-
Marco.attack(Ork);
19-
System.out.println("Marcos HP: " + Marco.getHP()+ " Marcos Waffenabnutzung: " + Marco.getWeapon().getPCT());
20-
System.out.println("Orks HP: " + Ork.getHP()+ " Orks Waffenabnutzung: " + Ork.getWeapon().getPCT());
21-
System.out.println();
22-
if(Marco.checkPlayerAlive() && Ork.checkPlayerAlive() && Marco.getWeapon().checkWeapon() && Ork.getWeapon().checkWeapon()) {
23-
Ork.attack(Marco);
24-
System.out.println("Marcos HP: " + Marco.getHP()+ " Marcos Waffenabnutzung: " + Marco.getWeapon().getPCT());
25-
System.out.println("Orks HP: " + Ork.getHP() + " Orks Waffenabnutzung: " + Ork.getWeapon().getPCT());
26-
System.out.println();
27-
}
28-
29-
}
30-
//Ausgabe welche Figur gestorben ist
31-
if(!Marco.checkPlayerAlive())
32-
System.out.println("Marco ist tod");
33-
if(!Ork.checkPlayerAlive())
34-
System.out.println("Ork ist tod");
35-
36-
37-
38-
}
4+
public static void main(String[] args) {
5+
//Erstellt zwei Figuren und zwei Waffen mit gegebenen Eigenschaften
6+
Figur Marco = new Figur("Marco", "Mensch", 85, 12, 10);
7+
Figur Ork = new Figur("Ork", "Ork", 50, 14, 6);
8+
9+
Waffe schwert = new Waffe("Maechtiges Schwert", 15);
10+
Waffe axt = new Waffe("Große Axt", 7);
11+
12+
//System.out.println(Ork.getArmor());
13+
Marco.waffeAusruesten(schwert);
14+
Ork.waffeAusruesten(axt);
15+
16+
//Figuren kaempfen solange gegeneinander bis eine Tod ist oder die Waffe einer Figur kaputt ist
17+
while (Marco.isAlive() && Ork.isAlive() && !Marco.getWaffe().isBroken() && !Ork.getWaffe().isBroken()) {
18+
Marco.angreifen(Ork);
19+
System.out.println("Marcos HP: " + Marco.getLebensPunkte() + " Marcos Waffenabnutzung: " + Marco.getWaffe().getPCT());
20+
System.out.println("Orks HP: " + Ork.getLebensPunkte() + " Orks Waffenabnutzung: " + Ork.getWaffe().getPCT());
21+
System.out.println();
22+
if (Marco.isAlive() && Ork.isAlive() && !Marco.getWaffe().isBroken() && !Ork.getWaffe().isBroken()) {
23+
Ork.angreifen(Marco);
24+
System.out.println("Marcos HP: " + Marco.getLebensPunkte() + " Marcos Waffenabnutzung: " + Marco.getWaffe().getPCT());
25+
System.out.println("Orks HP: " + Ork.getLebensPunkte() + " Orks Waffenabnutzung: " + Ork.getWaffe().getPCT());
26+
System.out.println();
27+
}
28+
29+
}
30+
//Ausgabe welche Figur gestorben ist
31+
if (!Marco.isAlive())
32+
System.out.println("Marco ist tod");
33+
if (!Ork.isAlive())
34+
System.out.println("Ork ist tod");
35+
}
3936
}

11/Aufgabe1_2_Marco/src/Waffe.java

+49-58
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,51 @@
1-
//package blatt11;
2-
import java.util.Random;
3-
41
public class Waffe {
5-
Random rand = new Random();
6-
//Attribute einer Waffe
7-
private String name;
8-
private int dmg;
9-
private int pct;
10-
11-
12-
//Konstruktor zum erstellen einer Waffe
13-
Waffe(String name, int dmg){
14-
this.name = name;
15-
this.dmg = dmg;
16-
this.pct = 100;
17-
}
18-
19-
//Im Folgenden werden die getter/setter Methoden für eine Waffe erstellt
20-
protected String getName() {
21-
return this.name;
22-
}
23-
protected void setName(String name) {
24-
this.name = name;
25-
}
26-
protected int getDmg() {
27-
return this.dmg;
28-
}
29-
protected void setDmg(int dmg) {
30-
this.dmg = dmg;
31-
}
32-
protected int getPCT() {
33-
return this.pct;
34-
}
35-
protected void setPCT(int n) {
36-
this.pct-=n;
37-
}
38-
39-
/**
40-
* Berechnet den Schaden den die Figur mit der entsprechende Waffe verursachen kann
41-
* @param sp Staerkepunkte des Spielers
42-
* @return gibt Schadenswert zurueck
43-
*/
44-
protected int compDMG(int sp) {
45-
//System.out.println(sp);
46-
int dmg = rand.nextInt(this.getDmg())+1;
47-
dmg = dmg + (sp/2);
48-
return dmg;
49-
}
50-
/**
51-
* Prüft ob Waffe noch nicht kaputt
52-
* @return -Wert ob Waffe noch funktional
53-
*/
54-
protected boolean checkWeapon() {
55-
if(this.pct>0)
56-
return true;
57-
else
58-
return false;
59-
}
2+
3+
//Attribute einer Waffe
4+
private String name;
5+
private int schadensPunkte;
6+
private int statusPercent;
7+
8+
9+
//Konstruktor zum erstellen einer Waffe
10+
public Waffe(String name, int schadensPunkte) {
11+
this.name = name;
12+
this.schadensPunkte = schadensPunkte;
13+
this.statusPercent = 100;
14+
}
15+
16+
//Im Folgenden werden die getter/setter Methoden für eine Waffe erstellt
17+
public String getName() {
18+
return this.name;
19+
}
20+
21+
public int getSchadensPunkte() {
22+
return this.schadensPunkte;
23+
}
24+
25+
public int getPCT() {
26+
return this.statusPercent;
27+
}
28+
29+
30+
/**
31+
* Waffe benutzen und Schaden berechnen
32+
*
33+
* @param staerkePunkte Stärke Punkte des Trägers
34+
* @return Schaden, der durch die Waffe verursacht wird
35+
*/
36+
public int useWeapon(int staerkePunkte) {
37+
int damage = (int) (staerkePunkte * 0.5) + (int) (Math.random() * this.schadensPunkte + 1);
38+
this.statusPercent -= 5;
39+
40+
return damage;
41+
}
42+
43+
/**
44+
* Prüft ob Waffe kaputt ist
45+
*
46+
* @return true, wenn die Waffe kaputt ist
47+
*/
48+
protected boolean isBroken() {
49+
return this.statusPercent <= 0;
50+
}
6051
}

0 commit comments

Comments
 (0)