forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   Генератор имен (http://forum.boolean.name/showthread.php?t=13312)

Dzirt 10.09.2010 17:52

Генератор имен
 
Накатал генератор имен...может кому пригодится:

Код:

; ************************************************************
; * Project Name: Rpg Name Generator
; * Author:  Dzirt (Olexander Ponomariov)
; * Date Started: 29/04/2010
; * Last Updated: 29/04/2010
; * Website: -
; * Email: [email protected]
; * Version: 1.00
; ************************************************************


; Автор не отвечает за все нецензурные выражения которые могут сгенерироватся =)
Graphics3D 800, 600,32,2
SetFont LoadFont("Arial Cyr", 16,0,0,0)

name1$=Rpg_Name_Generator(4,1,2)
name2$=Rpg_Name_Generator(5,1,1)

RenderWorld

Text 10,0,"Здраствуй странник!  "
Text 10,20,"Вот познакомься с хозяевами этого дома.... "
Text 10,40,"..это господин: "+name2
Text 10,60,"..и леди : "+name1
Text 10,140,"(имена сгенирированы.вы также можете выбирать длинну генирируемых имен.) "

Flip
WaitKey()


;---------------------------------------------------------
;nameWords - Сколько букв будет в имени
;                        (больше шести ставить опасно...ваша психика можэт не выдержать таких слов)

;SeedRndName - Использовить сид для выбора букв или нет.
;                            0. Нет
;                            1.Да
;                            >=2.Всё что больше единицы будет считатся за сид. Тоисть если вы хотите фиксированый
;                            сид но дефолтный ( 0 ) сид вам не подходит...вы можете  назнчить его самому использовав
;                            нужное число.
;                            (думаю тут всем понятно что если врубить сид, то имена при
;                                каждом запуске проги будут разные. Если жэ нет, то имена будут фиксироваными.)

;ManOrWoman - Для какого пола генерируется имя.
;                            1. Мужик
;                            2. Женщина
;---------------------------------------------------------
Function Rpg_Name_Generator$(nameWords,SeedRndName,ManOrWoman)

   
    If SeedRndName=1
        SeedRnd (MilliSecs()*Rnd(17,MilliSecs))
    ElseIf  SeedRndName>1
        SeedRnd SeedRndName
    EndIf
   
    If ManOrWoman=0 ManOrWoman=1
    var=Abs(nameWords)
    If var=0 var=1

    For i=1 To var
        If i>1
                If temp_var=1   
                    char=mYRnd(16,20,var_for_rnd)
                Else
                    char=mYRnd(1,15,var_for_rnd)
                EndIf
        Else
            char=mYRnd(1,20,var_for_rnd)
        EndIf
       
        If ManOrWoman=1 And i=var char=mYRnd(1,15,var_for_rnd)
        If ManOrWoman=1 And i=var-1 char=mYRnd(16,20,var_for_rnd)
       
        If char<=15
            temp_var=1
            Select char
                Case 1
                    leter$="б"
                Case 2
                    leter$="в"
                Case 3
                    leter$="г"
                Case 4
                    leter$="д"
                Case 5
                    leter$="к"
                Case 6
                    leter$="л"
                Case 7
                    leter$="м"
                Case 8
                    leter$="н"
                Case 9
                    leter$="п"
                Case 10
                    leter$="р"
                Case 11
                    leter$="с"
                Case 12
                    leter$="т"
                Case 13
                    leter$="х"
                Case 14
                    leter$="ч"
                Case 15
                    leter$="ш"
                End Select
        Else       
            temp_var=2
            Select char
                Case 16
                    leter$="а"
                Case 17
                    leter$="е"
                Case 18
                    leter$="о"
                Case 19
                    leter$="у"
                Case 20
                    leter$="э"
            End Select
        EndIf
                var_for_rnd=char
                If i=1 leter$=UpperCyr(leter$)
           
                If ManOrWoman=2
                    If i=var And temp_var=1 leter$="я"
                    If i=var And temp_var=2 leter$="а"   
                EndIf
                name$=name$+leter$
    Next
           
    Return name$
End Function


 Function UpperCyr$(StringCyr$)
