public bool schiffeFestlegen(Schiff[] schiffebelegung)
        {
            // Die neue Schiffebelegung muss von der Größe her passen, sonst übernehmen wir sie nicht
            if (!(schiffebelegung.Count() == this.schiffe.Count())) return false;

             // Belegung übernehmen
            this.schiffe = schiffebelegung;

            return true;
        }
示例#2
0
        private void neuesSpielToolStripMenuItem_Click(object sender, EventArgs e)
        {
            spieler.Enabled = false;

            spiel.neuesSpiel(25, 15, "testSpiel", spieler.Items[0].ToString(), spieler.Items[1].ToString());

            spielfeld.neuesFeld(spiel.getAnzReihen(), spiel.getAnzSpalten());

            logLine("Neues Spiel gestartet");

            NeuesSchiff dialog = new NeuesSchiff();
            dialog.setzeFeldgroeße(spiel.getAnzReihen(), spiel.getAnzSpalten());
            // Spieler 1
            Schiff[] tmpSchiffe = new Schiff[5];
            for (int i = 0; i < tmpSchiffe.Length; i++)
            {
                for (int x = 0; x < i; x++)
                    tmpSchiffe[x].update();
                dialog.titel = "Schiff " + i.ToString() + " platzieren";
                dialog.ShowDialog();
                if (dialog.DialogResult == System.Windows.Forms.DialogResult.Cancel) return;
                tmpSchiffe[i] = new Zerstoerer(dialog.reihe, dialog.spalte, dialog.waagerecht);
                tmpSchiffe[i].zeichnen += dialog.feldBelegen;
                dialog.feldLoeschen();
            }
            spiel.setSchiffeBelegung(tmpSchiffe);
            for (int x = 0; x < tmpSchiffe.Length; x++)
                tmpSchiffe[x].zeichnen -= spielfeld.feldEinfaerben;

            tmpSchiffe = new Schiff[5];
            for (int i = 0; i < tmpSchiffe.Length; i++)
            {
                for (int x = 0; x < i; x++)
                    tmpSchiffe[x].update();
                dialog.titel = "Schiff " + i.ToString() + " platzieren";
                dialog.ShowDialog();
                if (dialog.DialogResult == System.Windows.Forms.DialogResult.Cancel) return;
                tmpSchiffe[i] = new Zerstoerer(dialog.reihe, dialog.spalte, dialog.waagerecht);
                tmpSchiffe[i].zeichnen += dialog.feldBelegen;
                dialog.feldLoeschen();
            }
            spiel.setSchiffeBelegungP2(tmpSchiffe);
            for (int x = 0; x < tmpSchiffe.Length; x++)
                tmpSchiffe[x].zeichnen -= spielfeld.feldEinfaerben;

            aktuellenSpielerBestimmen();
        }
示例#3
0
 public void setSchiffeBelegungP2(Schiff[] schiffeBelegung)
 {
     (spieler[DU] as SpielerDu).schiffeFestlegen(schiffeBelegung);
 }
示例#4
0
 public void setSchiffeBelegung(Schiff[] schiffeBelegung)
 {
     (spieler[ICH] as SpielerIch).schiffeFestlegen(schiffeBelegung);
 }