从一个小问题开始今天的话题,现在你要用c来编写一个游戏,它会每秒对外打印一个当前的魔法值,并且每秒都会恢复5滴蓝,但是用户按下q的时候会扣100滴蓝并输出技能名称,你该怎么用c语言来实现这一点呢?
然后你会发现你学的c语言完全无法解决这个问题。
大部分小白会发现课堂的c和真实的软件是完全不一样的。你学了c什么也做不了。这是因为现实世界当中大部分程序都不像课堂上教的一样是线性任务。一个典中典的c程序是使用scanf从用户输入中得到一个字符,然后处理这个字符。这个逻辑其实是只能存在课堂上,当在你的程序调用scanf的时候,你的程序可以说是完全停止的,你还怎么做别的事情?比如对外输出蓝量?这种程序只有在用户真正回车的时候才会继续执行。但是现实当中大部分是不能允许这种事情发生的,比如你在玩游戏,但你鼠标和键盘都不动的时候,你会发现你的画面也在运动,它是不可能阻塞线程等待你的输入的。
然后你会发现你学的c语言完全无法解决这个问题。
大部分小白会发现课堂的c和真实的软件是完全不一样的。你学了c什么也做不了。这是因为现实世界当中大部分程序都不像课堂上教的一样是线性任务。一个典中典的c程序是使用scanf从用户输入中得到一个字符,然后处理这个字符。这个逻辑其实是只能存在课堂上,当在你的程序调用scanf的时候,你的程序可以说是完全停止的,你还怎么做别的事情?比如对外输出蓝量?这种程序只有在用户真正回车的时候才会继续执行。但是现实当中大部分是不能允许这种事情发生的,比如你在玩游戏,但你鼠标和键盘都不动的时候,你会发现你的画面也在运动,它是不可能阻塞线程等待你的输入的。




