.net - visual basic hashtable image key/value -
what want achieve question random name generated array of strings particular enemyname chosen correspond eneimage.key , return value string(if possible) send form requesting information.
i post whole code interested people whole code, pastebin
so have hashtable below:
private eneimage new hashtable() sub main() eneimage.add("orc", my.resources.orc) eneimage.add("troll", my.resources.troll) eneimage.add("salamander", my.resources.salamander) eneimage.add("cavetroll", my.resources.cavetroll) eneimage.add("dragon", my.resources.dragon) eneimage.add("vampire", my.resources.vampire) eneimage.add("werewolf", my.resources.werewolf) end sub
and have for
function includes each loop iterates through hashtable:
private eimage bitmap public function getenemyimage() bitmap each de dictionaryentry in eneimage msgbox("key = {0}, value = {1}", de.key, de.value) next de
currently not using 1 below because chooses image @ random , name random aswell.
'for integer = n1 n2 'if = getrandom(n1, n2) 'eimage = enemyimage(i) 'end if 'next return eimage end function public function getenemyname() string initmonsters() n1 = lbound(enemyname) n2 = ubound(enemyname) integer = n1 n2 if = getrandom(n1, n2) , not string.isnullorempty(enemyname(i)) ename = enemyname(i) end if next return ename end function
i used answer given below , works perfectly.
private ename string private eimage image private eneimage new dictionary(of string, image) private sub initimages() if not eneimage.containskey("orc") eneimage.add("orc", my.resources.orc) eneimage.add("troll", my.resources.troll) eneimage.add("salamander", my.resources.salamander) eneimage.add("cavetroll", my.resources.cavetroll) eneimage.add("dragon", my.resources.dragon) eneimage.add("vampire", my.resources.vampire) eneimage.add("werewolf", my.resources.werewolf) end if end sub public function getenemyname() string ename = [enum].getname(gettype(enemies), getrandom(1, 7)) return ename end function public function getenemyimage() initimages() each de keyvaluepair(of string, image) in eneimage dim m string = de.key dim n string = ename.tolower if m.startswith(n) eimage = de.value end if next de return eimage end function
i think want enum of enemies allow translate random number enemy name. using dictionary allow store images images instead of objects:
enum enemies werewolf = 1 orc = 2 salamander = 3 troll = 4 cavetroll = 5 dragon = 6 vampire = 7 end enum private eneimage new dictionary(of string, image) sub main eneimage.add("orc", my.resources.orc) eneimage.add("troll", my.resources.troll) eneimage.add("salamander", my.resources.salamander) eneimage.add("cavetroll", my.resources.cavetroll) eneimage.add("dragon", my.resources.dragon) eneimage.add("vampire", my.resources.vampire) eneimage.add("werewolf", my.resources.werewolf) dim rnd1 new random(datetime.now.millisecond) dim enemyname string = [enum].getname(gettype(enemies), rnd1.next(1, 7)) end sub
Comments
Post a Comment