ConsolePanel2 - hoge1e3/Tonyu2 GitHub Wiki

print文による画面への文字出力について,機能拡張を行ったものです.

  • 文字の表示位置指定や色の変更,表示済の文字の取得が可能です.
  • 半角文字は縦横比2:1,全角文字は半角文字2文字分の領域を使用し縦横比1:1で表示します.

print文で出力した文字列をConsolePanel2に表示したい場合,次のようにしてからprintを行います.

$consolePanel=new ConsolePanel2;

メソッド

これらのメソッドは,$consolePanel.メソッド名(引数...)のように使います.

  • locate(x,y) 文字列の表示位置をx列y行目に設定します.
  • color(fg,bg) 表示色(fg:文字色,bg:背景色)を指定します.
    • fg,bgは文字列かColorオブジェクト.bgは省略可能.
  • print(...args) 文字列,または値を表示して改行します.
  • puts(str) 文字列を表示し,改行しません.
  • peek(x,y) x列y行目に表示されている文字の文字コードを取得します.
    • 何も表示されていない場合はundefinedを返します.
    • 列番号xは半角文字での文字数です.
    • 全角文字が表示されている場合,列番号xに全角文字の左半分の座標が指定された場合,その全角文字の文字コードを返し,右半分が指定された場合は-1を返します.
  • poke(x,y,c) x列y行目に文字コードcで指定された文字を書き込みます.
  • scroll() 一行上にスクロールします.printで最下段に表示された場合は自動的にスクロールします.

使用例

$consolePanel=new ConsolePanel2;
for (let i=0;i<25;i++) {
    $consolePanel.locate(rnd(40),rnd(25));
    $consolePanel.color("white", new Color(rnd(128),rnd(128),rnd(128)));
    print("TESTです.");
    update();
}

$consolePanel以外のConsolePanel2オブジェクトの作成

既存のコンソール(print文で表示される領域)とは独立したConsolePanel2オブジェクトも作成可能です. コンストラクタには次のパラメータを渡すことができます.

  • size: 半角文字の縦のサイズ.単位ピクセル数.省略すると16.
  • width, height: パネルの幅,高さ.省略するとrow,col,sizeから自動設定,row,col,sizeが指定されていない場合は$Screenの大きさに収まる最大の大きさになる.
  • left, top: パネルの左上の座標. 省略するとx,yの値と大きさから設定
  • x, y: パネルの中央の座標.省略するとleft,topの値と大きさから設定
  • row, col: 表示される文字の行数と列数(半角文字で数えた文字数).省略するとパネルの大きさとsizeから自動設定.
  • fg, bg: 前景色と背景色

例:

let c=new ConsolePanel2{size:30, left:100, top:100, row:5, col:10};

c.print("これは");
c.color("red");
c.print("TEST");
c.color("white");
c.print("です");