Exemple #1
0
        private void SetStickerDefs(string schemeString, string stickerDefsString)
        {
            var scheme = new ColorScheme();

            if (schemeString != null)
            {
                schemeString = schemeString.Replace(" ", "")
                               .Replace("%20", "");
                scheme = new ColorScheme(schemeString.Split('-'));
            }

            // default solved cube
            var cornerFaces = Enumerable.Range(1, 5)
                              .Select(faceNum => new[] { ColorScheme.Faces[0], ColorScheme.Faces[faceNum], ColorScheme.Faces[(faceNum + 1) % 5] })
                              .ToArray();

            // sticker formats expected in format: CharCharChar,CharCharChar,... where Char represents a face
            if (stickerDefsString == null)
            {
                stickerDefsString = "uffl,uflbl,ublbr,ubrfr,ufrf";
            }
            stickerDefsString = stickerDefsString.ToLower()
                                .Replace("br", "R")
                                .Replace("bl", "L")
                                .Replace("fr", "r")
                                .Replace("fl", "l");

            CornerStickerDefs = stickerDefsString
                                .Split(',')
                                .Select(PieceDef => PieceDef.ToCharArray()
                                        .Select(stickerFace => scheme.GetFace(stickerFace))
                                        .ToArray())
                                .ToArray();
        }
        private void SetStickerDefs(string schemeString, string stickerDefsString)
        {
            var scheme = new ColorScheme();


            if (schemeString != null)
            {
                schemeString = schemeString.Replace(" ", "")
                               .Replace("%20", "");
                scheme = new ColorScheme(schemeString.Split('-'));
            }


            // default solved cube
            if (stickerDefsString == null)
            {
                stickerDefsString = "u;uf,ufl,ubl,ubr,ufr;uffl,uflbl,ublbr,ubrfr,ufrf";
            }


            CenterColor = scheme.GetFace(char.Parse(stickerDefsString.Split(';')[0]));

            stickerDefsString = stickerDefsString.ToLower()
                                .Replace("br", "R")
                                .Replace("bl", "L")
                                .Replace("fr", "r")
                                .Replace("fl", "l");

            EdgeStickerDefs = stickerDefsString
                              .Split(';')[1]
                              .Split(',')
                              .Select(PieceDef => PieceDef.ToCharArray()
                                      .Select(stickerFace => scheme.GetFace(stickerFace))
                                      .ToArray())
                              .ToArray();

            CornerStickerDefs = stickerDefsString
                                .Split(';')[2]
                                .Split(',')
                                .Select(PieceDef => PieceDef.ToCharArray()
                                        .Select(stickerFace => scheme.GetFace(stickerFace))
                                        .ToArray())
                                .ToArray();
        }