问题标题: 推箱子游戏9技术难题及注释版

0
0
已解决
王文博
王文博
缔造者之神
缔造者之神

由于推箱子游戏中关键部分的注释少之又少,所以我会在今天尽可能的去写更多的注释,来帮助大家更好的理解这个代码,也便于帮助大家来改这个代码。

新增加1个技术难题:

1.clear()函数的清屏没有system(“cls”)那么彻底,就会造成上回合的游戏胜利保留到下一回合去。希望大家可以把这个问题解决掉,


0
已采纳
飞速小程序开发商
飞速小程序开发商
初级守护
初级守护

这其实很简单,我们用一个程序说明:

void clear(){
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD coordScreen = { 0, 0 };
    SetConsoleCursorPosition( hConsole, coordScreen );
}

你想达到的是输出一个1,清屏,再输出换行一的效果,但他输出的:

这是应为这个函数的原理:

他会将新的字符盖到旧的字符上!而“\n”不是字符,自然就盖不上了(空格也可以盖上)

想要解决这个问题,就需要找到哪些地方盖不住上一层字符,改成cls()就行了!

飞速小程序开发商在2021-06-30 15:19:50追加了内容

e~

错了,程序是这个

cout<<"1";
    clear();
    cout<<"\n1";

0
0
0
我要回答