Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==================================================
- #--------------------------------------------------
- #
- #==================================================
- # 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement