Beispiel #1
0
        //should only throw I/O related exceptions
        public void Load(string filename)
        {
            Ordinals.Clear();
            Values.Clear();
            AlreadyMissed.Clear();
            Cursor = -1;

            StreamReader reader = new StreamReader(filename);
            string       line   = reader.ReadLine();

            while (line != null)
            {
                if (!line.Trim().StartsWith("#"))
                {
                    int tabIndex = line.IndexOf('\t');
                    if (tabIndex != -1)
                    {
                        string ordinal = line.Substring(0, tabIndex).Trim();
                        string value   = line.Substring(tabIndex).Trim();
                        if (ordinal != "" && value != "")
                        {
                            Ordinals.Add(ordinal);
                            Values.Add(value);
                            AlreadyMissed.Add(false);
                        }
                    }
                }
                line = reader.ReadLine();
            }

            reader.Close();
        }
Beispiel #2
0
        public bool TryResponse(string response)
        {
            bool ret = false;

            string expected = (Polarity == MemoryPractice.Polarity.OrdinalFirst ? Values[Cursor] : Ordinals[Cursor]);

            if (expected.ToLower() == response.ToLower())
            {
                ret = true;
                Ordinals.RemoveAt(Cursor);
                Values.RemoveAt(Cursor);
                AlreadyMissed.RemoveAt(Cursor);
            }
            else
            {
                if (!AlreadyMissed[Cursor])
                {
                    missCount++;
                }
                AlreadyMissed[Cursor] = true;
            }
            LastRightAnswer = expected;

            switch (Order)
            {
            case MemoryPractice.Order.Forward:
                //if (!ret)
                //  Cursor++;
                break;

            case MemoryPractice.Order.Backwards:
                if (ret)
                {
                    Cursor--;
                }
                break;

            default:
                Cursor = random.Next(Ordinals.Count);
                break;
            }

            return(ret);
        }
            public bool OrdinalIsPressed(Ordinals direction)
            {
                if (!Engaged)
                {
                    return(false);
                }

                switch (direction)
                {
                case Ordinals.North:
                    return(AngleNear(0));

                case Ordinals.South:
                    return(AngleNear(180));

                case Ordinals.East:
                    return(AngleNear(90));

                case Ordinals.West:
                    return(AngleNear(270));

                case Ordinals.NorthEast:
                    return(AngleNear(45));

                case Ordinals.NorthWest:
                    return(AngleNear(240 + 45));

                case Ordinals.SouthEast:
                    return(AngleNear(90 + 45));

                case Ordinals.SouthWest:
                    return(AngleNear(180 + 45));
                }

                return(false);
            }
Beispiel #4
0
 public DTOBaseParser(System.Data.IDataReader reader)
 {
     _ordinals = base.Populate <Ordinals>(reader);
 }
Beispiel #5
0
 public CredentialParser(System.Data.IDataReader reader)
     : base(reader)
 {
     _ordinals = Populate <Ordinals>(reader);
 }
Beispiel #6
0
 public CredentialParser(System.Data.IDataReader reader)
     : base(reader)
 {
     _ordinals = Populate<Ordinals>(reader);
 }