Ejemplo n.º 1
0
        private void borrarToolStripButton_Click(object sender, EventArgs e)
        {
            object seleccionado = this.currentLevelProp.SelectedObject;

            Moneda moneda = seleccionado as Moneda;

            if (moneda != null)
            {
                this.currentLevel.Monedas.Remove(moneda);
            }

            Enemigo enemigo = seleccionado as Enemigo;

            if (enemigo != null)
            {
                this.currentLevel.Enemigos.Remove(enemigo);
            }

            Plataforma plataforma = seleccionado as Plataforma;

            if (plataforma != null)
            {
                this.currentLevel.Plataformas.Remove(plataforma);
            }

            this.currentLevelProp.SelectedObject = null;
            updateView();
        }
Ejemplo n.º 2
0
        private void currentLevelView_MouseUp(object sender, MouseEventArgs e)
        {
            byte tileX = (byte)(e.X / 32);
            byte tileY = (byte)(e.Y / 32);

            switch (this.currentStatus)
            {
            case AppState.Normal:
                this.currentLevelProp.SelectedObject = getObjectAt(tileX, tileY);
                enableToolsTripButtons();
                break;

            case AppState.AddingPlatform:
                if (this.isDrawing && ((e.Button & MouseButtons.Left) == MouseButtons.Left))
                {
                    // Fin de arrastre para colocar una plataforma...
                    updatePlataformaDibujada(tileX, tileY);
                }
                this.isDrawing = false;
                updateView();
                break;

            case AppState.AddingCoin:
                Moneda moneda = new Moneda();

                moneda.X = tileX;
                moneda.Y = tileY;

                this.currentLevel.Monedas.Add(moneda);
                this.currentLevelProp.SelectedObject = moneda;

                this.updateView();
                break;

            case AppState.AddingEnemy:
                Enemigo enemigo = new Enemigo();

                enemigo.TileDer     = tileX;
                enemigo.TileIzq     = tileX;
                enemigo.TileVert    = tileY;
                enemigo.TipoEnemigo = tipoEnemigo;
                enemigo.Velocidad   = Velocidad.Lento;

                this.currentLevel.Enemigos.Add(enemigo);
                this.currentLevelProp.SelectedObject = enemigo;

                this.updateView();
                break;
            }
        }
Ejemplo n.º 3
0
        public int CompareTo(object obj)
        {
            Moneda objAComparar = obj as Moneda;

            if (objAComparar == null)
            {
                throw new ArgumentException(string.Format("No se puede comparar con un objeto de tipo {0}", obj.GetType().FullName));
            }
            if (this.y < objAComparar.y ||
                (this.y == objAComparar.y && this.x < objAComparar.x))
            {
                return(-1);
            }
            if (this.y == objAComparar.y && this.x == objAComparar.x)
            {
                return(0);
            }
            return(1);
        }
Ejemplo n.º 4
0
        private bool updateMoneda(byte tileX, byte tileY, bool actualizar)
        {
            Moneda moneda = seleccionado as Moneda;

            if (moneda != null)
            {
                if (moneda.X != tileX)
                {
                    moneda.X   = tileX;
                    actualizar = true;
                }
                if (moneda.Y != tileY)
                {
                    moneda.Y   = tileY;
                    actualizar = true;
                }
            }
            return(actualizar);
        }
Ejemplo n.º 5
0
        internal string ToString(Version version)
        {
            StringBuilder result = new StringBuilder();
            int           i      = 0;

            // Descriptor.
            result.AppendFormat(";.Pantalla {0}\n", this.numPantalla);

            if (version.CPU == CPUVersion.MSX)
            {
                result.AppendFormat("   {0} {1} ; FONDO\n", version.TokenDef, (byte)this.tileFondo);
            }
            else
            {
                result.Append("        ;TTPPPIII\n");
                result.AppendFormat("   {3} {4}{0}{1}{2}{5}            ; Descriptor\n",
                                    Utils.ToBinary2((byte)this.tileFondo),
                                    Utils.ToBinary3((byte)this.paperColor),
                                    Utils.ToBinary3((byte)this.inkColor),
                                    version.TokenDef,
                                    version.PrefijoDatoBin,
                                    version.EndOfByte);
            }

            // Plataformas.
            result.Append("\n        ;Objetos\n");
            result.Append("        ;datos \"al reves\", por eso del \"endian\"\n");
            result.Append("        ;LLLLTTTD   XXXXYYYY\n");
            for (i = 0; i < this.plataformas.Count; i++)
            {
                result.AppendFormat("   {0}\n", this.plataformas[i].ToString(version));
            }
            if (version.CPU != CPUVersion.MSX)
            {
                Plataforma plataformaVacia = new Plataforma();

                for (; i < version.MaxPlataformas; i++)
                {
                    result.AppendFormat("   {0}\n", plataformaVacia.ToString(version));
                }
            }

            result.AppendLine(version.EndOfSection);

            // Moviles.
            result.Append("\n        ;Moviles\n");
            result.Append("        ;YYYYTTTD   AAAABBBB\n");
            for (i = 0; i < this.enemigos.Count; i++)
            {
                result.AppendFormat("   {0}\n", this.enemigos[i].ToString(version));
            }
            if (version.CPU != CPUVersion.MSX)
            {
                Enemigo enemigoVacio = new Enemigo();

                for (; i < version.MaxEnemigos; i++)
                {
                    result.AppendFormat("   {0}\n", enemigoVacio.ToString(version));
                }
            }
            result.AppendLine(version.EndOfSection);

            // Monedas.
            result.Append("\n        ;Monedas\n");
            result.Append("        ;XXXXYYYY\n");
            for (i = 0; i < this.monedas.Count; i++)
            {
                result.AppendFormat("   {0}\n", this.monedas[i].ToString(version));
            }
            if (version.CPU != CPUVersion.MSX)
            {
                Moneda monedaVacia = new Moneda();

                for (; i < version.MaxMonedas; i++)
                {
                    result.AppendFormat("   {0}\n", monedaVacia.ToString(version));
                }
            }
            result.AppendLine(version.EndOfSection);

            return(result.ToString());
        }
