首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红宝石大师白钉计数

红宝石大师白钉计数
EN

Stack Overflow用户
提问于 2022-02-06 17:09:27
回答 1查看 56关注 0票数 1

我是Ruby编程的新手。这是我的第二个OOP项目。在一定的条件下,我在计算白皮钉时有困难。维基百科说:

-A黑键钉被放置在每个代码钉上,从猜出哪个颜色和位置都是正确的。

-A白键夹表示有正确的颜色码栓放置在错误的位置。

我相信我的黑钉情况是正确的,但我不能正确地数我的白钉。下面是函数代码片段:

代码语言:javascript
复制
def check_guess(code, guess)
    @white_peg = 0
    @black_peg = 0
    index = 0
    while index < code.length
      if code[index] == guess[index]
        @black_peg += 1
        puts "Black => #{@black_peg}"
      elsif guess.any? { |c| code.include?(c) } && code[index] != guess[index]
        @white_peg += 1
        puts "White => #{@white_peg}"
      end
      index += 1
    end
    puts "There are #{@white_peg} white peg and #{@black_peg} black peg"
    is_win?
  end
end

我在这个条件下调用上面的函数

代码语言:javascript
复制
  def codebreaker_attempt
    guess_array = @codebreaker.guess_code
     @codebreaker.check_guess(@codemaker.code, guess_array)
  end

最后,我的game方法是为了停止游戏

代码语言:javascript
复制
def play
    codemaker_choose
    (1..12).each do |i|
      puts "#{i}. GUESS\n"
     #puts "Guess array is #{guess}"
      break if codebreaker_attempt == true
    end

我要离开这里,如果你想检查的话,我要把我所有的代码都写好了。https://replit.com/@Burakkepuc/Mastermind#main.rb

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-07 14:41:02

-A白键夹表示有正确的颜色码夹放置在错误的位置。

我找到了答案。白钉针代码控件应该是

代码语言:javascript
复制
      elsif code.include?(guess[index]) && code[index] != guess[index]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71009608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档