Java Menschenrasse erstellen und Aussterben lassen - hab ich einen richtigen Ansatz?

Robymon

Cadet 4th Year
Registriert
Okt. 2014
Beiträge
76
Hallöle Zusammen,

Bin ja grade dabei Java zu lernen und habe mir überlegt etwas zu Programmieren das die ausgabe folgend aussieht:


Nur Beispiel:

Tag: 38884
Menschen: 2000
Tote: 100

und wenn alle Menschen tot sind wird folgendes angezeigt:

"Menschenrasse vestorben".


Da will ich fragen ob ich einen richtigen ansatz habe. Ich hab mir gedacht ich erstelle die Klasse Mensch, definiere Variablen
in Geburtag(werde Date d = new Date benutzen) und Gesundheit (mit Int HP = 100 )

dann würde ich eine Klasse erstellen die "untergang" heißt und die Menschenrasse importieren und anfangen mit einer if schleife in dem ich jede 90 tage einen Menschen erschaffen lasse, und dann wenn sagen wir mal die Menschenrasse auf 2000 gewachsen soll ein virus entstehen und anfangen jeden 3 oder 4 tag zu töten.

Hab ich einen richtigen ansatz?

Edit: Kann ich auch alles in einer Klasse machen wo ich alles definiere , aber überall neue Methoden starte.


tipps wären angebracht und natürlich verbesserungen.


~Robert
 
1. 'If' ist keine Schleife!
2. Eine Klasse 'importieren' bedeutet nur das du die Klassen-Definition lädst, aber damit hast du noch keine Klassen-Instanz oder Werte für ein Objekt.

Dann zu deinem Ansatz. Soll das Programm jetzt in Echtzeit laufen? Oder willst du es jeden Tag starten und schauen ob dein Programm schon wieder ein paar Menschen getötet hat? Wenn Du es immer wieder starten willst und beim vorherigen Punkt weitermachen, solltest du überlegen wie du den letzten Stand speichern möchtest. Ohne Persistierung ist sonst deine Apokalypse ein "Täglich Grüßt das Murmeltier"
 
Also ich steh grade eh auf dem schlauch.

Ich will es nicht in Echtzeif haben. Will mit einem counter arbeiten. Jeder tag dauert 1 sekunde.
Starten soll es mit das die es eine Anzahl von 20 Menschen gibt,jeden 5 tag wird ein Mensch erschaffen.
Dann wenn die Menschen sich so weit entwickelt haben das die Anzahl >=2000, soll eine Krankheit ausbrechen, die nenn ich mal Naris.
Naris tötet jeden 5 Tag einen Menschen. Da ich auch in der Klasse Menschenrasse (Nicht rassischtisch verstehen) Lebenspunkte erstellt habe mit einem Value von 100. Das heißt der Virus Naris zieht dem Menschen täglich 25 Lebenspunkte ab. Es soll solange laufen bis am ende die Console ausgibt " Mensch ist ausgestorben".


Ich checke grade nicht wie ich es definieren soll das entweder nur 1-10 leute an Naris erkranken oder naris knüpft sich jeden Menschen nacheinander vor.

in reallife ist ja auch nicht so das jemand Grippe erst bekommt wenn der andere tot oder gesund ist.


Bisschen Kompliziert für mich als anfänger. Vll könntets Du/Ihr mir ein Tipp geben was ich mir mehr vertiefen sollte.



~Robert
 
Ok jetzt wird es schon etwas klarer was du willst

Du hast also 2 verschieden Aktionen die Zeitgesteuerten Ablaufen.

createHuman() und virus()

createHuman() erschafft eine Instanz eines Menschen und legt diesen in eine Collection z.B. eine Liste. Um es Intressanter zu machen könnten die Lebenspunkte des Menschen leicht varieren über eine Zufallsfunktion.

der Aufruf von virus() nimmt jetzt eine Menge zufälliger Menschen-Instanzen der Liste und verringert deren HP. Eventuell wird die Menge größer je länger das Programm schon läuft (z.B je mehr Läufe der Virus-Methofe durchgeführt wurden)
 
Wenn ich mir deine Threads so anschaue hab ich das Gefühl du hast die Grundlagen des Programmierens und Java einfach überflogen, 2-3 Begriffe aufgeschnappt und willst jetzt loslegen.

"Ich kapiere nix" ist genauso gut wie "Geht nicht". Stelle Fragen zu bestimmten Problemen und dir wird gerne geholfen, aber einfach zu hoffen das irgendjemand dich die ersten 99m des 100m Laufs Huckepack nimmt und dann über die Ziellinie wirft wird dir nicht passieren.

Mache dich also erstmal mit den Grundlagen vertraut. Was ist ein Objekt, was ist eine Instanz, was ist ein Event, was ist eine Methode wie verknüpfe ich etwas etc ... vorher ist das eher rumgegurke.
 
Jaja, das Studium hat angefangen, in den ersten Vorlesungen zur Programmierung hat man nur geschlafen oder mit andern Leuten am Laptop gezockt und nun stehen die ersten, scheinbar unlösbaren Hausaufgaben an :D
(Ich will dir hier nichts unterstellen, aber das ist das typische Verhalten von Studenten)

Glaub mir, ohne die Grundlagen der Programmierung verstanden zu haben, wirst du 1. keinen Spaß dran haben und 2. ziemlich schnell in Rückstand geraten, was den Wissensstand und die Fähigkeit, Programme zu schreiben angeht.
Lernen, verstehen und zur Not auch mal in Tutorien gehen. ;)
 
Hab ausbildung angefangen als Fachinformatiker. Muss mich jetzt auf ein halbes jahr in java und der android entwicklung einarbeiten.

Sieht wohl echt aus das ich mehr grundlagen anschauen soll.

Kennt gute lerntipps, lernseiten?
Am besten kostenlos
 
Lerntipps?
Ja, nicht nur blind irgendwelche Beispiellösungen abtippen, sondern auch nachvollziehen, warum und was genau da gemacht wurde ;)

Mir wurde damals das Buch "Java ist auch eine Insel" empfohlen, wobei das von manchen eher als Nachschlagewerk betitelt wird.

Meine Meinung ist, dass du dich nicht direkt an so ein doch für den Anfang komplizierteres Programm wagen, sondern eher mit den Begrifflichkeiten und deren Umsetzung auseinandersetzen solltest.
Vererbung, Klassen, Konstruktoren.... wobei das auch eher schon in Richtung OOP geht.


Gerade über Google folgendes gefunden, was auf den ersten Blick ganz ok aussieht. (kenne es selber nicht)

http://www.programmersbase.net/Content/Java/Content/Tutorial/Java.htm
 
Mir bewusst das ich es nicht abtippen sollte, aber irgendwie muss ich ja die grundlagen vertiefen.

Mit dem openbook Hab ich auch schon bekannschaft gemacht abee es ist so trocken erklärt. Hab mir die tutoren von kilobolt angeschaut wo alles erklärt wird.

Trotzdem danke für eure tipps und hilfen
 
Ich hab mich bei deinen anderen Threads schon immer gefragt wer dieser Kilobolt ist, jetzt hab ich mal nachgeschaut. Du musst die Tutorials auch lesen und nicht nur von Bild zu Bild scrollen. Ich hab jetzt nur ganz schnell die ersten 3 Kapitel überflogen und die Tutorials sind schon sehr gut und eben nicht so trocken.
 
Zurück
Oben