Ejemplo n.º 1
0
        public override bool Draw(Color Color)
        {
            Color cl = RetroApplication.Blend(Color.Black, Color, p);

            RetroApplication.Raster[x - 2, y]     = cl;
            RetroApplication.Raster[x - 1, y]     = cl;
            RetroApplication.Raster[x, y]         = cl;
            RetroApplication.Raster[x + 1, y]     = cl;
            RetroApplication.Raster[x + 2, y]     = cl;
            RetroApplication.Raster[x + 3, y]     = cl;
            RetroApplication.Raster[x, y - 1]     = cl;
            RetroApplication.Raster[x + 1, y - 1] = cl;
            RetroApplication.Raster[x, y - 2]     = cl;
            RetroApplication.Raster[x + 1, y - 2] = cl;
            RetroApplication.Raster[x, y + 1]     = cl;
            RetroApplication.Raster[x + 1, y + 1] = cl;
            RetroApplication.Raster[x, y + 2]     = cl;
            RetroApplication.Raster[x + 1, y + 2] = cl;
            RetroApplication.Raster[x + 2, y + 1] = cl;
            RetroApplication.Raster[x + 3, y + 1] = cl;
            RetroApplication.Raster[x - 1, y + 1] = cl;
            RetroApplication.Raster[x - 2, y + 1] = cl;
            RetroApplication.Raster[x, y + 3]     = cl;
            RetroApplication.Raster[x + 1, y + 3] = cl;

            return(true);
        }
Ejemplo n.º 2
0
        public override bool Draw(Color Color)
        {
            Color cl = RetroApplication.Blend(Color.Black, Color, p);

            int xd = (int)(this.X + 0.5);
            int yd = (int)(this.Y + 0.5);

            RetroApplication.Raster[xd, yd]          = cl;
            RetroApplication.Raster[xd + 1, yd]      = cl;
            RetroApplication.Raster[xd + 2, yd]      = cl;
            RetroApplication.Raster[xd + 3, yd]      = cl;
            RetroApplication.Raster[xd + 4, yd]      = cl;
            RetroApplication.Raster[xd + 5, yd]      = cl;
            RetroApplication.Raster[xd + 6, yd]      = cl;
            RetroApplication.Raster[xd + 7, yd]      = cl;
            RetroApplication.Raster[xd + 8, yd]      = cl;
            RetroApplication.Raster[xd + 9, yd]      = cl;
            RetroApplication.Raster[xd + 10, yd]     = cl;
            RetroApplication.Raster[xd + 11, yd]     = cl;
            RetroApplication.Raster[xd + 12, yd]     = cl;
            RetroApplication.Raster[xd + 13, yd]     = cl;
            RetroApplication.Raster[xd + 14, yd]     = cl;
            RetroApplication.Raster[xd + 15, yd]     = cl;
            RetroApplication.Raster[xd + 16, yd]     = cl;
            RetroApplication.Raster[xd + 17, yd]     = cl;
            RetroApplication.Raster[xd + 18, yd]     = cl;
            RetroApplication.Raster[xd + 19, yd]     = cl;
            RetroApplication.Raster[xd + 20, yd]     = cl;
            RetroApplication.Raster[xd, yd - 1]      = cl;
            RetroApplication.Raster[xd + 1, yd - 1]  = cl;
            RetroApplication.Raster[xd + 2, yd - 1]  = cl;
            RetroApplication.Raster[xd + 3, yd - 1]  = cl;
            RetroApplication.Raster[xd + 4, yd - 1]  = cl;
            RetroApplication.Raster[xd + 5, yd - 1]  = cl;
            RetroApplication.Raster[xd + 6, yd - 1]  = cl;
            RetroApplication.Raster[xd + 7, yd - 1]  = cl;
            RetroApplication.Raster[xd + 8, yd - 1]  = cl;
            RetroApplication.Raster[xd + 9, yd - 1]  = cl;
            RetroApplication.Raster[xd + 10, yd - 1] = cl;
            RetroApplication.Raster[xd + 11, yd - 1] = cl;
            RetroApplication.Raster[xd + 12, yd - 1] = cl;
            RetroApplication.Raster[xd + 13, yd - 1] = cl;
            RetroApplication.Raster[xd + 14, yd - 1] = cl;
            RetroApplication.Raster[xd + 15, yd - 1] = cl;
            RetroApplication.Raster[xd + 16, yd - 1] = cl;
            RetroApplication.Raster[xd + 17, yd - 1] = cl;
            RetroApplication.Raster[xd + 18, yd - 1] = cl;
            RetroApplication.Raster[xd + 19, yd - 1] = cl;
            RetroApplication.Raster[xd + 20, yd - 1] = cl;
            RetroApplication.Raster[xd, yd + 1]      = cl;

            return(true);
        }
