按esc后按n再按enter再按esc会出来两行

#include
#include
#include //非标准库函数 Sleep 所需的头文件
#include //非标准库函数 kbhit 和 getch 所需的头文件
#include
using namespace std;

const int ESCKEY = 27; //定义整型常量ESCKEY,赋值为ESC键的ASCII编码
const int posmax = 60; //右边界最大位置

int main()
{
int pos;//当前位置
int win = 0, loss = 0; //已赢局数和已输局数

cout << "打字游戏(按回车键开始,游戏过程中按 ESC 结束)" << endl;
getchar();
int ch = 0, key = 0, key1 = 0; //随机字符,玩家键入字符
srand(time(0)); //设置随机数种子
while(key != ESCKEY) //主循环。key 不是 ESC键时玩游戏
{ 
    ch = rand() % 26 + 'a'; //产生随机小写字符
    for(pos = 0; pos < posmax && key != ESCKEY; pos++) 
    {
        cout << "\b-" << (char)ch;
        pos++;
        Sleep(150);
       
        if (kbhit() && (key=getch()) != ESCKEY) 
        {
         if(key == ch)
         {
          win++;
                cout << "*\a";  //输出 * 并响铃
                break;
         }
         else if(key != ch)
         {
          loss++;
          Beep(500,500);
          break;
         }
        }
        
        
       
    }
    if (key == ESCKEY) //用户键入ESC键,需要确认
    { 
    

cout << "\n结束游戏吗?(y/n)";
key = getchar();
if (tolower(key)!='y' && tolower(key)!='n')
{
while(tolower(key)!='y' && tolower(key)!='n')
{
cout << "\n结束游戏吗?(y/n)";
key = getchar();

}

}
if (tolower(key)=='y') break;
else if (tolower(key)=='n') continue;

    }
    if (pos >= posmax) loss++;  //到达右边界
    cout << endl;
}

cout << "字符练习个数:" << win + loss << "   正确键入个数:" << win <<"   错误键入个数:"<< loss << endl;
cout << "游戏结束,谢谢使用" << endl;
return 0;

}

断点跟啊,看走进哪个分支里去了,不要靠猜