예제 #1
0
        private void spielFortschritt()
        {
            pbSpielende.PerformStep();

            if (pbSpielende.Value == spiel.getSpielende())
            {
                String name   = null;
                String punkte = null;

                if (spiel.getSpieler1Punkte() < spiel.getSpieler2Punkte())
                {
                    name   = spiel.getSpieler2Name();
                    punkte = spiel.getSpieler2Punkte().ToString();
                }
                else if (spiel.getSpieler1Punkte() > spiel.getSpieler2Punkte())
                {
                    name   = spiel.getSpieler1Name();
                    punkte = spiel.getSpieler1Punkte().ToString();
                }

                btnDown.Enabled         = false;
                btnUp.Enabled           = false;
                btnLeft.Enabled         = false;
                btnRight.Enabled        = false;
                btnSteuerLinks.Enabled  = false;
                btnSteuerRechts.Enabled = false;
                btnSwitchPlayer.Enabled = false;
                btnWuerfeln.Enabled     = false;
                lblSpieler.Text         = "";

                string message = "Das Schiff ist in den Hafen eingelaufen.\n\n";

                if (name != null && punkte != null)
                {
                    message += name + " hat mit " + punkte + " Punkten gewonnen und konnte sich als Kapitän durchsetzen!";
                }
                else
                {
                    message += "Unentschieden! Es konnte sich kein Pirat durchsetzen.";
                }

                MessageBox.Show(message, "Spiel zu Ende", MessageBoxButtons.OK, MessageBoxIcon.Information);

                spiel = null;
            }
        }
예제 #2
0
        private void setupNewGame()
        {
            if (spiel != null)
            {
                DialogResult resultNeuesSpiel = MessageBox.Show("Aktuell läuft noch ein Spiel. Willst du das aktuelle Spiel verwerfen und ein neues beginnen?", "Neues Spiel", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button3);
                if (resultNeuesSpiel != DialogResult.Yes)
                {
                    return;
                }
            }

            NeuesSpiel neuesSpielForm = new NeuesSpiel();

            neuesSpielForm.ShowDialog();

            if (neuesSpielForm.DialogResult != DialogResult.OK)
            {
                return;
            }

            spiel = new Spiel(15, 7, 5);
            pictureBox1.BackgroundImage = Resource1.wasser;
            pbSpielende.Minimum         = 0;
            pbSpielende.Value           = 0;
            pbSpielende.Maximum         = spiel.getSpielende();

            // Beispiel: Hindernis fest
            spiel.addFeldObjekt(new Hindernis("Mast", 1 * spiel.getBreite() / 4, spiel.getHoehe() / 2, false, 0, Resource1.mast));
            spiel.addFeldObjekt(new Hindernis("Mast", 2 * spiel.getBreite() / 4, spiel.getHoehe() / 2, false, 0, Resource1.mast));
            spiel.addFeldObjekt(new Hindernis("Mast", 3 * spiel.getBreite() / 4, spiel.getHoehe() / 2, false, 0, Resource1.mast));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));
            spiel.addFeldObjekt(new Hindernis("Zaun", spiel.getZufallFreiesFeld(), false, 0, Resource1.zaun));

            // Beispiel: Hindernis lose
            spiel.addFeldObjekt(new Hindernis("Anker", spiel.getZufallFreiesFeld(), true, 3, Resource1.anker));
            spiel.addFeldObjekt(new Hindernis("Truhe", spiel.getZufallFreiesFeld(), true, 1, Resource1.kiste));
            spiel.addFeldObjekt(new Hindernis("Truhe", spiel.getZufallFreiesFeld(), true, 1, Resource1.kiste));
            spiel.addFeldObjekt(new Hindernis("Truhe", spiel.getZufallFreiesFeld(), true, 1, Resource1.kiste));
            spiel.addFeldObjekt(new Hindernis("Truhe", spiel.getZufallFreiesFeld(), true, 1, Resource1.kiste));
            spiel.addFeldObjekt(new Hindernis("Truhe", spiel.getZufallFreiesFeld(), true, 1, Resource1.kiste));
            spiel.addFeldObjekt(new Hindernis("Truhe", spiel.getZufallFreiesFeld(), true, 1, Resource1.kiste));

            // Beispiel: Item
            spiel.addFeldObjekt(new Item("Paddel", spiel.getZufallFreiesFeld(), 10, Resource1.item));
            spiel.addFeldObjekt(new Item("Paddel", spiel.getZufallFreiesFeld(), 10, Resource1.item));
            spiel.addFeldObjekt(new Item("Paddel", spiel.getZufallFreiesFeld(), 10, Resource1.item));
            spiel.addFeldObjekt(new Item("Paddel", spiel.getZufallFreiesFeld(), 10, Resource1.item));
            spiel.addFeldObjekt(new Item("Seil", spiel.getZufallFreiesFeld(), 20, Resource1.item));
            spiel.addFeldObjekt(new Item("Fernrohr", spiel.getZufallFreiesFeld(), 25, Resource1.item));
            spiel.addFeldObjekt(new Item("Fernrohr", spiel.getZufallFreiesFeld(), 25, Resource1.item));
            spiel.addFeldObjekt(new Item("Steuer", spiel.getZufallFreiesFeld(), 15, Resource1.item));

            spiel.addSpieler(new Spieler(neuesSpielForm.getNameSpieler1(), new Point(-1, 1), Resource1.player1, neuesSpielForm.getFarbeSpieler1()));
            spiel.addSpieler(new Spieler(neuesSpielForm.getNameSpieler2(), new Point(-1, spiel.getHoehe() - 2), Resource1.player2, neuesSpielForm.getFarbeSpieler2()));

            printToConsole("Neues Spiel gestartet");
            printToConsole("'" + neuesSpielForm.getNameSpieler1() + "' und '" + neuesSpielForm.getNameSpieler2() + "' spielen");

            gbSpieler1.Text = neuesSpielForm.getNameSpieler1();
            gbSpieler2.Text = neuesSpielForm.getNameSpieler2();

            spiel.startNewRound();
            updateLabels();
            enableButtons();
            setNewRoundButtons();
            zeichneFeld();
            pictureBox1.Show();
        }
예제 #3
0
 public Hauptfenster()
 {
     InitializeComponent();
     spiel = null;
 }