#==================================================
#--------------------------------------------------
#
#==================================================
# Advanced Name Gen v.1.0
#==================================================
# Автор: DeadElf79
# Версия: 1.0
#--------------------------------------------------
# Описание:
# Генерирует имена и названия городов
# из набора гласных и согласных букв и
# сочетаний. Английская версия!
#
#--------------------------------------------------
#==================================================
VOWEL=["a","e","i","u","o","ae","ue","ei"]
CONSONANT=["b","c","d","f","g","k","l","m","ch","gh","ght","n","nh","hne","hna",
"se","je","jhe","p","ph","s","sh","t","th","v","w","wh","x","z","ye","yi","yea",
"zh","zhe","de","deu","ork","erck","o\'","rh","rth"]
TOWN=["berg","burg","-city"," village","vill","hill","wa","gard","grad"]
def generate_name(minimum=4,maximum=8)
temp_name=""
name=""
bool_VOWEL=rand(0..1)
# Step 1: generate word
for i in minimum...(minimum+rand(minimum...maximum))
temp_name+= bool_VOWEL>0 ? VOWEL.sample : CONSONANT.sample
bool_VOWEL=1-bool_VOWEL
end
# Step 2: delete repeated symbols
ch=""
for i in 0...temp_name.size
if temp_name[i]!=ch
ch=temp_name[i]
name+=ch
end
end
# Step 3: upcase first symbol
name=name[0].upcase+name[1...name.size]
end
def generate_townname
temp_name=generate_name(3,5)
name=temp_name+TOWN.sample
end
# TEST ONLY! Delete if not use this
names=""
towns=""
6.times do
names+=generate_name+"\\n"
towns+=generate_townname+"\\n"
end
puts "\\tnames:"
puts names
puts "\\n\\ttowns:"
puts towns