Probleme eine Methode zu schreiben

TimoDoll

Mitglied
Hallo,

ich versuche schon seit mehreren tagen folgendes zu realisieren, jedoch klappt es nicht.
Es gibt mehrere Spieler. Wenn einer kein Geld mehr hat, darf dieser Spieler nicht mehr mitspielen und soll übersprungen werden. Der erste Spieler hat den Index 0

In einer anderen Klasse, gibt es bereits die Methode" public void SpielerHatKeinGeld();

Nun will ich eine Methode schreiben, so dass diese das Datenfeld
spielerIdx auf den nächsten Spieler weitergeschaltet. Kann jemand helfen. dachte an eine Schleife, aber wie und welche?
Danke im voraus!
 

faetzminator

Gesperrter Benutzer
Nunja, du wirst wohl irgendwo einen Controller o.ä. haben, welcher das Spielverhalten regelt. Irgendwie irgendwas...
Möglichkeit 1: Dort ziehst du irgendwo Geld ab. Wenn das Geld abgezogen wurde und der Spieler keinen Penny mehr besitzt, löschst du ihn einfach aus der Liste der (aktuellen) Spieler.
Möglichkeit 2: Du setzt ein Flag o.ä., welches z.B. über [c]public boolean isPleite()[/c] (warum müsst ihr immer versuchen, alles in deutsch zu schreiben?) abgefragt werden kann. Der Controller läuft in einer Schleife über alle Spieler (was jetzt in irgendeiner Form bereits passieren muss) und ignoriert die Spieler mit dem gesetzten Flag.
 
T

tröööt

Gast
du wirst in deinem game-loop sicherlich irgendwo über die spieler laufen .. und dann fragst du einfach ob der aktuelle spieler pleite ist ... und wenn ja einfach den index incrementieren ...
 

TimoDoll

Mitglied
Die Methode public boolean spielerHatkeinGeld(); gibt es bereits in einer anderen Klasse, habe mich oben veschrieben, nur wie kann man nun eine Methode schreiben. Vorallem wie kann man die o.g Methode in eine Schleife einbinden?
Was bedeutet denn Flag, habe ich leider noch nie gehört
 
Zuletzt bearbeitet:

Pentalon

Bekanntes Mitglied
Ein Flag (Flagge) soll einen Status repräsentieren.
Du kennst sicher die Postkästen der Amerikaner.
Die haben auf der Seite so ein rotes Dings. Das ist das Flag.
Wenn der Postler was reingibt, setzt er das Flag (klappt es hoch) damit der Hausbewohner von weitem sieht, es ist was im Postkastl und nicht jedesmal selber nachschaun muss.

Das gleiche ist das Flag in der Programmierung. Üblicherweise ist es TRUE (wahr) oder FALSE (falsch), also vom Typ boolean.
Es gibt auch im Programm 2 Seiten, aus denen man das Flag bedient bzw. betrachtet.

Die eine Seite ist die, die sagt "ein Status ist eingetreten, das Flag wird gesetzt, also TRUE" und die andere Seite die fragt, ist der Status eingetreten ? (ist das Flag TRUE).

In Deinem Fall würde das Flag für den Spieler ISTPLEITE true sein, wenn er kein Gled mehr hat.
Du hast einerseits eine Methode die dies herausfindet und sein Flag entsprechen setzt, andererseits die Routinen die die Spieler handlen und auf der ISTPLEITE Flag schaun. Ist er pleite, kann man ihn überspringen.

Pentalon
 

TimoDoll

Mitglied
Danke! Weißt du vielleicht, wo man einen Code findet, damit ich weiß, wie es ungefähr aussieht. Habe gerade keine Vorstellung, wie man sowas realisieren kann.
Welche Schleife würdest du empfehlen?
Wie kann man die Methode von Bsp. boolean istPleite in einer anderen Klasse verwenden

for(spielerIdx = 0; spielerIdx == istPleite;

irgendwie so?
 

jgh

Top Contributor
ohne Code...nichts los ;)

irgendwie so bspw....

Java:
for(spielerIdx = 0; spielerIdx<anzahlSpieler; spielerIdx++){
				if (!spieler[spielerIdx].istPleite()){
					spieler[spielerIdx].macheWas();
				}
			}
 

Pentalon

Bekanntes Mitglied
Das wird so nicht gehen.

Im buch steht lediglich

for(int i = 0; i>10; i++)
System.out.println("")

Eher so:
Java:
for(int i = 0; i<10; i++)

Ich hab absolut keine Ahnung, was Dein Programm tun soll.

Schleifen gibt es viele.

Java:
for(int i=0; i<10; i++) {
     if(spieler[a].istpleite == TRUE) 
          System.out.println("Spieler "+spieler[a].name+" ist pleite");
     else
          System.out.println("Spieler "+spieler[a].name+" hat "+spieler[a].geld+" Kröten");
}

Mehr kann man dazu nicht sagen, wenn es NULL Code dazu gibt.

Pentalon
 

TimoDoll

Mitglied
Super, jetzt habe ich nur das Problem, dass das Programm die Methode istPleite() nicht findet. Diese befindet sich jedoch in einer anderen Klasse. Wie kann man da zugreifen?
 
T

tröööt

Gast
Super, jetzt habe ich nur das Problem, dass das Programm die Methode istPleite() nicht findet. Diese befindet sich jedoch in einer anderen Klasse. Wie kann man da zugreifen?

