class Berlin::AI::Map
Map
keeps track of all the useful information needed to play, such as nodes, points, soldiers, etc. Game
will then be able to pick any information it wants from map to decide what are the best moves to do.
Attributes
directed[RW]
nodes_hash[RW]
player_id[RW]
Public Instance Methods
controlled_nodes()
click to toggle source
We can now loop on our owned nodes in order to find our controlled nodes.
# File lib/ai/map.rb, line 37 def controlled_nodes owned_nodes.select{ |n| n.occupied? } end
directed?()
click to toggle source
Is the map directed?
# File lib/ai/map.rb, line 42 def directed? @directed end
enemy_nodes()
click to toggle source
Returns an array of all enemy nodes
# File lib/ai/map.rb, line 22 def enemy_nodes nodes.select{ |n| n.enemy? } end
foreign_nodes()
click to toggle source
Returns an array of all nodes that we don’t owned
# File lib/ai/map.rb, line 32 def foreign_nodes nodes.select{ |n| n.foreign? } end
free_nodes()
click to toggle source
Returns an array of all free nodes
# File lib/ai/map.rb, line 27 def free_nodes nodes.select{ |n| n.free? } end
nodes()
click to toggle source
Returns an array of all nodes of the map
# File lib/ai/map.rb, line 12 def nodes @nodes_hash.values end
owned_nodes()
click to toggle source
Returns an array of all owned nodes
# File lib/ai/map.rb, line 17 def owned_nodes nodes.select{ |n| n.mine? } end