示例#1
0
 public void AddLaufen(Tabular t)
 {
     Tabular a = new Tabular(2);
     a.addRow();
     a[0, 0] = GetText("Anfangen:");
     a[0, 1] = GetText("____ Felder");
     a.addRow();
     a[1, 0] = GetText("Weiter:");
     a[1, 1] = GetText("____ Felder");
     AddEntry(t, GetText(@"\dLaufen\d"), a);
 }
示例#2
0
 public void AddAngriff(Tabular t)
 {
     Tabular a = new Tabular(2);
     a.addRow();
     a[0, 0] = GetText("Angriffe:");
     a[0, 1] = GetText("W20 + ");
     a.addRow();
     a[1, 0] = GetText("2 bis ____:");
     a.addRow();
     a[2, 0] = GetText("____ bis 20:");
     AddEntry(t, GetText(@"\dAngriff\d mit _____________________________________________"), a);
 }
示例#3
0
 public void AddEntry(Tabular t, DrawBox Titel, DrawBox Content)
 {
     int n = t.Rows;
     t.addRow();
     t.addRow();
     t.addRow();
     t.setRowPen(n, Line);
     t.setRowPen(n + 1, HalbLine);
     t.setRowPen(n + 2, Line);
     t[n + 1, 0] = Titel;
     t[n + 2, 0] = Content.Geometry(2);
 }
示例#4
0
 public void AddVerteidigung(Tabular t, CharakterMan cm)
 {
     Tabular a = new Tabular(2);
     a.addRow();
     a[0, 0] = GetText("Akrobatik:");
     a[0, 1] = GetText("W20 + " + cm.Statisch.Fertigkeiten.FinalWert.Value()[Universe.Fertigkeiten.GetElement("Akrobatik")] + " + Boni:____ = W20 + ____");
     a.addRow();
     a[1, 0] = GetText("RK:");
     a[1, 1] = GetText("10 + Rüstung:____ * "
         + (cm.Statisch.Fertigkeiten.FinalWert.Value()[Universe.Fertigkeiten.GetElement("Rüstung")] / 20f).ToString("P0")
         + " + Boni:____ = ____"
         );
     a.addRow();
     a[2, 0] = GetText("FK:");
     a[2, 1] = GetText("RK:____ + "
         + cm.Statisch.Fertigkeiten.FinalWert.Value()[Universe.Fertigkeiten.GetElement("Verstecken")]
         + " + Boni:____ = ____"
         );
     AddEntry(t, GetText(@"\dVerteidigung\d"), a);
 }
示例#5
0
        public Tabular Resistenzen()
        {
            Tabular t = new Tabular(4);
            t.addRow(5, Line);
            for (int i = 0; i <= t.Columns; i++)
                t.columnPens[i] = Line;
            t[1, 0] = GetText("Stich", Color.Gold);
            t[2, 0] = GetText("Hieb", Color.SandyBrown);
            t[3, 0] = GetText("Wucht", Color.LightGray);
            t[0, 1] = new Whitespace(100, 0, false);
            t[0, 3] = new Whitespace(100, 0, false);

            t[1, 2] = GetText("Feuer", Color.Red);
            t[2, 2] = GetText("Kälte", Color.LightBlue);
            t[3, 2] = GetText("Säure", Color.GreenYellow);
            t[4, 2] = GetText("Elektro", Color.Blue);

            return t;
        }
示例#6
0
        public override DrawBox MakeBogen(CharakterMan Charakter)
        {
            this.ab = 2;

            Charakter.Update();

            float seite = 400;

            CString Haupt = new CString();
            Tabular Splitter = new Tabular(2);
            CString Left = new CString();
            CString Right = new CString();
            Assistment.Texts.Text Name = GetName(Charakter, GetLP(Charakter));

            Haupt.add(new Word("Alsland-Personenakte", Schrift, Germanica, 0, Line));
            Haupt.addAbsatz();
            Haupt.add(Splitter);
            Haupt.alignment = 0.5f;

            Splitter.addRow();
            Splitter[0, 0] = Left;
            Splitter[0, 1] = Right;

            Right.addWhitespace(seite);
            Right.add(base.GetBemerkungen(Charakter.Charakter.Super.Bemerkungen).Geometry(5));
            Right.alignment = 0.5f;
            Right.add(new Whitespace(300, 50, true));
            Right.add(Resistenzen());

            Left.alignment = 0.5f;
            Left.addWhitespace(seite);
            Left.addAbsatz();
            Left.add(Name.Geometry(30));
            Left.addAbsatz();
            #region Porträt
            try
            {
                Image img = Image.FromFile(Charakter.Charakter.Super.RP.Portrait);
                Left.add(new DynamicImageBox(img, 100, 100, 400, 400));
                Left.addAbsatz();
            }
            catch (Exception)
            {
            }
            #endregion

            Tabular leftTab = new Tabular(2);
            leftTab.addRow();
            CString AttRett = new CString();
            AttRett.add(GetEigenschaftenTabelleMitModif("Attribute", Charakter, Charakter.Statisch.Attribute, (a => (int)Math.Floor((a - 10f) / 2)), Universe.Attribute.Where(x => !x.Hidden)).Geometry(5));
            AttRett.add(GetEigenschaftenTabelle("Rettungswürfe", Charakter, Charakter.Statisch.Fertigkeiten, Universe.Fertigkeiten.Menge.Where(x => x.Rettungswurf)).Geometry(5));
            leftTab[0, 0] = AttRett;
            leftTab[0, 1] = GetEigenschaftenTabelle("Fertigkeiten", Charakter, Charakter.Statisch.Fertigkeiten,
                Universe.Fertigkeiten.Menge.Where(x => !x.Rettungswurf)).Geometry(5);
            Left.add(leftTab);
            Left.add(new Whitespace(300, 10, true));
            Left.add(Aktionen(Charakter));
            return Haupt.Geometry(rand);
        }