Ejemplo n.º 6
0
        internal string ToString(Version version)
        {
            StringBuilder result = new StringBuilder();
            int i = 0;

            // Descriptor.
            result.AppendFormat(";.Pantalla {0}\n", this.numPantalla);

            if (version.CPU == CPUVersion.MSX)
            {
                result.AppendFormat("   {0} {1} ; FONDO\n", version.TokenDef, (byte)this.tileFondo);
            }
            else
            {
                result.Append("        ;TTPPPIII\n");
                result.AppendFormat("   {3} {4}{0}{1}{2}{5}            ; Descriptor\n",
                   Utils.ToBinary2((byte)this.tileFondo),
                   Utils.ToBinary3((byte)this.paperColor),
                   Utils.ToBinary3((byte)this.inkColor),
                   version.TokenDef,
                   version.PrefijoDatoBin,
                   version.EndOfByte);
            }

            // Plataformas.
            result.Append("\n        ;Objetos\n");
            result.Append("        ;datos \"al reves\", por eso del \"endian\"\n");
            result.Append("        ;LLLLTTTD   XXXXYYYY\n");
            for (i = 0; i < this.plataformas.Count; i++)
            {
                result.AppendFormat("   {0}\n", this.plataformas[i].ToString(version));
            }
            if (version.CPU != CPUVersion.MSX)
            {
                Plataforma plataformaVacia = new Plataforma();

                for (; i < version.MaxPlataformas; i++)
                {
                    result.AppendFormat("   {0}\n", plataformaVacia.ToString(version));
                }
            }

            result.AppendLine(version.EndOfSection);

            // Moviles.
            result.Append("\n        ;Moviles\n");
            result.Append("        ;YYYYTTTD   AAAABBBB\n");
            for (i = 0; i < this.enemigos.Count; i++)
            {
                result.AppendFormat("   {0}\n", this.enemigos[i].ToString(version));
            }
            if (version.CPU != CPUVersion.MSX)
            {
                Enemigo enemigoVacio = new Enemigo();

                for (; i < version.MaxEnemigos; i++)
                {
                    result.AppendFormat("   {0}\n", enemigoVacio.ToString(version));
                }
            }
            result.AppendLine(version.EndOfSection);

            // Monedas.
            result.Append("\n        ;Monedas\n");
            result.Append("        ;XXXXYYYY\n");
            for (i = 0; i < this.monedas.Count; i++)
            {
                result.AppendFormat("   {0}\n", this.monedas[i].ToString(version));
            }
            if (version.CPU != CPUVersion.MSX)
            {
                Moneda monedaVacia = new Moneda();

                for (; i < version.MaxMonedas; i++)
                {
                    result.AppendFormat("   {0}\n", monedaVacia.ToString(version));
                }
            }
            result.AppendLine(version.EndOfSection);

            return result.ToString();
        }
Ejemplo n.º 7
0
        private void currentLevelView_MouseUp(object sender, MouseEventArgs e)
        {
            byte tileX = (byte)(e.X / 32);
            byte tileY = (byte)(e.Y / 32);

            switch (this.currentStatus)
            {
                case AppState.Normal:
                    this.currentLevelProp.SelectedObject = getObjectAt(tileX, tileY);
                    enableToolsTripButtons();
                    break;
                case AppState.AddingPlatform:
                    if (this.isDrawing && ((e.Button & MouseButtons.Left) == MouseButtons.Left))
                    {
                        // Fin de arrastre para colocar una plataforma...
                        updatePlataformaDibujada(tileX, tileY);
                    }
                    this.isDrawing = false;
                    updateView();
                    break;
                case AppState.AddingCoin:
                    Moneda moneda = new Moneda();

                    moneda.X = tileX;
                    moneda.Y = tileY;

                    this.currentLevel.Monedas.Add(moneda);
                    this.currentLevelProp.SelectedObject = moneda;

                    this.updateView();
                    break;
                case AppState.AddingEnemy:
                    Enemigo enemigo = new Enemigo();

                    enemigo.TileDer = tileX;
                    enemigo.TileIzq = tileX;
                    enemigo.TileVert = tileY;
                    enemigo.TipoEnemigo = tipoEnemigo;
                    enemigo.Velocidad = Velocidad.Lento;

                    this.currentLevel.Enemigos.Add(enemigo);
                    this.currentLevelProp.SelectedObject = enemigo;

                    this.updateView();
                    break;
            }
        }