ここらへんは
僕の黒歴史とも言える
こっそり載ってるとも言える
プロジェクトすぅぃった。という企画の
サンプルプログラムをRubyに移植するという企画です
プロジェクトすぅぃった。という企画は
GUI操作なんですが
CUIで似たようなことをするのを目指してます
# encoding: UTF-8
# 以下はサンプルプログラム
# Ruby動作2.6で確認
# ボタンが押された時にこれらの変数をselected_btnextに代入して
# メインルーチンにジャンプする
$btnext_1 = ""
$btnext_2 = ""
# ボタンにって選択される選択肢のID
$selected_btnext = "a"
# これがtrueになると終了する
$exit = false
require 'io/console'
# ここからメインルーチン
def bt_selected_gomain
tmp_ch = "?"
while 1
if $exit == true then break end
case $selected_btnext
when "a" then
$btnext_1 = "aa"
$btnext_2 = "ab"
print("zキーかxキーを押してください\n")
print("終了:qキー")
while 1
tmp_ch = get_getc()
if tmp_ch == "z"
$selected_btnext = $btnext_1
break
elsif tmp_ch == "x"
$selected_btnext = $btnext_2
break
elsif tmp_ch=="q"
$exit = true
print("QUIT")
tmp_ch = get_getc()
break
end
end # end of while B
when "aa" then
$btnext_1 = "a"
print("あなたはzキーを押しましたね\n")
print("NEXT:zキー")
while 1
tmp_ch = get_getc()
if tmp_ch == "z"
$selected_btnext = $btnext_1
break
end
end # end of while C
when "ab" then
$btnext_1 = "a"
print("あなたはxキーを押しましたね\n")
print("NEXT:zキー")
while 1
tmp_ch = get_getc()
if tmp_ch == "z"
$selected_btnext = $btnext_1
break
end
end # end of while D
end # end of case
end # end of while A
end # end of method
def get_getc
$stdin.raw do |io|
ch = io.getc
print ch
print "\n\n"
return ch
end
end
bt_selected_gomain