如何替换字符串中匹配的字符?(红宝石)

周三

我正在构建一个刽子手游戏,我不知道如何用 player_input (Array) 中的匹配字母替换 hidden_​​word (String) 中的下划线。任何想法我应该做什么?提前谢谢你,我很感激!

def update
  if @the_word.chars.any? do |letter|
     @player_input.include?(letter.downcase)
     end
     puts "updated hidden word" #how to replace underscores?
  end
  puts @hidden_word
  puts "You have #{@attempts_left-1} attempts left."
end

我有两个字符串,the_word 和 hidden_​​word,还有一个数组,player_input。每当玩家选择与 the_word 匹配的字母时,hidden_​​word 应该更新。

例如

the_word = "红宝石"

hidden_​​word = "_ _ _ _"

玩家选择“g”,hidden_​​word 仍然是“_ _ _ _”

玩家选择“r”,hidden_​​word 更新“R _ _ _”

下面是代码的其余部分:


class Game
    attr_reader :the_word

    def initialize
        @the_word = random_word.upcase
        @player_input = Array.new
        @attempts_left = 10
    end

    def random_word
        @the_word = File.readlines("../5desk.txt").sample.strip()
    end

    def hide_the_word
        @hidden_word = "_" * @the_word.size
        puts "Can you find out this word? #{@hidden_word}"
        puts "You have #{@attempts_left} attempts left."
        puts @the_word #delete this
    end

    def update
        if @the_word.chars.any? do |letter|
            @player_input.include?(letter.downcase)
            end
            puts "updated hidden word" #how to replace underscores?
        end
        puts @hidden_word
        puts "You have #{@attempts_left-1} attempts left."
    end

    def guess_a_letter
        @player_input << gets.chomp
        puts "All the letters you have guessed: #{@player_input}"
    end

    def has_won?
        if !@hidden_word.include?("_") || @player_input.include?(@the_word.downcase)
            puts "You won!"
        elsif @attempts_left == 0
            puts "You lost..."
        end
    end

    def game_round #the loop need fixin
        puts "Let's play hangman!"
        hide_the_word
        while @attempts_left > 0
            guess_a_letter
            update
            @attempts_left -= 1 #fix this
            has_won?
            break if @player_input.include?("q") #delete this
        end
    end
end


new_game = Game.new
new_game.game_round
飞利浦

这里有一些代码可以让你继续前进。将猜出的字母收集到一个数组中。然后,将单词的字符映射到字符(如果猜到的话)或下划线。

word = "RHUBARB"
guessed_letters = ['A', 'R', 'U']
hidden_word = word.chars.map { |c| guessed_letters.include?(c) ? c : '_' }.join
# => "R_U_AR_"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

替换红宝石中的字符串

来自分类Dev

如何获取红宝石中多个字符串的精确字符串匹配

来自分类Dev

字符串替换红宝石

来自分类Dev

如何在红宝石(如Rubular)中获得匹配组而不拆分字符串

来自分类Dev

如何在红宝石(如Rubular)中获得匹配组而不拆分字符串

来自分类Dev

如何删除红宝石字符串中的反斜杠

来自分类Dev

红宝石,字符串替换方法的目的

来自分类Dev

用红宝石替换另一个数组中的字符串

来自分类Dev

红宝石从字符串中删除反斜杠

来自分类Dev

在文件中搜索字符串(红宝石)

来自分类Dev

在文件中搜索字符串(红宝石)

来自分类Dev

删除红宝石字符串中的尾随逗号

来自分类Dev

仅在字符串红宝石中获取时间

来自分类Dev

哈希红宝石中的负字符串值

来自分类Dev

红宝石反向字符串与unshift

来自分类Dev

红宝石当零或空字符串

来自分类Dev

红宝石反向字符串与unshift

来自分类Dev

如何合并红宝石中的多行字符串中的小时,分钟和秒?

来自分类Dev

如何使用正则表达式交换红宝石字符串中的数字位置?

来自分类Dev

如何格式化红宝石数组中的字符串?

来自分类Dev

如何从Rich Text中删除CSS属性以转换红宝石字符串?

来自分类Dev

红宝石字符串中所有选定字符替换的可能组合

来自分类Dev

查找并用红宝石中的反斜杠替换字符串中的百分比符号?

来自分类Dev

如何在Java中替换匹配的字符串?

来自分类Dev

如何在Java中替换匹配的字符串?

来自分类Dev

红宝石正则表达式从字符串末尾开始匹配

来自分类Dev

如何替换匹配的字符串php

来自分类Dev

如何分割数量不均的重复字符字符串?红宝石

来自分类Dev

从字符串中删除所有特殊字符-红宝石

Related 相关文章

  1. 1

    替换红宝石中的字符串

  2. 2

    如何获取红宝石中多个字符串的精确字符串匹配

  3. 3

    字符串替换红宝石

  4. 4

    如何在红宝石(如Rubular)中获得匹配组而不拆分字符串

  5. 5

    如何在红宝石(如Rubular)中获得匹配组而不拆分字符串

  6. 6

    如何删除红宝石字符串中的反斜杠

  7. 7

    红宝石,字符串替换方法的目的

  8. 8

    用红宝石替换另一个数组中的字符串

  9. 9

    红宝石从字符串中删除反斜杠

  10. 10

    在文件中搜索字符串(红宝石)

  11. 11

    在文件中搜索字符串(红宝石)

  12. 12

    删除红宝石字符串中的尾随逗号

  13. 13

    仅在字符串红宝石中获取时间

  14. 14

    哈希红宝石中的负字符串值

  15. 15

    红宝石反向字符串与unshift

  16. 16

    红宝石当零或空字符串

  17. 17

    红宝石反向字符串与unshift

  18. 18

    如何合并红宝石中的多行字符串中的小时,分钟和秒?

  19. 19

    如何使用正则表达式交换红宝石字符串中的数字位置?

  20. 20

    如何格式化红宝石数组中的字符串?

  21. 21

    如何从Rich Text中删除CSS属性以转换红宝石字符串?

  22. 22

    红宝石字符串中所有选定字符替换的可能组合

  23. 23

    查找并用红宝石中的反斜杠替换字符串中的百分比符号?

  24. 24

    如何在Java中替换匹配的字符串?

  25. 25

    如何在Java中替换匹配的字符串?

  26. 26

    红宝石正则表达式从字符串末尾开始匹配

  27. 27

    如何替换匹配的字符串php

  28. 28

    如何分割数量不均的重复字符字符串?红宝石

  29. 29

    从字符串中删除所有特殊字符-红宝石

热门标签

归档