Length=Len(StringCyr$):If Length<1 Then Return ""
UpperStringCyr$=""
For i=1 To Length:Symbol=Asc(Upper$(Mid$(StringCyr$,i,1)))
If Symbol>$DF Then Symbol=Symbol-$20:Goto EndXLAT
Select Symbol
Case $A2
Symbol=$A1
Case $B4
Symbol=$A5
Case $B8
Symbol=$A8
Case $BA
Symbol=$AA
Case $BF
Symbol=$AF
End Select
.EndXLAT
UpperStringCyr$=UpperStringCyr$+Chr$(Symbol)
Next
Return UpperStringCyr$
End Function

Function mYRnd% (num1,num2,varRnd)

final=Rand(num1,num2)

While final=varRnd
    SeedRnd MilliSecs()
    final=Rand(num1,num2)
Wend

Return final
End Function


Nex 10.09.2010 18:54

Ответ: Генератор имен
 
Господин Накас и леди Кака. :-)

IgorOK 10.09.2010 19:10

Ответ: Генератор имен
 
Впомниается генерация имён из Диабло II. "Зазубренный Извращенец упырь" или что-то в этом роде XD


Ничего так)

Эшаеб и Леди Чача (вах!)

Dzirt 10.09.2010 19:36

Ответ: Генератор имен
 
ну я незря написал :
Цитата:

; Автор не отвечает за все нецензурные выражения которые могут сгенерироватся =)
...у меня иногда и похлеще было ХД)
Но впринцеппе в большенстве случаев имена более чем приличные.)

.Squid 10.09.2010 19:40

Ответ: Генератор имен
 
В Galcon, когда он еще был бесплатным, и написан был на питоне (сейчас хз, может на питоне и остался), интересный был генератор имен планет. Вполне произносимые и даже интересные названия получались.

Randomize 10.09.2010 20:26

Ответ: Генератор имен
 
Диабло рулит.
"Злость удар кулак дерева"
"Дуб Медвед Звёзд стаcш"

ARA 10.09.2010 20:37

Ответ: Генератор имен
 
Прикольно. В рпг можно генерировать имена для второстепенных NPC жителей болтающихся туда сюда для декораций =)

DeeJex 10.09.2010 21:01

Ответ: Генератор имен
 
господин Рулох
и леди Ошея

Android 10.09.2010 22:13

Ответ: Генератор имен
 
Господин Ебоух - это сильно.

Morganolla 10.09.2010 22:53

Ответ: Генератор имен
 
А почему нет некоторых букв типа ц ю щ ф и ...

Dzirt 10.09.2010 23:08

Ответ: Генератор имен
 
Цитата:

Сообщение от Morganolla (Сообщение 161596)
А почему нет некоторых букв типа ц ю щ ф и ...

Чтобы имена хорошие получались.

Randomize 10.09.2010 23:11

Ответ: Генератор имен
 
Юрий, Фёдор, Дмитрий - плохие имена?

Dzirt 10.09.2010 23:31

Ответ: Генератор имен
 
Цитата:

Сообщение от Randomize (Сообщение 161601)
Юрий, Фёдор, Дмитрий - плохие имена?

Ага, а ты наверное позабыл что генератор рандомный? Как думаешь какой шанс на такую комбинацию? В большинстве генерируемых имен эти буквы будут только мешать.

IGR 11.09.2010 04:46

Ответ: Генератор имен
 
сюдя по отзывам веселая программка !! Жаль немогу потестить !!
Конечно до "нормальной" генерации фентези-рпг имен еще нужно дотачивать !!

DeeJex 11.09.2010 10:03

Ответ: Генератор имен
 
Я когда-то делал генератор реальных имен и фамилий с выбором национальности, надо будет запостить наработки.

Spiderman 11.09.2010 15:37

Ответ: Генератор имен
 
Цитата:

; Автор не отвечает за все нецензурные выражения которые могут сгенерироватся =)
У меня получилось:
господин: Вивал
леди: Папа

Не мешало бы прогонять еще сгенерированные имена через дополнительную функцию проверки на матерность

Dzirt 11.09.2010 16:02

Ответ: Генератор имен
 
Ну если кому будет полезно - то можно будет и допилить генератор + встроить цензуру... Ток боюсь что уже рпгшки на блице делать мало кто будет =)

