main
1package main
2
3import (
4 "fmt"
5 "time"
6)
7
8type Resoruces struct {
9 Gold int
10 Stone int
11 Lumber int
12 Time time.Duration
13}
14
15func (r *Resoruces) String() string {
16 return fmt.Sprintf("%c% 4d %c% 4d %c% 4d",
17 _nerdGold, r.Gold,
18 _nerdStone, r.Stone,
19 _nerdLumber, r.Lumber)
20}
21
22type ErrNotEnoughResources struct {
23 Deficit *Resoruces
24 Delay time.Duration
25}
26
27func NewNotEnoughResources(
28 gold, stone, lumber int,
29 delay time.Duration) *ErrNotEnoughResources {
30 return &ErrNotEnoughResources{
31 Deficit: &Resoruces{
32 Gold: gold,
33 Stone: stone,
34 Lumber: lumber,
35 },
36 Delay: delay,
37 }
38}
39
40func (ner *ErrNotEnoughResources) Error() string {
41 return fmt.Sprintf("deficit %s, delay:%s",
42 ner.Deficit.String(),
43 ner.Delay.String())
44}