示例#7
0
        public Tabular GetTabelle(CharakterMan Charakter)
        {
            Abbildung<Attribut, int> w0 = Charakter.Charakter.Super.Attribute.Attribute;
            Abbildung<Attribut, int> w = Charakter.Statisch.Attribute.FinalWert.Value();

            Abbildung<Fertigkeit, int> f0 = Charakter.Charakter.Super.GetGrundwerteFertigkeiten(Charakter.Stufe);

            Tabular t = new Tabular(9);

            bool Master = Charakter.Stufe > Universe.CharakterDaten.StufenBachelor;

            IEnumerable<Fertigkeit> z = Charakter.Charakter.Super.Fertigkeiten.GetGelernteFertigkeiten(Master, Universe.CharakterDaten);

            Pen p = Pens.Black;
            int n = 0;
            int l = 0;
            int m = 0;

            Fertigkeit[][] fert = new Fertigkeit[3][];

            Attribut[] att = Universe.Attribute.GetElemente("Stärke", "Geschick", "Charisma");
            fert.CountMap(i =>
            {
                IEnumerable<Fertigkeit> y = z.Where(x => x.Attribut == att[i]);
                n = Math.Max(n, y.Count());
                return y.ToArray();
            });

            t.addRow(n + 1, p);
            for (int c = 0; c < 3; c++)
            {
                t[m, c * 3 + 0] = att[c].SchreibName;
                t[m, c * 3 + 1] = w0[att[c]] + "";
                t[m, c * 3 + 2] = w[att[c]] + "";
            }
            for (m = 1; m < n + 1; m++)
                for (int c = 0; c < 3; c++)
                    if (m < fert[c].Length)
                    {
                        Fertigkeit f = fert[c][m];
                        t[m, c * 3 + 0] = f.SchreibName;
                        t[m, c * 3 + 1] = f0[f] + "";
                        t[m, c * 3 + 2] = Charakter.FertigkeitsWert(f) + "";
                    }

            m = n + 1;

            att = Universe.Attribute.GetElemente("Intelligenz", "Intuition", "Wahrnehmung");
            fert.CountMap(i =>
            {
                IEnumerable<Fertigkeit> y = z.Where(x => x.Attribut == att[i]);
                l = Math.Max(l, y.Count());
                return y.ToArray();
            });

            t.addRow(l + 1, p);
            for (int c = 0; c < 3; c++)
            {
                t[m, c * 3 + 0] = att[c].SchreibName;
                t[m, c * 3 + 1] = w[att[c]] + "";
                t[m, c * 3 + 2] = w0[att[c]] + "";
            }
            for (m = n + 2; m < n + l + 2; m++)
                for (int c = 0; c < 3; c++)
                    if (m < fert[c].Length)
                    {
                        Fertigkeit f = fert[c].ElementAt(m);
                        t[m, c * 3 + 0] = f.SchreibName;
                        t[m, c * 3 + 1] = Charakter.FertigkeitsWert(f) + "";
                        t[m, c * 3 + 2] = f0[f] + "";
                    }

            return t;
        }
