Newer
Older
Ruby / curses_quiz_sample.rb
@SATO Kenjiro SATO Kenjiro on 13 Jan 2023 964 bytes 2023-01-13 19:52:50
# coding: utf-8
require 'curses'
include Curses

init_screen
cbreak #「Curses.」をつけなくてよくなる
noecho #getchのところで入力した文字が画面にでなくなる

n=0
mondai = ["遊佐の読み方は?","酒田の読み方は?"]
sentakushi = ["1:さかた 2:ゆざ 3:つるおか","1:さかた 2:ゆざ 3:つるおか"]
kotae = ["2","1"]

begin
  while n < mondai.length
    setpos(0,0) #問題を表示する座標を指定
    addstr(sprintf("%s",mondai[n])) #1
    addstr(sprintf("\n%s",sentakushi[n])) #2
    refresh #1、2を画面に表示
    answer=getch #答えを入力してもらう
    setpos(5,0) #正解・不正解を表示する座標を指定
    if answer == kotae[n]
      addstr("正解!")
    else
      addstr("不正解!")
    end
    refresh
    n+=1
    sleep(1)
    setpos(5,0) #正解・不正解と同じ座標に改行を出力して上書きする
    addstr("\n")
    refresh
  end
ensure
  close_screen
end