Playerset

class BWAPI.Playerset

A set containing Player objects.

Constructors

Playerset()

Default constructor.

Playerset(set)

Copy constructor.

Parameters:set (BWAPI.Playerset) – The Playerset to copy.
Playerset(tbl)

Constructor to convert a Lua table to a set. Any values in the table that are of type Player are added to the set.

Parameters:tbl (table) – A table containing Player objects.

Member Functions

getRaces() → Raceset

Returns the list of races that each player in the set is.

Returns:Raceset containing Playerset‘s races
Return type:BWAPI.Raceset

See also

Player.getRace()

getUnits() → Unitset

Returns the set of all units that every player in this set owns.

Returns:Unitset containing Playerset‘s units
Return type:BWAPI.Unitset
setAlliance([allies = true][, alliedVictory = true])

Sets the alliance status with all players contained in the Playerset.

Parameters:
  • allies (boolean) – Set to true to set the player to allied, or false for enemy.
  • alliedVictory (boolean) – Set to true to turn on allied victory, or false to disable it.
iterator() → iteratorFunction

Returns an iterator function intended to be used in for loops (e.g. for item in set:iterator() do).

Returns:An iterator function that will return the next value in the set with each successive call.
Return type:function
asTable() → table

Returns the values of the set as an array-like Lua table.

Note

The ordering of the returned table is arbitrary (due to sets being unordered in the C++ implementation).

Returns:An array-like Lua table containing each value in the set.
Return type:table
count(val) → int

Searches the set for elements with a value of val and returns the number of elements found. Because sets do not allow for duplicate values, this means that the function will return either 1 or 0. Because of this, it’s recommended to use contains() instead.

contains(val) → boolean

Checks if this set contains a specific value.

Returns:true if the set contains the specified value, or false otherwise.
Return type:boolean
size() → int
Returns:The number of values in the set.
Return type:int

Note

set:size() is exactly equivalent to #set

empty() → boolean
Returns:true if the set is empty (size() == 0), or false otherwise.
Return type:boolean
insert(val)

Inserts the value into the set.

Note

Sets cannot contain duplicate values. If the value already exists in the set, the set will not be modified.

erase(val) → numElementsErased

Removes val from the set if it exists.

Returns:The number of elements removed. Because sets do not allow for duplicate values, this means that the function will return either 1 or 0.
Return type:int
clear()

Removes all elements from the set, leaving it with a size of 0.

eraseIf(pred)

Iterates the set and erases each element x where pred(x) returns true. The set is modified in place.

Parameters:pred (function) – A predicate function that takes a value and returns true for values that should be erased and false otherwise.
erase_if(pred)

Alias of eraseIf()

filter(pred)

Iterates the set and erases each element x where pred(x) returns false. The set is modified in place.

Parameters:pred (function) – A predicate function that takes a value and returns true for values that should be kept and false for elements that should be erased.
keepIf(pred)

Alias of filter()/keep_if()

keep_if(pred)

Alias of filter()/keepIf()