Javascript 红宝石记忆游戏

Javascript 红宝石记忆游戏,javascript,ruby,Javascript,Ruby,我正在尝试使用Ruby在web上构建一个非常简单的游戏。我正在努力: 用户进入页面,一个字符串出现X秒,然后在X秒后隐藏它并请求用户输入,然后检查该用户得到了多少(他们猜对了多少) 我将为以下内容设置字符串: 以秒为单位的超时文本字符串用户输入字符串 那么我不知道如何比较这两个字符串。关于可以使用的算法的一些建议: 测量用户输入与原件的正确程度 如果你真的很勇敢,也要看看 根据字符串的语言,创建一个基于字符串的匹配器可能会很有趣 对于一种简单的方法,您可以将其视为字符数组比较,而不是字符串比较

我正在尝试使用Ruby在web上构建一个非常简单的游戏。我正在努力:

用户进入页面,一个字符串出现X秒,然后在X秒后隐藏它并请求用户输入,然后检查该用户得到了多少(他们猜对了多少)

我将为以下内容设置字符串:

以秒为单位的超时文本字符串用户输入字符串


那么我不知道如何比较这两个字符串。

关于可以使用的算法的一些建议:

  • 测量用户输入与原件的正确程度
  • 如果你真的很勇敢,也要看看
  • 根据字符串的语言,创建一个基于字符串的匹配器可能会很有趣

对于一种简单的方法,您可以将其视为字符数组比较,而不是字符串比较


假设显示了字符串“abcdefg”,并且用户键入了“abdcefg”,则认为他记住了给定字符串中7个字符串中的5个。

这假设您从字符串开始,但处理数组中的数据。(包括字符串到数组的方法。)您可以将其用于数组中的任何内容。只需使用两个字符串调用,即可获得分数。当两个字符串中的任何一个都较短时,这种方法同样有效

#string to char array
def s_to_a(s)
  a = [] 
  s.each_char{|c| a << c}
  a
end

def memory_rating(s1, s2)
  score = 0

  #convert both strings to arrays
  a1 = s_to_a(s1)
  a2 = s_to_a(s2)

  a1.each do |e|
    # shift allows easy access to all elements of a2 
    # inside the iterator for a1
    score += (e == a2.shift) ? 1 : 0
  end
  score
end
#字符串到字符数组
def s_至_a(s)
a=[]

s、 每个字符{| c | a如果这个问题与ruby直接相关,为什么它只被标记为dhtml?我只是想确定我是否理解这个问题。错误的标记,只是把它们改了一下。越过了我的头,你能想到其他方法吗?让我动手并获得一些编码经验。我已经做了一个gu一个数字游戏。RyanTo开始,尝试一个简单的字符串比较。如果你的原始文本是“apple”,用户必须输入“apple”才能获得任何分数。接下来,进一步给他一些分数,提示他正确的部分等等。