程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)??

开发过程中遇到有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)?的问题如何解决?下面主要结合日常开发的经验,给出你关于有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)?的解决方法建议,希望对你解决有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)?有所启发或帮助;

在我用 Ruby 制作的基于文本的游戏中,我希望在一行文本上有多种颜色。油漆宝石似乎只能使用两种颜色,但我想要更多,所以我查找了那些终端代码来操纵光标位置,这样我就可以向上移动一行并以新颜色打印字符串。

有没有更有效的方法来做到这一点?这是商店购买功能的代码:

      clr
      draw_stats_main
      shopbag = Game_DB.weapons_array
      bagkeys = shopbag.keys
      bagkeys.delete_if {|i| i == 0}
      shopbag.each { |ID,value|
        if ID != 0
          if ID >= 10
            String1 = " (" + ID.to_s + ")" + " " + value[0]
            str1 = String1.size
          else
            String1 = "  (" + ID.to_s + ")" + " " + value[0]
            str1 = String1.size
          end
          String2 = "ATTACK: #{value[1]}"; str2 = String2.size
          String3 = "SPEED: #{value[2]}"; str3 = String3.size
          String4 = "" if !value[3]
          String4 = "TWO HANDED WEAPON" if value[3]
          str3 = String3.size
          pa "#{String1}"
          pa "\033[1A \033[#{str1}C #{String2}",:red,:bright
          pa "\033[1A \033[#{str1+str2+4}C #{String3}",:yellow,:bright if value[1] < 10
          pa "\033[1A \033[#{str1+str2+str3+9}C #{String4}",:red if value[1] < 10
          pa "\033[1A \033[#{str1+str2+3}C #{String3}",:bright if value[1] > 10 && value[1] < 100
          pa "\033[1A \033[#{str1+str2+str3+8}C #{String4}",:red if value[1] > 10 && value[1] < 100
          pa "\033[1A \033[#{str1+str2+2}C #{String3}",:bright if value[1] >= 100
          pa "\033[1A \033[#{str1+str2+str3+7}C #{String4}",:red if value[1] >= 100
          pa "        >> Cost: #{value[4]}",:yellow
        end
      }
      pa "#{Game_DB.tx(:other,0)}"
      pa "#{Game_DB.tx(:common,22)}",:green,:bright
      loop do
        key = gets.chomp.to_i
        if bagkeys.include?(key)
          if @player.gold >= shopbag[key][4]
            @player.remove_gold(shopbag[key][4])
            @player.add_item(:weapon,key)
            weap = shopbag[key][0]; weapstr = weap.delete " "
            pa "#{Game_DB.tx(:other,0)}"
            pa " You purchased #{weapstr} for #{shopbag[key][4]} gold! Dont forget to equip it!",:bright
            key = gets
            break
          else
            pa " You don't have enough gold!",:red
            key = gets
            break
          end
        elsif key == 0
          @shopmenu[0] = false
          break
        end
      end

这是玩家看到的这段代码的截图:Weapons Shop screenshot

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)?全部内容,希望文章能够帮你解决有没有更有效的方法来使用 Ruby 控制控制台光标(马车位置等)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: