Ruby 簡単システム

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

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です