Java OOP Anfängerfrage

Pragmata

Cadet 3rd Year
Registriert
Sep. 2008
Beiträge
50
Hi. :)

Ich bräuchte mal eine kleine Hilfe und zwar möchte ich ein kleines "Spiel" mit JAVA umsetzen, nach den Regeln der OOP.
Hab früher OOP mit Delphi programmiert, weiß also um was es geht, doch weil das schon ein bisschen her ist, hab ich gerade nen kleinen Hänger.. :lol:

Ganz kurze Anleitung:
- 1 Spieler spielt gegen den Computer.
- per Zufall wird ausgewählt wer beginnt
- Spielende durch Abbruchverfahren

Meine Gedanken:

Code:
Klasse Spielname {
   main(){ erstellt start-Objekt }

   start() {
                new Computer-Objekt;
                new Spieler-Objekt;
                
                Zufall, wer beginnt: 
                Entweder PC.macheZug() oder player.macheZug()
   }

}

Klasse Computer {
   macheZug() {
                         bla bla Spielzughalt (Abbruchbedingung erfüllt?!..);
                         player.macheZug();                <- hier liegt das Problem
}


Klasse Spieler {
   macheZug() {
                         bla bla Spielzughalt (Abbruchbedingung erfüllt?!..);
                         PC.macheZug();                   <- hier liegt das Problem
}

Zum Problem:

Die Klasse Computer kennt die Klasse Spieler gar nicht, was sie eigentlich auch gar nicht soll?!
Wenn es nicht zufällig wäre, wer anfängt könnte man beide Aufrufe in eine Schleife packen (in start() ). Wie löse ich das am besten?


- Die Klasse main ist nur dazu da andere Objekte zu erstellen, da schreibt man also keinen wirklichen Code rein?!


Schon mal vielen Dank fürs lesen :p
Gruß Pragmata
 
les dich mal ein in java und OOP kann dir auch gute folien geben - wenn du willst, i hoffe dass deine gedanken kein wirklicher programmcode sind^^

für mich sieht das ganze nicht so wirklich nach java aus :D

konstruktor klassenvariablen etc sollten schon vorhanden sein
 
Das ist ja auch nur Pseudocode ;)
Schon klar, dass Klassenvariablen, Konstruktoren und das alles noch dazu gehört. Bringt jedoch ziemlich wenig, wenn ich hier den kompletten Code poste. Da liegt ja auch nicht das Problem.
Ich hätte auch alles in einem Klassen- /Objektdiagramm darstellen können, aber dafür war ich zu Faul.

Ich denke man kann schon erkennen was ich wissen will...
 
Also ich würde es so machen das du aus der Klasse Spielname die Methoden xxx.macheSpielzug() aufrufst (und zwar immer von dort) und von dort aus dann die benötigten Werte einfach an die Klasse Spielname zurücklieferst. Also ist sozusagen die Spielname Klasse die Verwaltung die alles aufruft und auch wieder entgegennimmt, um diese Werte auszuwerten. Ich würde also entgegen deiner Frage gerade in die Main den meisten Code reinschreiben.

Hoffe das war verständlich und auch ein sinnvoller Ansatz für dich.

mfg
 
Zuletzt bearbeitet:
Zurück
Oben