-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCharakter.java
203 lines (159 loc) · 5.71 KB
/
Charakter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
import java.util.*;
public class Charakter {
private Properties prop;
public Charakter(Properties prop) {
// Übernehmen der Properties
this.prop = prop;
// eine kleine Überprüfung, ob alle Properties gesetzt sind
boolean fail = false; // wenn das Attribut "fail" auf true wechselt, wird das
// Programm am Ende der Überprüfung terminiert
String[] charProps = { "abgeschlossen", "money", "skills", "serverleistung",
"schlafbedarf", "matebedarf", "name", "speicherdatum",
"kurzbeschreibung" };
for (int i = 0; i < charProps.length; i++) {
if (prop.containsKey(charProps[i]) == false) {
System.out.println("Charakter-Property '"+charProps[i]+"' fehlt!");
fail = true;
}
}
if (fail == true) {
System.out.println("Property "+prop.getProperty("name"));
System.exit(-1);
}
}
// ein ganzer Haufen getter und setter...
public Properties getProp() {
return prop;
}
public int getMoney() {
// die Geldmenge aus den Properties auslesen
return Integer.parseInt(prop.getProperty("money"));
}
public void setMoney(int money) {
// die Geldmenge in die Properties schreiben
prop.setProperty("money", ""+money);
}
public void addMoney(int money) {
prop.setProperty("money", ""+(this.getMoney()+money));
}
public int getSkills() {
// die Skills aus den Properties auslesen
return Integer.parseInt(prop.getProperty("skills"));
}
public void setSkills(int skills) {
// die Skills in die Properties schreiben
prop.setProperty("skills", ""+skills);
}
public void addSkills(int skills) {
prop.setProperty("skills", ""+(this.getSkills()+skills));
}
public int getServerleistung() {
// die Serverleistung aus den Properties auslesen
return Integer.parseInt(prop.getProperty("serverleistung"));
}
public void setServerleistung(int serverleistung) {
// die Serverleistung in die Properties schreiben
prop.setProperty("serverleistung", ""+serverleistung);
}
public void addServerleistung(int serverleistung) {
prop.setProperty("serverleistung", ""+(this.getServerleistung()+serverleistung));
}
public int getSchlafbedarf() {
// den Schlafbedarf aus den Properties auslesen
return Integer.parseInt(prop.getProperty("schlafbedarf"));
}
public void setSchlafbedarf(int schlafbedarf) {
// den Schlafbedarf in die Properties schreiben
prop.setProperty("schlafbedarf", ""+schlafbedarf);
}
public void addSchlafbedarf(int schlafbedarf) {
prop.setProperty("schlafbedarf", ""+(this.getSchlafbedarf()+schlafbedarf));
}
public int getMatebedarf() {
// den Matebedarf aus den Properties auslesen
return Integer.parseInt(prop.getProperty("matebedarf"));
}
public void setMatebedarf(int matebedarf) {
// den Matebedarf in die Properties schreiben
prop.setProperty("matebedarf", ""+matebedarf);
}
public void addMatebedarf(int matebedarf) {
prop.setProperty("matebedarf", ""+(this.getMatebedarf()+matebedarf));
}
public String getName() {
// den Namen aus den Properties auslesen
return prop.getProperty("name");
}
public void setName(String name) {
// den Namen in die Properties schreiben
prop.setProperty("name", name);
}
public String getSpeicherdatum() {
// das Speicherdatum aus den Properties auslesen
return prop.getProperty("speicherdatum");
}
public void setSpeicherdatum(String datum) {
// das Speicherdatum in die Properties schreiben
prop.setProperty("speicherdatum", datum);
}
public String getKurzbeschreibung() {
// die Kurzbeschreibung aus den Properties auslesen
return prop.getProperty("kurzbeschreibung");
}
public int getPreisServerleistung() {
return Integer.parseInt(prop.getProperty("preisserv"));
}
public void setPreisServerleistung(int preis) {
prop.setProperty("preisserv", ""+preis);
}
public int getPreisMate() {
return Integer.parseInt(prop.getProperty("matepreis"));
}
public void setPreisMate(int preis) {
prop.setProperty("preismate", ""+preis);
}
public List<String> getAbgeschMissionen() {
// die abgeschlossenen Missionen als Liste aus den Properties auslesen
String[] abgeschMissionenTmp = prop.getProperty("abgeschlossen").split(",");
List<String> abgeschMissionen = new ArrayList<String>();
// TODO: Bessere Methode zur Typenumwandlung
if(abgeschMissionenTmp.length > 1) {
for(int i = 0; i < abgeschMissionenTmp.length; i++) {
abgeschMissionen.add(abgeschMissionenTmp[i]);
}
}
return abgeschMissionen;
}
public void setAbgeschMissionen(List<String> missionen) {
// die abgeschlossenen Missionen in die Properties schreiben
// temporärer String, in dem die abgeschlossenen Missionen
// durch Kommata getrennt gespeichert werden
String tmp = "";
for(int i = 0; i < missionen.size(); i++) {
tmp += missionen.get(i);
}
prop.setProperty( "abgeschlossen", tmp.substring(0, tmp.length()-2));
}
public void addAbgeschMissionen(String mission) {
// den abgeschlossenen Missionen der Properties einen Eintrag hinzufügen
prop.setProperty("abgeschlossen", prop.getProperty("abgeschlossen")+","+mission);
}
public void missionErfolg(Mission mission) {
this.addAbgeschMissionen(mission.getName());
this.addMoney(mission.getGewinn()-mission.getKosten());
this.addSkills(mission.getSkillverbesserung());
this.addSchlafbedarf(mission.getSchlafbedarf());
}
public void missionFehlschlag(Mission mission) {
// Geld verloren
this.addMoney(0-mission.getKosten());
this.addSchlafbedarf(mission.getSchlafbedarf());
}
public int berechneMglSchwierigkeitsgrad() {
System.out.println(getSchlafbedarf());
int tmp = (int) (getSkills() * getServerleistung() * getMatebedarf()) / getSchlafbedarf();
int schwierigkeitsgrad;
schwierigkeitsgrad = tmp/6 + 1;
return schwierigkeitsgrad;
}
}