C語言並不是只能做數學題
https://
zhuanlan。zhihu。com/p/24
652156
哈哈這個老師比我寫的好哦,推薦你們看看
讓我們先來看一個例子:
按WASD可以移動螢幕上的小人:
原始碼如下:
#include
#include
using namespace std;
void Reset()
{
system(“cls”);
}
void Paint(char* buffer)
{
Reset();
std::cout< } void Clear(char* buffer) { for(int i = 0;i < 10;i++) { for(int j = 0; j<80; j++) { buffer[i*80+j] = ‘ ’; } } buffer[80*10] = 0; } void paintboy(char* buffer, int x, int y) { buffer[y*80+x] = ‘o’; buffer[(y+1)*80+x] = ‘+’; buffer[(y+1)*80+x-1] = ‘-’; buffer[(y+1)*80+x+1] = ‘-’; buffer[(y+2)*80+x] = ‘^’; } int main() { char buffer[80*10+1]; Clear(buffer); int x = 5, y= 7; while(true) { Clear(buffer); paintboy(buffer,x,y); Paint(buffer); char in = getch(); switch(in) { case ‘w’: y——; break; case ‘a’: x——; break; case ‘s’: y++; break; case ‘d’: x++; break; } } return 0; } 啊,當然,沒有處理溢位,跑螢幕外就會崩潰,不過能看懂這個程式的人,自然知道怎麼修復這個bug吧 所以說,其實還是因為學校開的c語言只教數學題 而且我覺得並不能怪學生想象力不豐富,老實說這個例子也不是我想出來的,不過碰巧,我當年在小霸王上學FBASIC的時候,第一個例子就是這個(只是被我改寫成了c語言的模式) 另外,真大神級的純控制檯遊戲,有個東西叫做nethack,有興趣的程式設計師朋友可以試試看