Меню сайта |
|
|
| |
|
Категории каталога |
|
| | |
|
Мини-чат |
|
|
| |
|
Наш опрос |
|
| | |
|
|
| | |
|
Diablo 2
[
]
| 19.12.2007, 19:16 |
|
Категория: Diablo II | Добавил: FixeRoK
|
Просмотров: 1072 | Загрузок: 0
| Комментарии: 1
| Рейтинг: 0.0/0 |
|
Всего комментариев: 1 | |
1
reader
(15.11.2009 17:49)
0
а где ссылочка?
|
|
|
|
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
Форма входа |
|
| | |
|
Поиск |
|
|
| |
|
Друзья сайта |
|
| require 'mathn'
runes = gets.downcase
if runes.size > 1000
puts "Line too long."
exit
end
rune_list = [
"No Rune",
"El Rune",
"Eld Rune",
"Tir Rune",
"Nef Rune",
"Eth Rune",
"Ith Rune",
"Tal Rune",
"Ral Rune",
"Ort Rune",
"Thul Rune",
"Amn Rune",
"Sol Rune",
"Shael Rune",
"Dol Rune",
"Hel Rune",
"Io Rune",
"Lum Rune",
"Ko Rune",
"Fal Rune",
"Lem Rune",
"Pul Rune",
"Um Rune",
"Mal Rune",
"Ist Rune",
"Gul Rune",
"Vex Rune",
"Ohm Rune",
"Lo Rune",
"Sur Rune",
"Ber Rune",
"Jah Rune",
"Cham Rune",
"Zod Rune"].map{|x| x.downcase }
getrunevalue = proc do |rune|
index = rune_list.index(rune)
exit unless index
if index >= 21 #pul
2 ** (index - 21)
else
3 ** (index - 21)
end
end
sum = 0
runes_size = 0
runes = runes.split(/[\s]+/).map do |runestring|
if runestring =~ /(\d+)(.*)/
sum += getrunevalue[$2 + " rune"] * ($1.to_i)
runes_size += $1.to_i
else
sum += getrunevalue[runestring + " rune"]
runes_size += 1
end
end.flatten
#p runes.sort{|a,b| rune_list.index(a+" Rune") <=> rune_list.index(b+" Rune")}
puts "#{sum.to_f} Puls of #{runes_size} runes total. Avg: #{sum/runes_size.to_f}"
sum1 = sum
sum = sum1.floor
sum1 -= sum
rune = 21
ans = []
while sum > 0
if sum % 2 == 1
ans << rune_list[rune]
end
sum = (sum/2).floor
rune += 1
break if rune == 33
end
rune = 20
while rune > 0
sum1 = sum1 * 3
if sum1 >= 1
ans << rune_list[rune]
sum1 -= 1
end
if sum1 >= 1
ans << rune_list[rune]
sum1 -= 1
end
rune -= 1
end
ans.sort!{|r1,r2| rune_list.index(r1) <=> rune_list.index(r2)}
ans << "Zod Rune" if sum == 1
ans << "#{sum} Zod Runes" if sum > 1
puts "This is #{ans.join(", ").split(" ").map{|x| x[0..0].upcase + x[1..-1]}.join(" ")}" | |
|
|