Newer
Older
Ruby / curses.rb
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-

require "curses"

# Cursesの初期化
Curses.init_screen

begin
  # 色の使用開始
  Curses.start_color
  
  # カラーペア番号を設定
  # 背景色を黒
  Curses.init_pair( 1, Curses::COLOR_BLUE,    Curses::COLOR_BLACK)
  Curses.init_pair( 2, Curses::COLOR_CYAN,    Curses::COLOR_BLACK)
  Curses.init_pair( 3, Curses::COLOR_GREEN,   Curses::COLOR_BLACK)
  Curses.init_pair( 4, Curses::COLOR_MAGENTA, Curses::COLOR_BLACK)
  Curses.init_pair( 5, Curses::COLOR_RED,     Curses::COLOR_BLACK)
  Curses.init_pair( 6, Curses::COLOR_WHITE,   Curses::COLOR_BLACK)
  Curses.init_pair( 7, Curses::COLOR_YELLOW,  Curses::COLOR_BLACK)
  # 文字色を黒
  Curses.init_pair( 8, Curses::COLOR_BLACK,   Curses::COLOR_BLUE)
  Curses.init_pair( 9, Curses::COLOR_BLACK,   Curses::COLOR_CYAN)
  Curses.init_pair(10, Curses::COLOR_BLACK,   Curses::COLOR_GREEN)
  Curses.init_pair(11, Curses::COLOR_BLACK,   Curses::COLOR_MAGENTA)
  Curses.init_pair(12, Curses::COLOR_BLACK,   Curses::COLOR_RED)
  Curses.init_pair(13, Curses::COLOR_BLACK,   Curses::COLOR_WHITE)
  Curses.init_pair(14, Curses::COLOR_BLACK,   Curses::COLOR_YELLOW)
  
  # カラーペア番号で順に処理
  # 文字の色をセット
  Curses.attrset(Curses.color_pair(1))
  
  # 文字列を出力
  Curses.setpos(0,0)
  Curses.addstr(sprintf("カラーペア番号"))
                
  # 画面表示を更新
  Curses.refresh
  
  # キー入力があるまで待つ
  Curses.getch
  
ensure
  # Cursesの終了処理
  Curses.close_screen
end