-
Notifications
You must be signed in to change notification settings - Fork 1
/
gopher.go
51 lines (39 loc) · 789 Bytes
/
gopher.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package main
import (
"math/rand"
"github.com/meyskens/wwg-welcome/gopherize"
"fmt"
)
var buildorder = []string{ // or else it will end weird...
"Body",
"Eyes",
"Shirts",
"Hair",
"Glasses",
"Hats_and_Hair_Accessories",
"Extras",
}
func buildRandomGopher(name string) string {
rand.Seed(nameToSeed(name))
gopher := gopherize.NewGopher()
for _, b := range buildorder {
category := categories[b]
fmt.Println(category.Name)
image := category.Images[rand.Intn(len(category.Images))]
gopher.SetImage(image.ID)
}
url, err := gopher.GetImageURL()
if err != nil {
return "Sorry something bad happened"
}
return url
}
// hehehe
func nameToSeed(name string) int64 {
bytes := []byte(name)
var i int64
for _, b := range bytes {
i += int64(b)
}
return i
}