document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #==================================================
  2. #--------------------------------------------------
  3. #
  4. #==================================================
  5. #    Advanced Name Gen v.1.0
  6. #==================================================
  7. #    Автор: DeadElf79
  8. #    Версия: 1.0
  9. #--------------------------------------------------
  10. #    Описание:
  11. #    Генерирует имена и названия городов
  12. #    из набора гласных и согласных букв и
  13. #    сочетаний. Английская версия!
  14. #
  15. #--------------------------------------------------
  16. #==================================================
  17. VOWEL=["a","e","i","u","o","ae","ue","ei"]
  18. CONSONANT=["b","c","d","f","g","k","l","m","ch","gh","ght","n","nh","hne","hna",
  19. "se","je","jhe","p","ph","s","sh","t","th","v","w","wh","x","z","ye","yi","yea",
  20. "zh","zhe","de","deu","ork","erck","o\'","rh","rth"]
  21. TOWN=["berg","burg","-city"," village","vill","hill","wa","gard","grad"]
  22.  
  23. def generate_name(minimum=4,maximum=8)
  24.     temp_name=""
  25.     name=""
  26.     bool_VOWEL=rand(0..1)
  27.     # Step 1: generate word
  28.     for i in minimum...(minimum+rand(minimum...maximum))
  29.         temp_name+= bool_VOWEL>0 ? VOWEL.sample : CONSONANT.sample
  30.         bool_VOWEL=1-bool_VOWEL
  31.     end
  32.     # Step 2: delete repeated symbols
  33.     ch=""
  34.     for i in 0...temp_name.size
  35.         if temp_name[i]!=ch
  36.             ch=temp_name[i]
  37.             name+=ch
  38.         end
  39.     end
  40.     # Step 3: upcase first symbol
  41.     name=name[0].upcase+name[1...name.size]
  42. end
  43.  
  44. def generate_townname
  45.     temp_name=generate_name(3,5)
  46.     name=temp_name+TOWN.sample
  47. end
  48.  
  49. # TEST ONLY! Delete if not use this
  50. names=""
  51. towns=""
  52. 6.times do
  53. names+=generate_name+"\\n"
  54. towns+=generate_townname+"\\n"
  55. end
  56. puts "\\tnames:"
  57. puts names
  58. puts "\\n\\ttowns:"
  59. puts towns
');