Abyssal
2007-05-14 17:55:58
function CreateNick(Name: string): string;
begin
Delete(Name, 1, 1);
while (Length(Name) > 3) do
begin
case Random(2) of
0: Delete(Name, 1, 1);
1: Delete(Name, Length(Name), 1);
end;
end;
Result:= Name;
end;
program NickCreator;
const
CharName = 'Babylonian'; //Full character name.
function CreateNick(Name: string): string;
begin
Delete(Name, 1, 1);
while (Length(Name) > 3) do
begin
case Random(2) of
0: Delete(Name, 1, 1);
1: Delete(Name, Length(Name), 1);
end;
end;
Result:= Name;
end;
begin
Writeln(CreateNick(CharName));
end.
Always creates a 3 letter nickname. To make it four, or five, then change the line 'while (Length(Name) > 3) do' to 4 instead of 3.
Also, here's a function that will take your player array and create all the nicknames for you!
procedure MakeNicknames(var ThePlayers: array of TUser);
var
i: Integer;
begin
Writeln('Creating nicknames...');
for i:= 0 to GetArrayLength(ThePlayers) - 1 do
begin
ThePlayers[i].Nick:= CreateNick(ThePlayers[i].Name);
Writeln(' -> Players[' + IntToStr(i) + '].Nick:= ' + ThePlayers[i].Nick);
end;
end;
Well, there they are. Hopefully we can eliminate the setup of nicknames, because I know some people don't even know what it's for.
~Abyssal