示例#1
0
func (self *GameAPI) CreateMatch(challengerPlayer, challengedPlayer string) *model.Match {
	matchID := challengerPlayer + "_" + challengedPlayer
	match := model.NewMatch(matchID, challengerPlayer, challengedPlayer)
	match.MatchStartTs = util.Now()

	log.Info(challengerPlayer + " challenged " + challengedPlayer)

	self.gameDAO.CreateMatch(match)

	controller := model.NewGameController()
	controller.Create(challengerPlayer, challengedPlayer)

	data, failure := controller.GetBoardData()

	if failure == nil {
		self.gameDAO.SaveGame(match.MatchID, data)
	} else {
		// xxx TODO!
		fmt.Println("BAAAAD!", failure)
	}

	return match
}
示例#2
0
func (self *GameAPI) GetGameController(matchID string) *model.GameController {
	gameData := self.gameDAO.GetGame(matchID)
	controller := model.NewGameController()
	controller.SetBoardData(gameData)
	return controller
}
示例#3
0
// private
func getGameController(api *GameAPI, matchID string) *model.GameController {
	gameData := api.gameDAO.GetGame(matchID)
	controller := model.NewGameController()
	controller.SetBoardData(gameData)
	return controller
}