Ejemplo n.º 1
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.º 2
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();
        }