예제 #1
0
        void zeichneBall(Point position)
        {
            Ball.Location = position;
            if (multiplayer == false)
            {
                if ((position.X + 10) >= spielfeldMaxX)
                {
                    balllPosition.richtungX = false;
                }
            }
            if ((position.Y + 10) >= spielfeldMaxY)
            {
                balllPosition.richtungY = true;
            }

            if (position.Y <= spielfeldMinY)
            {
                balllPosition.richtungY = false;
            }

            Random zufall = new Random();

            if ((position.X == spielfeldMinX) && ((Schlaeger.Top <= position.Y) && (Schlaeger.Bottom >= position.Y)))
            {
                if (balllPosition.richtungX == false)
                {
                    zeichnePunkte(Convert.ToString(spielpunkte.VeraenderePunkte(punkteMehr)));
                }
                balllPosition.richtungX = true;
                balllPosition.winkel    = zufall.Next(winkelZufall);
            }

            if ((position.X + 10 >= spielfeldMaxX) && ((Schlaeger2.Top <= position.Y) && (Schlaeger2.Bottom >= position.Y)))
            {
                if (balllPosition.richtungX == true)
                {
                    zeichnePunkte(Convert.ToString(spielpunkte.VeraenderePunkte(punkteMehr)));
                }
                balllPosition.richtungX = false;
                balllPosition.winkel    = zufall.Next(winkelZufall);
            }

            if (position.X < spielfeldMinX)
            {
                zeichnePunkte(Convert.ToString(spielpunkte.VeraenderePunkte(punkteWeniger)));
                System.Threading.Thread.Sleep(500);
                zeichneBall(new Point(spielfeldMinX, position.Y));
                balllPosition.richtungX = true;
            }

            if (position.X > spielfeldMaxX)
            {
                zeichnePunkte(Convert.ToString(spielpunkte.VeraenderePunkte(punkteWeniger)));
                System.Threading.Thread.Sleep(500);
                zeichneBall(new Point(spielfeldMaxX, position.Y));
                balllPosition.richtungX = false;
            }
        }
예제 #2
0
        internal void ZeichneBall(Point position)
        {
            //für die Zufallszahl
            Random zufall = new Random();

            ball.Location = position;
            //wenn der Ball rechts anstößt, änern wir die Richtung
            if ((position.X + 10) >= spielfeldMaxX)
            {
                ballPosition.richtungX = false;
            }
            //stößt er unten bzw. oben an, ebenfalls
            if ((position.Y + 10) >= spielfeldMaxY)
            {
                ballPosition.richtungY = true;
            }
            else
            if (position.Y <= spielfeldMinY)
            {
                ballPosition.richtungY = false;
            }

            //ist er wieder links, prüfen wir, ob der Schläger in
            //der Nähe ist
            if ((position.X == spielfeldMinX) && ((schlaeger.Top <= position.Y) && (schlaeger.Bottom >= position.Y)))
            {
                if (ballPosition.richtungX == false)
                {
                    //einen Punkt dazu und die Punkte ausgeben
                    ZeichnePunkte(Convert.ToString(spielpunkte.VeraenderePunkte(punkteMehr)));
                }
                //die Richtung ändern
                ballPosition.richtungX = true;
                //und den Winkel
                ballPosition.winkel = zufall.Next(winkelZufall);
            }

            //ist der Ball hinter dem Schläger?
            if (position.X < spielfeldMinX)
            {
                //fünf Punkte abziehen und die Punkte ausgeben
                ZeichnePunkte(Convert.ToString(spielpunkte.VeraenderePunkte(punkteWeniger)));

                //eine kurze Pause einlegen
                System.Threading.Thread.Sleep(1000);
                //und alles von vorne
                ZeichneBall(new Point(spielfeldMinX, position.Y));
                ballPosition.richtungX = true;
            }
        }
예제 #3
0
        //die Position des Balls setzen
        private void ZeichneBall(Point position)
        {
            //für die zufallzahl
            Random zufall = new Random();

            ball.Location = position;
            //wenn der ball rechts anstoßt ändern wir die richtung
            if ((position.X + 10) >= spielfeldMaxX)
            {
                ballPosition.richtungX = false;
            }
            //stoßst er unten bzw. oben an, ebenfalls
            if ((position.Y + 10) >= spielfeldMaxY)
            {
                ballPosition.richtungY = true;
            }
            else
            if (position.Y <= spielfeldMinY)
            {
                ballPosition.richtungY = false;
            }
            //ist der wieder links prüfen wir ob der schläger in der nähe ist
            if ((position.X == spielfeldMinX) &&
                (schlaeger.Top <= position.Y) &&
                (schlaeger.Bottom >= position.Y))
            {
                if (ballPosition.richtungX == false)
                {
                    //einen punkt dazu rechnen
                    ZeichnePunkte(Convert.ToString(spielpunkten.VeraenderePunkte(punkteMehr)));
                }
                //die richtung ändern
                ballPosition.richtungX = true;
                //und der zufall winkel
                ballPosition.winkel = zufall.Next(winkelZufall);
            }
            if (position.X < spielfeldMinX)
            {
                //wenn der ball hinter dem schläger ist 5 Punkten abziehn
                ZeichnePunkte(Convert.ToString(spielpunkten.VeraenderePunkte(punkteWeniger)));
                //eine kurze pause einlegen
                System.Threading.Thread.Sleep(1000);
                //und alles von vorne
                ZeichneBall(new Point(spielfeldMinX, position.Y));
                ballPosition.richtungX = true;
            }
        }