Exemple #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();
        }
Exemple #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;
            }
        }
Exemple #3
0
        private bool updateEnemigo(byte tileX, byte tileY, bool actualizar)
        {
            Enemigo enemigo = seleccionado as Enemigo;

            if (enemigo != null)
            {
                if (enemigo.TileVert != tileY)
                {
                    enemigo.TileVert = tileY;
                    actualizar       = true;
                }
            }
            return(actualizar);
        }
Exemple #4
0
        public int CompareTo(object obj)
        {
            Enemigo objAComparar = obj as Enemigo;

            if (objAComparar == null)
            {
                throw new ArgumentException(string.Format("No se puede comparar con un objeto de tipo {0}", obj.GetType().FullName));
            }
            if (this.tileVert < objAComparar.tileVert ||
                (this.tileVert == objAComparar.tileVert && this.tileIzq < objAComparar.tileIzq) ||
                (this.tileVert == objAComparar.tileVert && this.tileIzq == objAComparar.tileIzq && this.tileDer < objAComparar.tileDer))
            {
                return(-1);
            }
            if (this.tileVert == objAComparar.tileVert &&
                this.tileIzq == objAComparar.tileIzq &&
                this.tileDer == objAComparar.tileDer)
            {
                return(0);
            }
            return(1);
        }
Exemple #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());
        }