Commit f510d2e

bryfry <bryon@fryer.io>
2017-02-21 07:09:28
bot update master
1 parent 740d8d1
Changed files (3)
ai.go
@@ -1,9 +1,12 @@
 package main
 
 type Bot struct {
-	Updates <-chan Update
-	Games   <-chan Game
+	UserID   string // AKA Password
+	Username string
+	Updates  <-chan Update
+	Games    <-chan Game
 	Game
+	GeneralsIO
 }
 
 func (ai *Bot) RecieveUpdates() {
@@ -12,6 +15,12 @@ func (ai *Bot) RecieveUpdates() {
 		u := <-ai.Updates
 		ai.Map.Patch(u)
 		ai.Map.Print()
+		c := ai.Game.Map.Generals[ai.Game.UserIndex]
+		l.Info(c)
+		err := ai.GeneralsIO.Emit("attack", c, c+1)
+		if err != nil {
+			l.Fatal(err)
+		}
 	}
 
 }
main.go
@@ -29,30 +29,35 @@ func exitHandler() {
 }
 
 func main() {
-	user_id := "k_00004"
-	username := "[Bot]k_0004"
 
-	var ai Bot
-	var g GeneralsIO
 	u, games := make(chan Update), make(chan Game)
-	ai.Updates, ai.Games = u, games
-	g.Updates, g.Games = u, games
-	g.Connect()
+	g := GeneralsIO{
+		Updates: u,
+		Games:   games,
+	}
+	ai := Bot{
+		UserID:     "k_00004",
+		Username:   "[Bot]k_0004",
+		Updates:    u,
+		Games:      games,
+		GeneralsIO: g,
+	}
+	ai.GeneralsIO.Connect()
 
-	err := g.Emit("set_username", user_id, username)
+	err := ai.GeneralsIO.Emit("set_username", ai.UserID, ai.Username)
 	if err != nil {
 		l.Fatal(err)
 	}
-	err = g.Emit("join_private", "test", user_id)
+	err = ai.GeneralsIO.Emit("join_private", "test", ai.UserID)
 	if err != nil {
 		l.Fatal(err)
 	}
-	err = g.Emit("set_force_start", "test", true)
+	err = ai.GeneralsIO.Emit("set_force_start", "test", true)
 	if err != nil {
 		l.Fatal(err)
 	}
-	go g.Ping(5)
-	go g.RecievePackets() // Packets > Messages > Events
+	go ai.GeneralsIO.Ping(5)
+	go ai.GeneralsIO.RecievePackets() // Packets > Messages > Events
 	go ai.RecieveUpdates()
 	exitHandler()
 }
map.go
@@ -109,10 +109,12 @@ func (t *Tile) DecodeTerrain(terrain int) {
 	switch terrain {
 	case GENIO_EMPTY:
 		t.Seen = true
+		t.Fog = false
 		t.Terrain = EMPTY
 		t.Owner = 0
 	case GENIO_MOUNTAIN:
 		t.Seen = true
+		t.Fog = false
 		t.Terrain = MOUNTAIN
 	case GENIO_FOG:
 		t.Fog = true
@@ -125,9 +127,10 @@ func (t *Tile) DecodeTerrain(terrain int) {
 			t.Terrain = OBSTACLE
 		}
 		t.Fog = true
-	default:
+	default: // player owned
 		t.Seen = true
-		t.Owner = terrain
+		t.Fog = false
+		t.Owner = terrain // Player index
 	}
 }