気まずい日常

6293 ワード

気まずい日常
  • 2020年6月15日ユビキタスネットワーク実習中
  • 2020年6月15日ユビキタスネットワーク実習中
    わあ、実习の初日、恒例のとても水の一日でした(先生はまたC言语から入门しました)、ガチョウ、これまた転覆の一日でした.
    最初は2つの小さな知識externキーワードと列挙実装boolタイプをgetしました
    // game001.c
    #include 
    #include 
    /***
    * Linux         
    ***/
    char mygetch()
    {
        struct termios oldt, newt;
        char ch;
        tcgetattr( STDIN_FILENO, &oldt );
        newt = oldt;
        newt.c_lflag &= ~( ICANON | ECHO );
        tcsetattr( STDIN_FILENO, TCSANOW, &newt );
        ch = getchar();
        tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
        return ch;
    }
    
    //game003.c
    extern char mygetch();
    typedef enum{false,true} bool;
    

    externキーで他を使用できます.cファイルの変数と関数(関数の加算と加算は同じで、グローバル関数にはextern宣言が付いているそうです)は、大規模なプログラムをコンパイルするときにヘッダファイルを直接参照するよりも速くできるそうです.
    列挙タイプはcにboolタイプを加えることができ、c++に慣れている人にとっては良い選択であり、後期の修正にも有利である.エコーなしとキャッシュ入力は今回の実習で比較的価値のある収穫です(長い間黒いウィンドウプログラムを書いていません).
    先生の宿題も簡単で、スペースが続くと判断して、escは退出して、他のキーは応答しないで、そこで......私はすぐに書き終わって、それから大きな図を切って最初に提出して、先生は666に戻って、それから私は意外にもまた何人かの同級生に送って、それから意外にも誰も間違っていないことを言いました......
    bool restart(void)
    {
        while(1)
        {
            if(27 == mygetch())      //esc
            {
                return false;
            }
            if(32 == mygetch()) //  
            {
                return true;
            }
        }
    }
    
    while(1)
        {
            do_game();
            if(!restart())
            {
                break;
            }
        }
    

    ああ、夜にこのコードを見たら本当に撤回したいですね.これからは絶対によく注意してください.