Hey Leute,
ich möchte ein sehr kleines Aktien-Spiel realisieren, welches ich nach und nach erweitern möchte.
Zu erst soll es nur die Grundfunktionen können, sprich:
Ich habe einen Anfangsbetrag (Kontostand) mit dem ich dann Aktien kaufen kann. (Wie im wahren Leben) :lol:
Mein Aktienkurs Startet vorerst mal bei 30 und wird dann über eine Zufallszahl aktualisiert.
Aktienindex = aktuellerAktienkurs + Zufallszahl
Hier ist schon mein erstes Problem, denn jedes mal nimmt er den Startet beim errechnen des neuen Indexes. ;(
Und beim kaufen bzw. verkaufen fliegt mir dann das Programm letztendlich um die Ohren :-((
Vielleicht kann mir ja jemand Tips geben, bitte keine Komplettlösungen!!!!! Ich möchte schliesslich verstehen was ich falsch mache, bzw. lernen wie es richtig geht.
Wäre also super, wenn jemand bisschen Lust und Zeit hat mir zu helfen.
In weiter Ferne möchte ich dann das ganze in eine Datei schreieben (Logfile bzw. Spielstände).
Und wenn es gehen sollte noch irgendwie Server Client Verbindung mit einbringen, wie und für was weis ich noch nicht.
Vielen Dank schonmal fürs durchlesen! :rtfm:
ich möchte ein sehr kleines Aktien-Spiel realisieren, welches ich nach und nach erweitern möchte.
Zu erst soll es nur die Grundfunktionen können, sprich:
Ich habe einen Anfangsbetrag (Kontostand) mit dem ich dann Aktien kaufen kann. (Wie im wahren Leben) :lol:
Mein Aktienkurs Startet vorerst mal bei 30 und wird dann über eine Zufallszahl aktualisiert.
Aktienindex = aktuellerAktienkurs + Zufallszahl
Hier ist schon mein erstes Problem, denn jedes mal nimmt er den Startet beim errechnen des neuen Indexes. ;(
Und beim kaufen bzw. verkaufen fliegt mir dann das Programm letztendlich um die Ohren :-((
Vielleicht kann mir ja jemand Tips geben, bitte keine Komplettlösungen!!!!! Ich möchte schliesslich verstehen was ich falsch mache, bzw. lernen wie es richtig geht.
Wäre also super, wenn jemand bisschen Lust und Zeit hat mir zu helfen.
In weiter Ferne möchte ich dann das ganze in eine Datei schreieben (Logfile bzw. Spielstände).
Und wenn es gehen sollte noch irgendwie Server Client Verbindung mit einbringen, wie und für was weis ich noch nicht.
Vielen Dank schonmal fürs durchlesen! :rtfm:
Java:
import java.io.BufferedReader;
import java.io.IOException;
public class Aktien {
static int aktuellerKontostand = 10000;
static int aktuelleAktienanteile = 0;
int depotWert;
static int alterKurs = 30;
static int aktuellerKurs;
static BufferedReader reader = null;
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
System.out.println(aktienWachstum());
System.out.println(aktienIndex());
if (aktuellerKontostand >= aktuellerKurs) {
kaufen();
} else {
verkaufen();
}
}
private static int aktienIndex() {
// TODO Auto-generated method stub
aktuellerKurs = (alterKurs + aktienWachstum());
return aktuellerKurs;
}
private static int aktienWachstum() {
// TODO Auto-generated method stub
int min = -10;
int max = 10;
int wachstumsrate = (int) (min + Math
.round(Math.random() * (max - min)));
return wachstumsrate;
}
private static void kaufen() throws IOException {
boolean inputOk = false;
int number = 0;
String input = null;
while (!inputOk) {
try {
System.out.println("Wie viele Anteile möchten Sie kaufen? ");
input = reader.readLine();
number = Integer.parseInt(input);
if (number >= 1) {
inputOk = true;
int kosten = (number * aktuellerKurs);
System.out.println(number + " Aktienanteile kosten"
+ kosten + "€");
System.out.println("Jetzt" + number + "Aktienanteile für"
+ kosten + "kaufen? J/N");
if (input.equalsIgnoreCase("j")) {
inputOk = true;
aktuellerKontostand = (aktuellerKontostand - kosten);
aktuelleAktienanteile = (aktuelleAktienanteile + number);
System.out.println("Es wurden" + number
+ "Aktienanteile für" + kosten + "gekauft!");
} else if (input.equalsIgnoreCase("no")) {
inputOk = true;
System.out
.println("Es wurden keine Aktienanteile gekauft!");
} else {
System.out
.println("Ihre Eingabe konnte nicht erkannt werden.");
}
} else {
System.out
.println("Sie können keine negativen Aktienanteile kaufen!");
}
} catch (NumberFormatException e) {
System.out.println("Ihre Eingabe konnte nicht erkannt werden.");
}
reader.close();
}
}
private static void verkaufen() throws IOException {
boolean inputOk = false;
int number = 0;
String input = null;
while (!inputOk) {
try {
System.out.println("Wie viele Anteile möchten Sie verkaufen? ");
input = reader.readLine();
number = Integer.parseInt(input);
if (number >= 1) {
inputOk = true;
int kosten = (number * aktuellerKurs);
System.out.println(number + " Aktienanteile bringen"
+ kosten + "€");
System.out.println("Jetzt" + number + "Aktienanteile für"
+ kosten + "verkaufen? J/N");
if (input.equalsIgnoreCase("j")) {
inputOk = true;
aktuellerKontostand = (aktuellerKontostand + kosten);
aktuelleAktienanteile = (aktuelleAktienanteile - number);
System.out.println("Es wurden" + number
+ "Aktienanteile für" + kosten + "verkauft!");
} else if (input.equalsIgnoreCase("no")) {
inputOk = true;
System.out
.println("Es wurden keine Aktienanteile verkauft!");
} else {
System.out
.println("Ihre Eingabe konnte nicht erkannt werden.");
}
} else {
System.out
.println("Sie können keine negativen Aktienanteile verkaufen!");
}
} catch (NumberFormatException e) {
System.out.println("Ihre Eingabe konnte nicht erkannt werden.");
}
reader.close();
}
}
}