Skip to content
Home
Post Code
Jass (Warcraft III)
Wurst
GUI (Warcraft III)
Galaxy (StarCraft II)
GUI (StarCraft II)
C++
Java
Delphi
Text
Search Code
Compare Code
Uploads
Draw
Create New Drawing
View Drawings
Graph
Log in
[code][color=7777FF][b]package[/b][/color] CustomObjectIdGenerator int [color=7777FF][b]array[/b][/color] id constant heroPrefix [b]=[/b] [color=77FF77]'W'[/color] constant nonheroPrefix [b]=[/b] [color=77FF77]'%'[/color] [color=AA77FF]boolean[/color] helperActivator [b]=[/b] initHelper() [color=7777FF][b]function[/b][/color] initHelper() returns [color=AA77FF]boolean[/color] [color=7777FF][b]for[/b][/color] int i [b]=[/b] [color=FFFF77]0[/color] [color=7777FF][b]to[/b][/color] [color=FFFF77]2[/color] id[b][[/b]i[b]][/b] [b]=[/b] [color=77FF77]'0'[/color] return [color=7777FF][b]true[/b][/color] [color=7777FF][b]function[/b][/color] nextValid(int c) returns int int r [b]=[/b] c [b]+[/b] [color=FFFF77]1[/color] [color=7777FF][b]if[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'_'[/color] [color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]','[/color][color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'"'[/color][color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'\'[/color] [color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'-'[/color] r[b]+[/b][b]+[/b] [color=7777FF][b]if[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'_'[/color] [color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]','[/color][color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'"'[/color][color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'\'[/color] [color=7777FF][b]or[/b][/color] r [b]=[/b][b]=[/b] [color=77FF77]'-'[/color] r[b]+[/b][b]+[/b] return r [color=7777FF][b]function[/b][/color] fourChar(int a[b],[/b] int b[b],[/b] int c[b],[/b] int d) returns int return (((((a*[color=FFFF77]256[/color]) [b]+[/b] b)*[color=FFFF77]256[/color])[b]+[/b]c)*[color=FFFF77]256[/color])[b]+[/b]d [color=7777FF][b]function[/b][/color] newId(int prefix) returns int [color=7777FF][b]if[/b][/color] helperActivator [color=7777FF][b]for[/b][/color] i [b]=[/b] [color=FFFF77]0[/color] [color=7777FF][b]to[/b][/color] [color=FFFF77]2[/color] [color=7777FF][b]if[/b][/color] id[b][[/b]i[b]][/b] < [color=77FF77]'~'[/color] id[b][[/b]i[b]][/b] [b]=[/b] nextValid(id[b][[/b]i[b]][/b]) [color=7777FF][b]for[/b][/color] j [b]=[/b] [color=FFFF77]0[/color] [color=7777FF][b]to[/b][/color] i[b]-[/b][color=FFFF77]1[/color] id[b][[/b]j[b]][/b] [b]=[/b] [color=77FF77]'!'[/color] return fourChar(prefix[b],[/b] id[b][[/b][color=FFFF77]2[/color][b]][/b][b],[/b] id[b][[/b][color=FFFF77]1[/color][b]][/b][b],[/b] id[b][[/b][color=FFFF77]0[/color][b]][/b]) error([color=77FF77]"No vaild id left"[/color]) return [color=FFFF77]0[/color] [color=7777FF][b]public[/b][/color] [color=7777FF][b]function[/b][/color] genId() returns int return newId(nonheroPrefix) [color=7777FF][b]public[/b][/color] [color=7777FF][b]function[/b][/color] genHeroId() returns int return newId(heroPrefix) [/code]
select language
jass
java
> delphi
C++
php
GSL
galaxy
visualBasic
wurst
Text
Markdown
select style
default
> bbcode - default
Jasscraft
jasscraft html
visual
lightweight
lightweightNr
goto line:
Compare with:
text copy window
edit this code
post new code
package CustomObjectIdGenerator int array id constant heroPrefix = 'W' constant nonheroPrefix = '%' boolean helperActivator = initHelper() function initHelper() returns boolean for int i = 0 to 2 id[i] = '0' return true function nextValid(int c) returns int int r = c + 1 if r == '_' or r == ','or r == '"'or r == '\' or r == '-' r++ if r == '_' or r == ','or r == '"'or r == '\' or r == '-' r++ return r function fourChar(int a, int b, int c, int d) returns int return (((((a*256) + b)*256)+c)*256)+d function newId(int prefix) returns int if helperActivator for i = 0 to 2 if id[i] < '~' id[i] = nextValid(id[i]) for j = 0 to i-1 id[j] = '!' return fourChar(prefix, id[2], id[1], id[0]) error("No vaild id left") return 0 public function genId() returns int return newId(nonheroPrefix) public function genHeroId() returns int return newId(heroPrefix)