示例#1
0
        protected override void OnKeyDown(KeyEventArgs e)
        {
            base.OnKeyDown(e);

            if (hkManager.ProcessKeyArgs(e) || e.Control || Paused)
            {
                return;
            }

            MorseCode code     = MorseCodeManager.GetMoreCode(e.KeyCode);
            bool      isAnswer = false;

            foreach (CodeSprite sprite in codeSprites)
            {
                if (!sprite.AnsweredCorrectly && sprite.MorseCode.Equals(code))
                {
                    sprite.AnsweredCorrectly = true;
                    sprite.ForeColor         = Color.GreenYellow;
                    isAnswer = true;
                    scoreSprite.Score++;
                    soundPlayer.PlayCorrect();
                }
            }

            if (!isAnswer)
            {
                scoreSprite.Score--;
                soundPlayer.PlayFail();
            }
        }
示例#2
0
 private static MorseCode ToPeriodMorseCode(MorseCode code)
 {
     return(new MorseCode(code.Character, code.Key, code.Code.Replace('•', '.')));
 }