war.go raw
1 package main
2
3 import (
4 "fmt"
5 "github.com/l0k18/alieninvasion/pkg/war"
6 "github.com/l0k18/alieninvasion/pkg/world"
7 "os"
8 "strconv"
9 )
10
11 func result(err error) {
12 res := 0
13 if err != nil {
14 fmt.Println("Error:", err)
15 res = 1
16 }
17 fmt.Println("alieninvasion war simulator")
18 fmt.Printf("usage: %s <aliencount> <seed> <filename>\n", os.Args[0])
19 os.Exit(res)
20 }
21
22 func main() {
23
24 if len(os.Args) != 4 {
25 result(nil)
26 }
27
28 var aliens, seed int64
29 var err error
30
31 aliens, err = strconv.ParseInt(os.Args[1], 10, 64)
32 if err != nil {
33 result(err)
34 }
35
36 seed, err = strconv.ParseInt(os.Args[2], 10, 64)
37 if err != nil {
38 result(err)
39 }
40
41 w := world.New()
42 w.AddFromFile(os.Args[3])
43
44 war.War(w, aliens, seed)
45 // w.Print(os.Stdout)
46 }
47