示例#8
0
        public override DrawBox MakeBogen(CharakterMan Charakter)
        {
            Charakter.Update();

            float seite = 400;

            CString Haupt = new CString();
            CString Oben = new CString();
            CString Unten = new CString();
            Haupt.add(new Word("Alsland-Personenakte", Schrift, Germanica, 0, Line));
            Haupt.addAbsatz();
            Haupt.add(Oben);
            Haupt.addAbsatz();
            Haupt.add(Unten);

            Haupt.alignment = Oben.alignment = Unten.alignment = 0.5f;

            Tabular Splitter = new Tabular(2);
            CString Left = new CString();
            CString Right = new CString();

            Assistment.Texts.Text Name = base.GetName(Charakter);

            Oben.add(Splitter);

            Splitter.addRow();
            Splitter[0, 0] = Left;
            Splitter[0, 1] = Right;

            Tabular Talente = GetTalente(Charakter, seite);
            //if (Talente.Rows > 0)
            //    Talente.setRowPen(Talente.Rows - 1, Pens.Black);
            //Talente.addRow();
            //Talente[Talente.Rows - 1, 0] = this.GetHarte(Charakter);
            Right.add(Talente.Geometry(5));
            Right.alignment = 0.5f;

            Left.alignment = 0.5f;
            Left.addWhitespace(seite);
            Left.addAbsatz();
            Left.add(Name.Geometry(30));
            Left.addAbsatz();
            #region Porträt
            try
            {
                Image img = Image.FromFile(Charakter.Charakter.Super.RP.Portrait);
                Left.add(new DynamicImageBox(img, 100, 100, 400, 400));
            }
            catch (Exception)
            {
            }
            #endregion

            ab = 18;

            Title = new FontMeasurer("Calibri", 16);
            Normal = new FontMeasurer("Calibri", 14);

            Tabular t = new Tabular(3);
            t.addRow(2);
            t[0, 0] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Stärke")).Geometry(ab);
            t[0, 1] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Geschick")).Geometry(ab);
            t[0, 2] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Charisma")).Geometry(ab);
            t[1, 0] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Intelligenz")).Geometry(ab);
            t[1, 1] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Intuition")).Geometry(ab);
            t[1, 2] = GetAttributFertigkeitenTabelle(Charakter, Universe.Attribute.GetElement("Wahrnehmung")).Geometry(ab);

            Unten.add(t);

            Title = new FontMeasurer("Calibri", 12);
            Normal = new FontMeasurer("Calibri", 11);
            ab = 5;

            return Haupt.Geometry(rand);
        }
示例#9
0
        public Tabular Tabelle(xFont font, int[] fert, int[] attribute)
        {
            ZVektor<Fertigkeit> GW = Charakter.GrundwerteFertigkeiten();
            ZVektor<Attribut> GWA = Charakter.Charakter.Super.Attribute.Attribute;
            Tabular Fertigkeiten = new Tabular(3);
            Fertigkeiten.addRow(19);
            Fertigkeiten[0, 1] = new Word("GW ", Brushes.Black, font, 0, Pens.Black);
            Fertigkeiten[0, 2] = new Word("MW", Brushes.Black, font, 0, Pens.Black);

            int[] zeilen = new int[]{
                  2,  3,  4,  5,  6,
                  8,  9, 10, 11, 12,
                 14, 15, 16, 17, 18,
                 20, 21, 22, 23, 24,
                 26, 27, 28, 29, 30
            };
            for (int i = 0; i < fert.Length; i++)
            {
                Fertigkeit f = Universe.Fertigkeiten.Menge[fert[i]];
                Fertigkeiten[zeilen[i], 0] = new Word("        " + f.SchreibName, Brushes.Black, font, 0, Pens.Black);
                Fertigkeiten[zeilen[i], 1] = new Word(
                    GW[f] != 0 ? GW[f] + "" : "",
                    Brushes.Black, font, 0, Pens.Black);

                Fertigkeiten[zeilen[i], 2] = new Word(
                    Charakter.Statisch.Fertigkeiten.FinalWert.Value().Get(f) != 0 ? Charakter.Statisch.Fertigkeiten.FinalWert.Value().Get(f) + "" : "",
                    Brushes.Black, font, 0, Pens.Black);
            }
            zeilen = new int[] { 1, 7, 13, 19, 25 };
            for (int i = 0; i < attribute.Length; i++)
            {
                Attribut a = Universe.Attribute.Menge[attribute[i]];
                Fertigkeiten[zeilen[i], 0] = new Word(a.SchreibName, Brushes.Black, font, 0, Pens.Black);
                Fertigkeiten[zeilen[i], 1] = new Word(
                    GWA[a] != 0 ? GWA[a] + "" : ""
                    , Brushes.Black, font, 0, Pens.Black);
                Fertigkeiten[zeilen[i], 2] = new Word(
                     Charakter.Statisch.Attribute.FinalWert.Value().Get(a) != 0 ? Charakter.Statisch.Attribute.FinalWert.Value().Get(a) + "" : "",
                    Brushes.Black, font, 0, Pens.Black);

                Fertigkeiten.setRowPen(zeilen[i], Pens.Black);
                if (zeilen[i] == 1)
                    Fertigkeiten.setRowPen(zeilen[i] - 1, Pens.Black);
                else
                    Fertigkeiten[zeilen[i] - 1, 0] += new Whitespace(0, 50, false);
            }
            return Fertigkeiten;
        }