Killerdou
07-14-2007, 08:53 AM
and... make it leetspeak lol
Function LeetSpeak(Text: string; HowManyTimes, OutOf : integer) : string;
var
i: Integer;
TheLength: Integer;
NewText: String;
begin
TheLength:= 0;
Text := Replace(Text, 'and', '&');
Text := Replace(Text, 'anned', '&');
Text := Replace(Text, 'ant', '&');
Text := Replace(Text, 'aned', '&');
for i := 1 to Length(Text) do
begin
if (Random(OutOf) < HowManyTimes) then
Case lowercase(Text[I]) of
'a' : begin
Case random(6) of
0 : begin
Insert('4',NewText,TheLength +1);
TheLength := TheLength + 1;
end;
1 : begin
Insert('/\',NewText,TheLength +1);
TheLength := TheLength + 2;
end;
2 : begin
Insert('@',NewText,TheLength +1);
TheLength := TheLength + 1;
end;
3 : begin
Insert('/-\',NewText,TheLength +1);
TheLength := TheLength + 3; end;
4 : begin
Insert('^',NewText,TheLength +1);
TheLength := TheLength + 1; end;
5 : begin
Insert('aya',NewText,TheLength +1);
TheLength := TheLength + 3; end;
end;
end;
'b' : begin
case Random(8) of
0 : begin
insert('8',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('6',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('13',NewText,TheLength +1);
TheLength := TheLength + 2; end;
3 : begin
insert('P>',NewText,TheLength +1);
TheLength := TheLength + 2; end;
4 : begin
insert('!3',NewText,TheLength +1);
TheLength := TheLength + 2; end;
5 : begin
insert('(3',NewText,TheLength +1);
TheLength := TheLength + 2; end;
6 : begin
insert('/3',NewText,TheLength +1);
TheLength := TheLength + 2; end;
7 : begin
insert(')3',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'c' : begin
case Random(3) of
0 : begin
insert('[',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('<',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('(',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
'd' : begin
case Random(6) of
0 : begin
insert(')',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('[)',NewText,TheLength +1);
TheLength := TheLength + 2; end;
2 : begin
insert('I>',NewText,TheLength +1);
TheLength := TheLength + 2; end;
3 : begin
insert('?',NewText,TheLength +1);
TheLength := TheLength + 1; end;
4 : begin
insert('T)',NewText,TheLength +1);
TheLength := TheLength + 2; end;
5 : begin
insert('0',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
'e' : begin
case Random(3) of
0 : begin
insert('3',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('&',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('[-',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'f' : begin
case Random(2) of
0 : begin
insert('ph',NewText,TheLength +1);
TheLength := TheLength + 2; end;
1 : begin
insert('/=',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'g' : begin
case Random(5) of
0 : begin
insert('6',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('9',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('C-',NewText,TheLength +1);
TheLength := TheLength + 2; end;
3 : begin
insert('gee',NewText,TheLength +1);
TheLength := TheLength + 3; end;
4 : begin
insert('(V,',NewText,TheLength +1);
TheLength := TheLength + 3; end;
end;
end;
'h' : begin
case Random(7) of
0 : begin
insert('#',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('/-/',NewText,TheLength +1);
TheLength := TheLength + 3; end;
2 : begin
insert('[-]',NewText,TheLength +1);
TheLength := TheLength + 3; end;
3 : begin
insert(']-[',NewText,TheLength +1);
TheLength := TheLength + 3; end;
4 : begin
insert(')-(',NewText,TheLength +1);
TheLength := TheLength + 3; end;
5 : begin
insert('(-)',NewText,TheLength +1);
TheLength := TheLength + 3; end;
6 : begin
insert(':-:',NewText,TheLength +1);
TheLength := TheLength + 3; end;
end;
end;
'i' : begin
case Random(5) of
0 : begin
insert('1',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('!',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('eye',NewText,TheLength +1);
TheLength := TheLength + 3; end;
3 : begin
insert('3y3',NewText,TheLength +1);
TheLength := TheLength + 3; end;
4 : begin
insert(']',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
'j' : begin
case Random(2) of
0 : begin
insert('</',NewText,TheLength +1);
TheLength := TheLength + 2; end;
1 : begin
insert('(/',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'k' : begin
case Random(1) of
0 : begin
insert('!<',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'l' : begin
case Random(3) of
0 : begin
insert('1',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('7',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('1j',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'm' : begin
case Random(1) of
0 : begin
insert('/^^\',NewText,TheLength +1);
TheLength := TheLength + 4; end;
end;
end;
'n' : begin;
case Random(8) of
0 : begin
insert('^/',NewText,TheLength +1);
TheLength := TheLength + 2; end;
1 : begin
insert('/\/',NewText,TheLength +1);
TheLength := TheLength + 3; end;
2 : begin
insert('[\]',NewText,TheLength +1);
TheLength := TheLength + 3; end;
3 : begin
insert('<\>',NewText,TheLength +1);
TheLength := TheLength + 3; end;
4 : begin
insert('[]\',NewText,TheLength +1);
TheLength := TheLength + 3; end;
5 : begin
insert('//',NewText,TheLength +1);
TheLength := TheLength + 2; end;
6 : begin
insert('[]',NewText,TheLength +1);
TheLength := TheLength + 2; end;
7 : begin
insert('/V',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'o' : begin;
case Random(4) of
0 : begin
insert('0',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('()',NewText,TheLength +1);
TheLength := TheLength + 2; end;
2 : begin
insert('oh',NewText,TheLength +1);
TheLength := TheLength + 2; end;
3 : begin
insert('[]',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'p' : begin;
case Random(2) of
0 : begin
insert('9',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('[]D',NewText,TheLength +1);
TheLength := TheLength + 3; end;
end;
end;
'q' : begin;
case Random(1) of
0 : begin
insert('<!',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'r' : begin;
case Random(6) of
0 : begin
insert('2',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('/2',NewText,TheLength +1);
TheLength := TheLength + 2; end;
2 : begin
insert('lz',NewText,TheLength +1);
TheLength := TheLength + 2; end;
3 : begin
insert('[z',NewText,TheLength +1);
TheLength := TheLength + 2; end;
4 : begin
insert('12',NewText,TheLength +1);
TheLength := TheLength + 2; end;
5 : begin
insert('l2',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
's' : begin;
case Random(5) of
0 : begin
insert('5',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('z',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('ehs',NewText,TheLength +1);
TheLength := TheLength + 3; end;
3 : begin
insert('es',NewText,TheLength +1);
TheLength := TheLength + 2; end;
4 : begin
insert('$',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
't' : begin;
case Random(3) of
0 : begin
insert('7',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('+',NewText,TheLength +1);
TheLength := TheLength + 1; end;
2 : begin
insert('1',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
'u' : begin;
case Random(1) of
0 : begin
insert('v',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
'v' : begin;
case Random(1) of
0 : begin
insert('\/',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'w' : begin;
case Random(6) of
0 : begin
insert('\/\/',NewText,TheLength +1);
TheLength := TheLength + 4; end;
1 : begin
insert('vv',NewText,TheLength +1);
TheLength := TheLength + 2; end;
2 : begin
insert('\^/',NewText,TheLength +1);
TheLength := TheLength + 3; end;
3 : begin
insert('(n)',NewText,TheLength +1);
TheLength := TheLength + 3; end;
4 : begin
insert('\v/',NewText,TheLength +1);
TheLength := TheLength + 3; end;
5 : begin
insert('\x/',NewText,TheLength +1);
TheLength := TheLength + 3; end;
end;
end;
'x' : begin;
case Random(3) of
0 : begin
insert('><',NewText,TheLength +1);
TheLength := TheLength + 2; end;
1 : begin
insert('ecks',NewText,TheLength +1);
TheLength := TheLength + 4; end;
2 : begin
insert(')(',NewText,TheLength +1);
TheLength := TheLength + 2; end;
end;
end;
'y' : begin;
case Random(2) of
0 : begin
insert('j',NewText,TheLength +1);
TheLength := TheLength + 1; end;
1 : begin
insert('7',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
'z' : begin;
case Random(1) of
0 : begin
insert('2',NewText,TheLength +1);
TheLength := TheLength + 1; end;
end;
end;
else begin
insert(Text[I], NewText,TheLength +1);
TheLength := TheLength + 1; end;
end else
begin
insert(lowercase(Text[I]), NewText, TheLength +1);
TheLength := TheLength + 1;
end;
end;
Result := NewText;
end;
begin
WriteLn(LeetSpeak('text here', 10 , 10));
end.
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.