大佬教程收集整理的这篇文章主要介绍了有没有更有效的方法来使用 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,请注明来意。