Ejemplo n.º 3
0
        public override bool MoveStep()
        {
            if (this.dead)
            {
                return(true);
            }

            double p2;

            this.p++;
            if (this.p >= 60)
            {
                this.p -= 60;
            }

            if (this.p >= 30)
            {
                p2 = 60 - this.p;
            }
            else
            {
                p2 = this.p;
            }

            p2 /= 30;

            Color cl = RetroApplication.Blend(color1, color2, p2);
            Color cl2;
            int   x, y;
            bool  Found = false;

            for (y = this.y1; y <= this.y2; y++)
            {
                for (x = this.x1; x <= this.x2; x++)
                {
                    cl2 = RetroApplication.Raster[x, y];
                    if (cl2.A == 254)
                    {
                        Found = true;
                        RetroApplication.Raster[x, y] = cl;
                    }
                }
            }

            if (!Found)
            {
                this.Die();
            }

            return(!Found);
        }
Ejemplo n.º 4
0
        public override bool Draw(Color Color)
        {
            Color cl = RetroApplication.Blend(Color.Black, Color, p);

            int x = (int)(this.X + 0.5);
            int y = (int)(this.Y + 0.5);

            RetroApplication.Raster[x - 1, y] = cl;
            RetroApplication.Raster[x, y]     = cl;
            RetroApplication.Raster[x + 1, y] = cl;
            RetroApplication.Raster[x, y - 1] = cl;
            RetroApplication.Raster[x, y + 1] = cl;

            return(this.Lifetime >= 0 && x >= -1 && x <= RetroApplication.RasterWidth + 1 && y >= -1 && y <= RetroApplication.RasterHeight + 1);
        }
Ejemplo n.º 5
0
        public override bool Draw(Color Color)
        {
            this.R    = Rnd.Next(0, 255);
            this.G    = Rnd.Next(0, 255);
            this.B    = Rnd.Next(0, 255);
            StarColor = Color.FromArgb(this.R, this.G, this.B);
            Color cl = RetroApplication.Blend(Color.Black, Color, 1);

            RetroApplication.Raster[this.x, this.y]         = cl;
            RetroApplication.Raster[this.x + 1, this.y]     = cl;
            RetroApplication.Raster[this.x, this.y - 1]     = cl;
            RetroApplication.Raster[this.x + 1, this.y - 1] = cl;

            return(true);
        }
Ejemplo n.º 6
0
        public override bool MoveStep()
        {
            if (this.dead)
            {
                return(true);
            }

            if (this.currentRadius >= this.expectedRadius)
            {
                this.dead = true;
                RetroApplication.FillEllipse(this.xc, this.yc, this.currentRadius, this.currentRadius, Color.Black);
            }
            else
            {
                this.currentRadius++;
                RetroApplication.FillEllipse(this.xc, this.yc, this.currentRadius, this.currentRadius,
                                             RetroApplication.Blend(this.color, Color.Black, ((double)this.currentRadius) / this.expectedRadius));
            }

            return(this.dead);
        }