S
sabram
Gast
Hallo, ich habe ein Problem das ich nicht ganz verstehe oder nicht genau weiß wie ich es lösen soll.
Sorry weiß nicht genau wie ich den Titel genau beschreiben soll
Ich habe 3 Interfaces die jeweils, Spieler, Zuschauer und Bieter in einem Spiel identifizieren.
Das Spiel wird netzwerkabhängig gespielt, so gibt es zur Registrierung der einzelnen Clienten die Methoden
Mein Player auf Serverseite muss nun 2 Interfaces implementieren, IPlayer sowie IViewer. Als Übergabe zur Speicherung der Clienten bekomme ich aber einen IPlayer den ich auch dementsprechend in eine ArrayListe packe.
Nun habe ich aus irgendeinem Grund nicht die Möglichkeit die IViewer Methoden auf diesem IPlayer Objekt aufzurufen
Hier laufe ich über die LIste aller Spieler und möchte allen die nicht aktiv am Spiel teilnehmen ( die nurnoch beobachter sind,) mitteilen, dass das Spiel startet. Aber ich möchte ungern "IViewer viewer = (IViewer) (participants.getPlayer().get(i)); " schreiben , und verstehe nicht, warum ein einfacher Typecast heir nicht möglich ist sodass ich schreiben kann.
mache ich irgendetwas grundlegendes falsch?
Vielen Dank für eure Mühe
Gruß sabram
Sorry weiß nicht genau wie ich den Titel genau beschreiben soll
Ich habe 3 Interfaces die jeweils, Spieler, Zuschauer und Bieter in einem Spiel identifizieren.
Das Spiel wird netzwerkabhängig gespielt, so gibt es zur Registrierung der einzelnen Clienten die Methoden
Java:
addPlayer(IPlayer p)
Java:
addViewer(IViewer p)
Java:
addGambler(IGambler p)
Mein Player auf Serverseite muss nun 2 Interfaces implementieren, IPlayer sowie IViewer. Als Übergabe zur Speicherung der Clienten bekomme ich aber einen IPlayer den ich auch dementsprechend in eine ArrayListe packe.
Nun habe ich aus irgendeinem Grund nicht die Möglichkeit die IViewer Methoden auf diesem IPlayer Objekt aufzurufen
Java:
for(int i=0 ; i<participants.getPlayer().size() ; i++){
if(equalsPlayer(i)){
IViewer viewer = (IViewer) (participants.getPlayer().get(i));
viewer.gameStarted(Settings.getSizeX(), Settings.getSizeY(), Settings.getRows());
}
}
Java:
(IViewer)(participants.getPlayer().get(i)).gameStarted(Settings.getSizeX(), Settings.getSizeY(), Settings.getRows());
mache ich irgendetwas grundlegendes falsch?
Vielen Dank für eure Mühe
Gruß sabram