Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package rpgkata
- import (
- "strconv"
- // "fmt"
- )
- type Player struct {
- Name string
- Speed int
- AttackCounter int
- MaxHealth int
- Health int
- Weapon string
- WeaponType int
- DealedDamage int
- DamageFixed int
- DamageVariable int
- ArmorName string
- ArmorHealth int
- }
- func Decode(datain *StringOrArray) []*Player {
- var players []*Player
- for _, player := range datain.Thearray {
- p := new(Player)
- pieces := player.Thearray
- p.Name = pieces[0].Thestring
- p.Speed, _ = strconv.Atoi(pieces[1].Thestring)
- p.Health, _ = strconv.Atoi(pieces[2].Thestring)
- if pieces[3].Type==2 { // Weapon
- // fmt.Println("doppio")
- p.Weapon = pieces[3].Thearray[0].Thestring
- p.WeaponType, _ = strconv.Atoi(pieces[3].Thearray[1].Thestring)
- } else {
- // fmt.Println("singolo")
- p.Weapon = pieces[3].Thestring
- p.WeaponType = 0
- }
- if pieces[4].Type==2 { // Damage
- // fmt.Println("doppio")
- p.DamageFixed, _ = strconv.Atoi(pieces[4].Thearray[0].Thestring)
- p.DamageVariable, _ = strconv.Atoi(pieces[4].Thearray[1].Thestring)
- p.DamageVariable -= p.DamageFixed
- } else {
- // fmt.Println("singolo")
- p.DamageFixed, _ = strconv.Atoi(pieces[4].Thestring)
- p.DamageVariable = 0
- }
- p.MaxHealth = p.Health
- // fmt.Printf("len(pieces) = %d\n", len(pieces))
- if len(pieces) > 6 { // Armor
- p.ArmorName = pieces[5].Thestring
- p.ArmorHealth, _ = strconv.Atoi(pieces[6].Thestring)
- } else {
- p.ArmorName = "'None'"
- p.ArmorHealth = 0
- }
- if p.ArmorHealth == 0 {
- p.ArmorName = "'None'"
- }
- p.DealedDamage = 0
- p.AttackCounter = 0
- players = append(players, p)
- }
- return players
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement