public bool speicherAntwort(SpielzugAnwort antwort) { antworten.Add(antwort); // Nach einem passenden Spielzug suchen for (int i = 0; i < spielzuege.Count(); i++) if ((spielzuege[i].spielzugnummer == antwort.spielzugnummer)) return true; return false; }
private void SpielzugVerarbeitet(SpielzugAnwort antwort) { logLine(antwort.spielID + " - " + antwort.spieler + " - " + antwort.spielzugnummer.ToString() + " - " + antwort.schussergebnis.ToString()); aktuellenSpielerBestimmen(); }
private void spielfeldUpdaten(SpielzugAnwort antwort) { int index = -1; // Richtiges Spielfeld wählen if (antwort.spieler == spieler[ICH].name) index = DU; // Antwort komm von DU, Eintrag in meine Karte else index = ICH; // und umgekehrt int reihe, spalte; // Reihe und Spalte sind im Protokoll gespeichert reihe = spielprotokoll.getReiheZuSpielzug(antwort.spielzugnummer); if (reihe < 0) return; spalte = spielprotokoll.getSpalteZuSpielzug(antwort.spielzugnummer); if (spalte < 0) return; spielfeld[index].setFeldStatus(reihe, spalte, antwort.schussergebnis); // Ereignis auslösen, damit Oberfläche sich anpassen kann feldStatusGeaendert(reihe, spalte, antwort.schussergebnis); }
private void verarbeiteSpielzugAntwort(SpielzugAnwort antwort) { spielprotokoll.speicherAntwort(antwort); spielfeldUpdaten(antwort); SpielzugBeendet ( antwort ); if (spieler[ICH].isGameOver()) gameOver(true); else if (spieler[DU].isGameOver()) gameOver(false); }
protected void raiseSpielzugBeendet(int spielzugnummer, Schussergebnis ergebnis) { SpielzugAnwort antwort = new SpielzugAnwort(this.name, this.spielID, spielzugnummer, ergebnis); if (spielzugBeendet == null) return; spielzugBeendet(antwort); }