comparison Utility.lua @ 3:a55f4f2a4603 tip

intial (real) commit!
author Kyle@Kyle-PC
date Thu, 23 Feb 2012 00:34:43 -0500
parents
children
comparison
equal deleted inserted replaced
2:37321677b4d9 3:a55f4f2a4603
1 --[[
2 Title: Suicide Kings
3 Author: Brom
4 Version: 0.1
5 ]]
6
7 local function RandomCharacter()
8
9 -- 0-9, A-Z, a-z = 10 + 26 + 16
10 local i = math.random(0,61)
11
12 -- strip offset and ascii jump
13 if ( i >= 36 ) then
14 -- a:z
15 i = ( i - 36 ) + 97
16 elseif ( i >= 10 ) then
17 -- A:Z
18 i = ( i - 10 ) + 65
19 else
20 -- 0:9
21 i = ( i + 48 )
22 end
23
24 return string.char( i )
25
26 end
27
28 function SuicideKings:UID( reserved )
29
30 -- uid length
31 -- unique values = 62^4 = 14776336
32 local length = 4
33
34 -- generate a random string
35 local s = RandomCharacter()
36 for i = 1, length-1 do
37 local c = RandomCharacter()
38 s = s .. c
39 end
40
41 -- if taken, try again
42 while ( reserved[s] ~= nil ) do
43 s = SuicideKings:UID( reserved )
44 end
45
46 return s
47
48 end