Sonyk, ну а что тут может быть сложного)) заводиш три массива строк. Первый - с именами, второй с действиями а третий с эпитетами. Заранее заполняешь два последних какими-нибудь нейтральными словами, не дающими никаких указаний пола, расы и прочих атрибутов. Далее формируешь предложение беря имя текущего героя из первого массива и рандомно любое значение из последних двух массивов. Например:
| Код | epithet[3] = "В порыве ярости", "Из последних сил", "Со всей дури"; action[3] = "рубит топором", "бьёт прикладом", "испускает зловония"; names[2] = "Живчик", "Жмурик";
|
Далее ты формируешь предложение:
| Код | printf("%s %s %s, урон составил %i хелсов", epithet[rand()%3], names[curent], action[rand()%3], rand()%100);
|
Далее в таком же духе. Т.е. если скажем пользователи сами же выбирают ещё и какие удары наносить, то из второго массива берутся соответствующие элементы. Эпитетов можно понатыкать превеликое множество в разных частях предложения. |