sorry ... aber DAS SIND BASICS ! ... basics die man drauf haben sollte wenn man "spiele" programmieren will ... da sie elementare bestandteile der sprache sind ...
du solltest dir wirklich erstmal diese java-grundlagen aneigenen ... und dir dann vllt auch bücher zum thema "spiele in java" zu legen ... so wird das nichts ... und wenn dann dürfte der code aber aus der untersten schublade kommen ...
 

Pentalon

Bekanntes Mitglied
Das ganze wäre viel einfacher, wenn Dein Code zur Verfügung stehen würde.
Der Tenor in diesem Thread ist nicht zu überhören: man kann kein Flugzeug bauen, wenn man nicht weiss wie ein Taschenrechner funktioniert.
Es gibt viel Leute hier im Forum, die mit den verschiedensten Problemen um Hilfe bitten. Es gibt aber immer einen Code dazu, den derjenige gemacht hat und bei dem ihm dann geholfen wird.
Wenn Dir jemand helfen soll, musst Du es schaffen, ihm das Problem so zu schildern, dass er es auch versteht. Ganz gross im Kurs steht hier der Quelltext der bisher geschrieben wurde.

Ich habe bisher aber eher das Gefühl, dass Du selber nicht genau weisst, was Du machen willst.
Vielleicht täusche ich mich aber auch.

Pentalon
 

TimoDoll

Mitglied
Ich habe ein fast fertiges Programm bekommen. Es müssen nur 2-3 Methoden geschrieben werden.
Ich habe viel gelesen, nur das jetzt umzusetzen, ist etwas kompliziert.
Wie kann man denn nun auf Methoden anderen Klassen zugreifen.
Wenn jetzt eine andere Klasse die Methode boolean istPleite(); hat.
Dieses istPleite will ich in eine andere Klasse einbinden
 
T

tröööt

Gast
Ich habe ein fast fertiges Programm bekommen. Es müssen nur 2-3 Methoden geschrieben werden.
Ich habe viel gelesen, nur das jetzt umzusetzen, ist etwas kompliziert.
Wie kann man denn nun auf Methoden anderen Klassen zugreifen.
Wenn jetzt eine andere Klasse die Methode boolean istPleite(); hat.
Dieses istPleite will ich in eine andere Klasse einbinden

schon mal was von referenzen und deren übergabe als parameter gehört ? scheinbar nein ... denn wie gesagt : sowas sind absolute basics ... und zwar nicht nur von java sondern generell von jeder OOP-sprache ...

sorry ... aber diese grundlagen wird dir hier keiner verkauen ... die darfst du dir bitte selbst aneignen
 

TimoDoll

Mitglied
Vielleicht habe ich es einfach nur vergessen??
Ich weiss eigentlich sehr viel für 2 Wochen
Wie meinst du es, wie ich auf Methoden zugreife?
Objekt erstellen und dann rechte Maustaste
 

Pentalon

Bekanntes Mitglied
Ist istPleite() eine Instanzmethode oder eine Klassenmethode ? :)
Ich bin gespannt, wie lange es dauert, bis Du endlich den Quellcode postest, oder ist der Urheberrechtlich geschützt :)

Pentalon
 

OnDemand

Top Contributor
Du kannst eine getMethode in der klasse setzten in der die Methode istPleite steht, diese rufst dann im der anderen klasse auf.

Stimmt das so? Ich lerne Grad selber die Basics ;-)
 

Timothy Truckle

Top Contributor
Ich würde das problem ja mehr "OO-like" angehen:

die aktiven Spieler werden in einer Liste statt in einem Array gehalten. Wenn Ein Spieler fest stellt, dass sein Guthaben leer ist wirft er ein Event und die Spielsteuerung entfernt ihn einfach aus der Liste der aktiven Spieler:
Java:
interface PleiteListener { void istPleite(Spieler pleiteSpieler);}

class Spieler{
 private int guthaben = STARTGUTHABEN;
 private PleiteListener pleiteListener;

 public void setPleiteListener(PleiteListener pleiteListener){this.pleiteListener=pleiteListener;}
 public aendereGuthaben(int aenderung){
   guthaben += aenderung;
   if(1>guthaben) pleiteListener.istPleite(this);
 }
}
class GameController {
 private final List<Spieler> aktiveSpieler = new ArrayList<>();
 
 public void addSpieler(Spieler neuerSpieler){
   aktiveSpieler.add(neuerSpieler);
   neuerSpieler.setPleiteListener(new PleiteListener(){
    @Override public void istPleite(Spieler pleiteSpieler){ aktiveSpieler.remove(pleiteSpieler);}
  });
 }

 public void runGane(){
  while(1<aktiveSpieler.size()){
    List<Spieler> spielerAktuelleRunde = new ArrayList<>(aktiveSpieler);
    for(Spieler spieler:spielerAktuelleRunde){
       spieler.spielRunde();
    }
  }

bye
TT
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
H Probleme mit Klassen...oder: Eine Uhr Java Basics - Anfänger-Themen 9
U Probleme mit eine Aufgabe ueber Klassen Java Basics - Anfänger-Themen 12
M Probleme eine DB anzusprechen Java Basics - Anfänger-Themen 2
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
P Probleme mit der Do-Schleife Java Basics - Anfänger-Themen 2
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
I Probleme bei Verzeichnissanalyse Java Basics - Anfänger-Themen 12
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
littles_de Simbad Simulator probleme mit Sensordaten... Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Neue Themen


Oben