Example #1
0
File: game.go Project: robsix/rps
func initGame(e joak.Entity) joak.Entity {
	g := e.(*game)
	g.State = _WAITING_FOR_OPPONENT
	dur, _ := time.ParseDuration(_DELETE_AFTER)
	g.DeleteAfter = now().Add(dur)
	g.PlayerIds = []string{sid.ObjectId(), ``}
	g.CurrentChoices = []string{``, ``}
	return g
}
Example #2
0
File: game.go Project: robsix/rps
func (g *game) RegisterNewUser() (string, error) {
	if g.PlayerIds[1] == `` {
		g.PlayerIds[1] = sid.ObjectId()
		dur, _ := time.ParseDuration(strconv.Itoa(_START_TIME_BUF) + _TIME_UNIT)
		g.TurnStart = now().Add(dur)
		g.State = _GAME_IN_PROGRESS
		return g.PlayerIds[1], nil
	}
	return ``, errors.New(`all player slots taken`)
}