示例#1
0
func CreateLongWall(pg *playground.Playground) (Wall, error) {
	if pg == nil {
		return nil, playground.ErrNilPlayground
	}

	var (
		pgW, pgH = pg.GetSize()
		err      error
		dots     playground.DotList
	)

	switch playground.RandomDirection() {
	case playground.DIR_NORTH, playground.DIR_SOUTH:
		dots, err = pg.GetEmptyField(1, pgH)
	case playground.DIR_EAST, playground.DIR_WEST:
		dots, err = pg.GetEmptyField(pgW, 1)
	default:
		err = playground.ErrInvalidDirection
	}

	if err != nil {
		return nil, err
	}

	return CreateWall(pg, dots)
}