示例#1
0
        private void zeichneFeld()
        {
            int zellGroeße    = 600 / spiel.getBreite();
            int randSpielfeld = 70;
            int randZelle     = 25 - spiel.getBreite() * 2;

            if (randZelle < 0)
            {
                randZelle = 0;
            }

            Bitmap newImg = new Bitmap(pictureBox1.Width, pictureBox1.Height);

            Graphics   g              = Graphics.FromImage(newImg);
            Pen        pen            = new Pen(Color.Black, 2);
            SolidBrush spieler1pinsel = new SolidBrush(spiel.getSpieler1Color());
            SolidBrush spieler2pinsel = new SolidBrush(spiel.getSpieler2Color());

            g.DrawImage(Resource1.Map002, 0, 0, pictureBox1.Width, pictureBox1.Height);

            for (int i = 0; i < spiel.getBreite(); i++)
            {
                for (int j = 0; j < spiel.getHoehe(); j++)
                {
                    g.DrawRectangle(pen, randSpielfeld + zellGroeße * i, randSpielfeld + zellGroeße * j, zellGroeße, zellGroeße);
                }
            }

            Bitmap objektBild;


            g.FillEllipse(spieler1pinsel,
                          randSpielfeld + (randZelle + 4) * 2 + zellGroeße * spiel.getSpieler1Pos().X,
                          randSpielfeld + (randZelle + 4) * 2 + zellGroeße * spiel.getSpieler1Pos().Y,
                          zellGroeße - (randZelle + 4) * 2 * 2, zellGroeße - (randZelle + 4) * 2 * 2);
            g.FillEllipse(spieler2pinsel,
                          randSpielfeld + (randZelle + 4) * 2 + zellGroeße * spiel.getSpieler2Pos().X,
                          randSpielfeld + (randZelle + 4) * 2 + zellGroeße * spiel.getSpieler2Pos().Y,
                          zellGroeße - (randZelle + 4) * 2 * 2, zellGroeße - (randZelle + 4) * 2 * 2);

            foreach (Objekt objekt in spiel.getFeldObjekte())
            {
                objektBild = objekt.getBild();

                g.DrawImage(
                    objektBild,
                    randSpielfeld + randZelle + zellGroeße * objekt.getPosition().X,
                    randSpielfeld + randZelle + zellGroeße * objekt.getPosition().Y,
                    zellGroeße - randZelle * 2, zellGroeße - randZelle * 2);
            }

            pictureBox1.Image = newImg;
        }