DeeJex 11.09.2010 17:15

Ответ: Генератор имен
 
Вложений: 1
Смотрим аттач :)

Dzirt 11.09.2010 17:25

Ответ: Генератор имен
 
Цитата:

Сообщение от DeeJex (Сообщение 161659)
Смотрим аттач :)

А почему из перечня имен нету господина Ебоуха? :4to:

Kudesnic 21.09.2010 01:18

Ответ: Генератор имен
 
Как вам такой простой генератор фамилий? :)
Сделал год назад

Код:

AppTitle "genfam"

Global lenfam%,word$


SeedRnd MilliSecs()

font=LoadFont("Arial",15)
SetFont font

For nword=1 To 20
Color 255,255,255
word=""
lenfam=Rand(3,6)
g=Rand(0,1)

For i=1 To lenfam
g=1-g
.r
If g=1 Then a=Rand(8):g2=1 Else a=Rand(11,28):g2=0
If i=1 And a=3 Then Goto r
If i=1 And a=10 Then Goto r
If a=10 Then g=g-1
Select a
Case 1 word=word+"у"
Case 2 word=word+"е"
Case 3 word=word+"ы"
Case 4 word=word+"а"
Case 5 word=word+"о"
Case 6 word=word+"е"
Case 7 word=word+"о"
Case 8 word=word+"и"
;Case 9 word=word+"ю"
Case 10 word=word+"ь"
Case 11 word=word+"т"
Case 12 word=word+"к"
Case 13 word=word+"н"
Case 14 word=word+"г"
Case 15 word=word+"б"
Case 16 word=word+"й"
Case 17 word=word+"з"
Case 18 word=word+"х"
Case 19 word=word+"ф"
Case 20 word=word+"в"
Case 21 word=word+"п"
Case 22 word=word+"р"
Case 23 word=word+"л"
Case 24 word=word+"д"
Case 25 word=word+"ж"
Case 26 word=word+"ч"
Case 27 word=word+"с"
Case 28 word=word+"м"
;Case 29 word=word+"ц"
;Case 30 word=word+"ш"
;Case 31 word=word+"щ"
End Select
Next
If g2=1 Then endword=Rand(4) Else endword=Rand(5,10)
Select endword
Case 1 word=word+"скин"
Case 2 word=word+"лов"
Case 3 word=word+"ко"
Case 4 word=word+"нко"
Case 5 word=word+"ов"
Case 6 word=word+"ов"
Case 7 word=word+"ин"
Case 8 word=word+"ко"
Case 9 word=word+"ер"
Case 10 word=word+"ач"

End Select
Print word
Next
WaitKey()
End


Dzirt 21.09.2010 01:43

Ответ: Генератор имен
 
Епико..да хотел бы я иметь такую фамилию.)

За гоу ту, гуру с элт монитором -копают ногами.)
Но в целом - нормально)

DeeJex 21.09.2010 09:38

Ответ: Генератор имен
 
у меня получилось:
дикер
ебепонко
хересер
йибыко
писосач
пылохер
секасин (!)
ебычач
ебеко
хулиголов
ебелов (подозрительно много фамилий на ЕБ)

звучит некрасиво

L.D.M.T. 21.09.2010 13:20

Ответ: Генератор имен
 
пукко
ебимко
уринко
упососкин
педосунко
усоскин
тежелупов
ехыбико
хуйежико
орыгасов
ебалов

Dzirt 21.09.2010 15:34

Ответ: Генератор имен
 
это не генаратор имен,а источник ненормативной лексики.

Kudesnic 22.09.2010 00:25

Ответ: Генератор имен
 
Спасибо за позитивные ответы...
Я так понял, кому что понравилось, то себе и выписали. В этом и есть принцип программы. На экран выводится несколько вариантов, а пользователь сам выбирает понравившиеся.
То что получаются матерные слова, оно и понятно, ведь никакого фильтра нецензуры тут нет. Мой косяк в том, что я не предупредил сразу

ABTOMAT 22.09.2010 00:45

Ответ: Генератор имен
 
хакер(!)
уголов
йухко
жыдамамач
офигач
мочер
егосупов
фегач
водолов
жыжопыко

спасибо, повеселил :)


Часовой пояс GMT +4, время: 06:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot