main
Raw Download raw file
 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}