ここらへんは
僕の黒歴史とも言える
こっそり載ってるとも言える
プロジェクトすぅぃった。という企画の
サンプルプログラムを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