非同期通信 その1

いよいよ非同期通信に入ります。題材は鬼ごっこ

画面制御「curses」ライブラリ

ちょっと寄り道になってしまうのですが、キャラクタベースの端末での制御が基本なので、お付き合いをします(^^;

  • curses」ライブラリを使用
    エスケープ文字列を直接扱うと端末の種類に依存してしまうので、「curses」ライブラリを使用します。
  • curses」ライブラリを使うと、キャラクタベースのウインドウが扱える
    ちょっとびっくり。へ〜。
    ウィンドウを扱う関数は、原始的だけど、ハンドルを使った擬似C++メンバー関数的な作りになっているのは、当たり前だけど関心しました。これならWindowsプログラミングの経験が役立つので、楽に理解できそうです。(こんなこと書くと、UNIXバリバリの人から怒られそうだな(^^;)
    • WINDOWオブジェクト生成:
      「WINDOW」オブジェクトへのポインタを宣言して、「newwin(行数, 桁数, 左上y座標, 左上x座標)」でインスタンス
    • Window枠の描画:
      「box(win, 縦線文字, 横線文字)」
    • 文字出力:
      「waddch(win, ch)」
    • カーソル移動:
      「wmove(win, y, x)」
    • 画面リフレッシュ:
      「wrefresh(win)」
    • 端末の設定変更:
      バッファリングをなくす「cbreak()」、エコーをやめる「noecho()」

今日はここまで。
RD-XS46導入でガンガン録れるようになったのが嬉しくて、録画消化が大変で時間が取れませんでした。これまた本末転倒(^^; 来週末に定期録画の内容を見直さないと、、、