Ruby - игра на память - PullRequest
       14

Ruby - игра на память

0 голосов
/ 28 апреля 2009

Я пытаюсь создать очень простую игру с использованием Ruby, которая будет в Интернете. Я пытаюсь:

пользователь переходит на страницу и появляется строка в течение количества секунд X, а затем, после количества X, скрывает ее и запрашивает ввод пользователя, а затем проверяет, как далеко продвинулся человек (сколько он угадал)

У меня были бы строки для:

Тайм-аут в секундах. Текстовая строка. Пользовательская строка ввода.

Тогда я не уверен, как сравнить обе строки.

Ответы [ 3 ]

1 голос
/ 29 апреля 2009

Предполагается, что вы начинаете со строк, но обрабатываете данные в массивах. (Включает метод строка в массив.) Вы можете использовать это для всего, что может поместиться в массив. просто позвоните с двумя строками и верните счет. Это работает так же хорошо, когда любая строка короче.

#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
1 голос
/ 28 апреля 2009

Некоторые предложения относительно алгоритмов, которые вы можете использовать:

0 голосов
/ 28 апреля 2009

Для упрощенного подхода чуть выше моей головы, вы можете рассматривать его как сравнение массивов символов вместо сравнения строк.

Допустим, была показана строка «abcdefg», а пользователь набрал «abdcefg», считается, что он помнит 5 из 7 данной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...