Я пытаюсь создать игру на Ruby, включающую выбор чисел в определенном порядке и получение правильной последовательности за ограниченное количество попыток, бла, бла, бла. Моя проблема заключается в том, какие числа я предполагаю, они не добавляются к переменной @correct_r
и не отображаются, если они находятся в правильном положении.
Я почти уверен, что где-то там отсутствует инструкция _2 _ / _ 3_, но не знаю где. Любая помощь приветствуется.
Код
#by Touka, ©2015
actions = (0..9).to_a
@sequence = []
4.times do |key|
key = actions.sample
@sequence << key
end
@fails_left = 10
@correct_a = 0
@correct_r = 0
@a = " "
@b = " "
@c = " "
@d = " "
def sel
system "cls"
puts """
__________________________________
/ ___ ___ ___ ___ \\
| | | | | | | | | |
| | #{@a} | | #{@b} | | #{@c} | | #{@d} | |
| |___| |___| |___| |___| |
\\__________________________________/
Tries left: #{@fails_left}
Correct numbers (in wrong spot): #{@correct_r}
Enter guess (x x x x):"""
guess = gets.chomp
guess = guess.split(" ")
case guess[0]
when @sequence[0]
@correct_a += 1
@a = "#"
when @sequence[1]
@correct_r += 1
when @sequence[2]
@correct_r += 1
when @sequence[3]
@correct_r += 1
end
case guess[1]
when @sequence[0]
@correct_r += 1
when @sequence[1]
@correct_a += 1
@b = "#"
when @sequence[2]
@correct_r += 1
when @sequence[3]
@correct_r += 1
end
case guess[2]
when @sequence[0]
@correct_r += 1
when @sequence[1]
@correct_r += 1
when @sequence[2]
@correct_a += 1
@c = "#"
when @sequence[3]
@correct_r += 1
end
case guess[3]
when @sequence[0]
@correct_r += 1
when @sequence[1]
@correct_r += 1
when @sequence[2]
@correct_r += 1
when @sequence[3]
@correct_a += 1
@d = "#"
end
ct = @correct_r + @correct_a
if ct == 0
@fails_left -= 1
else
hi = " "
end
sel
end
sel