Problem bei der Übergabe von Werten

Status
Nicht offen für weitere Antworten.

mArY-Ho

Mitglied
Hallo :wink:
ich bin neu hier. Mal zu mein Problem:
Also ich soll inner Schule ein Spiel programmieren und zwar Schiffe versenken. Kennen bestimmt alle von euch. Da muss man ja immer Werte zwischen den Fenstern hin und her geben. und da gibts bei mir Probleme.
Das Fenster mit der "main-Methode" startet sozusagen ein neues Fenster. in dem neuen Fenster sollen erst mal die Schiffe gesetzt werden und in dem Fenster mit der "main-Methode" sollen diese Schiffe dann abgeschossen werden.
nun weiß ich nich wie ich vom Fenster ohne main methode zum fenster mit der main methode werte schicken kann, da gibts probleme.
wie muss ich die fenster richtig "verlinken", die eine Richtung funktioniert, also vom fenster mit main-methode zum fenster ohne, da steht dann ja auch einfach oben z.b.:
Code:
Schuss S = new Schuss("Schuss");
aber das kann ja nich in dem fenster ohne main methode stehn weil das wär ja dann ne endlosschleife ich habs so versucht:
Code:
Schiffe K;
klappte aber nich :roll:

ich hoffe ihr habt mein problem verstanden :lol: und wisst wie ich das beheben kann,
Danke schon mal für die antworten :toll:
 
klar macht das ein Sinn,
nochmal von vorne:

1. Ich wollte erst mal 2 Fenster haben. In dem einem soll man die Schiffe setzen, in dem anderen diese gesetzten Schiffe abschießen.
2. Ich starte das Fenster, wo man die Schiffe setzten muss, nennen wir das jetzt mal "Schiffe". Da muss ja dann natürlich die "main-Methode" drin stehn, weils sonst nicht geht.
3. Vom Fenster "Schiffe" starte ich das 2. Fenster, nennen wir das jetzt mal "Schuss". und zwar so:
Code:
Schuss S = new Schuss("Schuss");

4. jetzt will ich vom Fenster "Schuss" werte übergeben zum Fenster "Schiffe", wo er denn jez mit der Maus is um dann im Fenster "Schiffe" prüfen zu können ob da ein schiff is oder nicht. und genau dieser schritt klappt bei mir nicht. ich habs so probiert:
Code:
Schiffe K;
 
mArY-Ho hat gesagt.:
jetzt will ich vom Fenster "Schuss" werte übergeben zum Fenster "Schiffe"

Du meinst von deiner Instanz Schuss zu deiner Instanz Schiffe.

Dann mußt du bei Instantiierung einer Instanz Schuss die Instanz deiner
Klasse Schiffe übergeben:
Code:
Schuss S = new Schuss(mySchiffe, "Schuss");

class Schuss {
  private Schiffe schiffe;

  public Schuss(Schiffe schiffe, String wasWeissIch) {
    this.schiffe = schiffe;
  }
}
 
Ich weiss nicht ob ich es genau verstanden habe aber ich denke mal du willst das ungefähr so machen:

Code:
public class Schiffe 
{

   //dein Code zum setzen
   // danach dein Schuss Fenster dem übergibst dann dein Schiffe fenster mit this
   Schuss S = new Schuss("Schuss", this);

  //dann hast du methoden um den schuss zu prüfen
  public void doSchuss(Point x)
  {
      ...
  }
}

public class Schuss
{
   private Schiffe k;
   public Schuss(Schiffe k)
   {
      this.k = k;
   }
   //dein code
   //Aufruf von schuss in einer MEthode:
   private void doSomething()
   {
      k.doSchuss(deinPoint);
   }
}
 
Genau! 😀

Nur dein Konstruktor Schuss braucht dann noch den String-Parameter,
was auch immer das sein soll:
Code:
new Schuss("Schuss", this);

Edit: Ach! outbreaker ist ja gar nicht der Originalposter!
 
Danke vielmals für die schnelle antwort :lol:
hat alles perferkt geklappt 🙂
sry nochmal für die vl bissl verwirrende erklärung und den falschen fachbegriffen, fang grad erst an :bae:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben