c) Schreiben Sie eine Methode public int beginneKaperfahrt(), die eine Kaperfahrt simuliert und den Gewinn in Dukaten zurückgibt.
- Auf jeder Kaperfahrt besteht eine Wahrscheinlichkeit von 80%, dass das Piratenschiff auf ein Handelsschiff trifft. Andernfalls geben Sie „Ereignislose Kaperfahrt“ auf der Konsole aus.
- Trifft das Piratenschiff auf ein Handelsschiff, ergeben sich die Händler meistens kampflos (75%) und wehren sich selten (25%). In beiden Fällen machen die Piraten Beute zwischen 100.000 und 200.000 Dukaten.
- Im Falle eines Kampfes trägt das Piratenschiff zu 30% Schäden davon, die für 50.000 Dukaten repariert werden müssen. Jedes Besatzungsmitglied wird mit einer Wahrscheinlichkeit von 5% verletzt und braucht ein Holzbein, Glasauge oder Hakenhand. Die Kosten für diese Behandlung betragen 10.000 Dukaten und werden solidarisch aus der Schiffskasse beglichen.
- Die Methode gibt am Ende den Gewinn in Dukaten zurück, d.h. die Beute abzüglich aller Kosten.
Hallo kann mir jemand sagen ob der Code soweit richtig ist, wenn ich es in einer main-Methode teste kommt irgendwie zu oft 0
- Auf jeder Kaperfahrt besteht eine Wahrscheinlichkeit von 80%, dass das Piratenschiff auf ein Handelsschiff trifft. Andernfalls geben Sie „Ereignislose Kaperfahrt“ auf der Konsole aus.
- Trifft das Piratenschiff auf ein Handelsschiff, ergeben sich die Händler meistens kampflos (75%) und wehren sich selten (25%). In beiden Fällen machen die Piraten Beute zwischen 100.000 und 200.000 Dukaten.
- Im Falle eines Kampfes trägt das Piratenschiff zu 30% Schäden davon, die für 50.000 Dukaten repariert werden müssen. Jedes Besatzungsmitglied wird mit einer Wahrscheinlichkeit von 5% verletzt und braucht ein Holzbein, Glasauge oder Hakenhand. Die Kosten für diese Behandlung betragen 10.000 Dukaten und werden solidarisch aus der Schiffskasse beglichen.
- Die Methode gibt am Ende den Gewinn in Dukaten zurück, d.h. die Beute abzüglich aller Kosten.
Hallo kann mir jemand sagen ob der Code soweit richtig ist, wenn ich es in einer main-Methode teste kommt irgendwie zu oft 0
Java:
public int beginneKaperfahrt() {
int ducats = 0;
Random prob = new Random();
int handelsschiff = prob.nextInt(99)+1;
if (handelsschiff <= 80) {
int handelsschifftreffen = prob.nextInt(99)+1;
int newducats = prob.nextInt(99999)+100001;
if (handelsschifftreffen <= 75) {
ducats = ducats + newducats;
if (handelsschifftreffen >= 75) {
ducats = ducats + newducats;
int schaden = prob.nextInt(99)+1;
int verletzung = prob.nextInt(99)+1;
if (schaden >= 30) {
ducats = ducats - 50000;
if (schaden >= 95) {
ducats = ducats - 10000;
}
}
}
}
}
return ducats;
}