Example #1
0
    public MoveChecker()
    {
        //MOVES GO HERE
        //. will match anything (ie empty space)
        //_ will match only a blank space
        //- will match any number of blank spaces
        //D will match any dancer (ie any letter)
        //A will match main dancer

        //Conga 3
        var c3 = new Move("Conga Line Lv.3", Color.green * 0.5f, 3, 2, 5);

        c3.AddPattern(new string[]
        {
            "DDD"
        }
                      , new Vector2(1, 0)
                      );

        c3.AddPattern(new string[]
        {
            "D",
            "D",
            "D"
        }
                      , new Vector2(0, 1)
                      );
        Moves.Add(c3);


        //Conga 2
        var c2 = new Move("Conga Line Lv.2", Color.green, 2, 2);

        c2.AddPattern(new string[]
        {
            "DD"
        }
                      , new Vector2(1, 0)
                      );

        c2.AddPattern(new string[]
        {
            "D",
            "D",
        }
                      , new Vector2(0, 1)
                      );
        Moves.Add(c2);


        //Boogaloo 1 (Type A)
        var b1A = new Move("Boogaloo Lv.1 A", new Color(0.29f, 0, 0.66f), 1, 3, 8);

        b1A.AddPattern(new string[]
        {
            "A.D",
            ".D.",
        }
                       , new Vector2(-1, 0)
                       );

        b1A.AddPattern(new string[]
        {
            ".D.",
            "D.A",
        }
                       , new Vector2(1, 0)
                       );

        b1A.AddPattern(new string[]
        {
            ".A",
            "D.",
            ".D"
        }
                       , new Vector2(0, -1)
                       );

        b1A.AddPattern(new string[]
        {
            "D.",
            ".D",
            "A."
        }
                       , new Vector2(0, 1)
                       );
        Moves.Add(b1A);

        //Boogaloo 1 (Type B)
        var b1B = new Move("Boogaloo Lv.1 B", new Color(0.29f, 0, 0.66f), 1, 3, 8);

        b1B.AddPattern(new string[]
        {
            "D.A",
            ".D.",
        }
                       , new Vector2(1, 0)
                       );

        b1B.AddPattern(new string[]
        {
            ".D.",
            "A.D",
        }
                       , new Vector2(-1, 0)
                       );

        b1B.AddPattern(new string[]
        {
            ".D",
            "D.",
            ".A"
        }
                       , new Vector2(0, 1)
                       );

        b1B.AddPattern(new string[]
        {
            "A.",
            ".D",
            "D."
        }
                       , new Vector2(0, -1)
                       );
        Moves.Add(b1B);


        //Boogaloo 2 (Type A)
        var b2A = new Move("Boogaloo Lv.1 A", new Color(0.29f, 0, 0.66f), 2, 3, 9);

        b2A.AddPattern(new string[]
        {
            "A.D",
            ".D.",
            ".D."
        }
                       , new Vector2(-1, 0)
                       );

        b2A.AddPattern(new string[]
        {
            ".D.",
            ".D.",
            "D.A",
        }
                       , new Vector2(1, 0)
                       );

        b2A.AddPattern(new string[]
        {
            "..A",
            "DD.",
            "..D"
        }
                       , new Vector2(0, -1)
                       );

        b2A.AddPattern(new string[]
        {
            "D..",
            ".DD",
            "A.."
        }
                       , new Vector2(0, 1)
                       );
        Moves.Add(b2A);

        //Boogaloo 2 (Type B)
        var b2B = new Move("Boogaloo Lv.1 B", new Color(0.29f, 0, 0.66f), 2, 3, 9);

        b2B.AddPattern(new string[]
        {
            "D.A",
            ".D.",
            ".D."
        }
                       , new Vector2(1, 0)
                       );

        b2B.AddPattern(new string[]
        {
            ".D.",
            ".D.",
            "A.D",
        }
                       , new Vector2(-1, 0)
                       );

        b2B.AddPattern(new string[]
        {
            "..D",
            "DD.",
            "..A"
        }
                       , new Vector2(0, 1)
                       );

        b2B.AddPattern(new string[]
        {
            "A..",
            ".DD",
            "D.."
        }
                       , new Vector2(0, -1)
                       );
        Moves.Add(b2B);

        //Boogaloo 3 (Type A)
        var b3A = new Move("Boogaloo Lv.1 A", new Color(0.29f, 0, 0.66f), 3, 3, 10);

        b3A.AddPattern(new string[]
        {
            "A.D",
            ".D.",
            ".D.",
            ".D."
        }
                       , new Vector2(-1, 0)
                       );

        b3A.AddPattern(new string[]
        {
            ".D.",
            ".D.",
            ".D.",
            "D.A",
        }
                       , new Vector2(1, 0)
                       );

        b3A.AddPattern(new string[]
        {
            "...A",
            "DDD.",
            "...D"
        }
                       , new Vector2(0, -1)
                       );

        b3A.AddPattern(new string[]
        {
            "D...",
            ".DDD",
            "A..."
        }
                       , new Vector2(0, 1)
                       );
        Moves.Add(b3A);

        //Boogaloo 3 (Type B)
        var b3B = new Move("Boogaloo Lv.1 B", new Color(0.29f, 0, 0.66f), 3, 3, 9);

        b3B.AddPattern(new string[]
        {
            "D.A",
            ".D.",
            ".D.",
            ".D."
        }
                       , new Vector2(1, 0)
                       );

        b3B.AddPattern(new string[]
        {
            ".D.",
            ".D.",
            ".D.",
            "A.D",
        }
                       , new Vector2(-1, 0)
                       );

        b3B.AddPattern(new string[]
        {
            "...D",
            "DDD.",
            "...A"
        }
                       , new Vector2(0, 1)
                       );

        b3B.AddPattern(new string[]
        {
            "A...",
            ".DDD",
            "D..."
        }
                       , new Vector2(0, -1)
                       );
        Moves.Add(b3B);


        //Booty Call
        var booty = new Move("Booty Call", new Color(0.95f, 0.26f, 0.211f), 0, 0, 1);

        booty.AddPattern(new string[]
        {
            "D-_A_-D"
        }
                         , new Vector2(1, 0)
                         );

        booty.AddPattern(new string[]
        {
            "D-_A--D"
        }
                         , new Vector2(2, 0)
                         );

        booty.AddPattern(new string[]
        {
            "D-A_--D"
        }
                         , new Vector2(3, 0)
                         );

        Moves.Add(booty);

        //Crowd Surf
        var surf = new Move("Crowd Surf", new Color(0.992f, 0.847f, 0.208f), 0, 3, 50);

        surf.AddPattern(new string[]
        {
            "._.",
            "DDD",
            ".D.",
        }
                        , new Vector2(0, -1)
                        , new Vector2(2, 1)
                        );

        surf.AddPattern(new string[]
        {
            ".D.",
            "DDD",
            "._."
        }
                        , new Vector2(0, 1)
                        , new Vector2(0, 1)
                        );

        surf.AddPattern(new string[]
        {
            ".D.",
            "DD_",
            ".D."
        }
                        , new Vector2(1, 0)
                        , new Vector2(1, 0)
                        );

        surf.AddPattern(new string[]
        {
            ".D.",
            "_DD",
            ".D."
        }
                        , new Vector2(-1, 0)
                        , new Vector2(1, 2)
                        );
        Moves.Add(surf);
    }