diff --git a/screeps.com/tutorial-1/main.js b/screeps.com/tutorial-1/main.js index 281f8ba..ef47d4d 100644 --- a/screeps.com/tutorial-1/main.js +++ b/screeps.com/tutorial-1/main.js @@ -1,3 +1,9 @@ +var roleHarvester = require('role.harvester'); + module.exports.loop = function () { - -} + + for(var name in Game.creeps) { + var creep = Game.creeps[name]; + roleHarvester.run(creep); + } +} \ No newline at end of file diff --git a/screeps.com/tutorial-1/role.harvester.js b/screeps.com/tutorial-1/role.harvester.js new file mode 100644 index 0000000..4d3827d --- /dev/null +++ b/screeps.com/tutorial-1/role.harvester.js @@ -0,0 +1,28 @@ +/* + * Module code goes here. Use 'module.exports' to export things: + * module.exports.thing = 'a thing'; + * + * You can import it from another modules like this: + * var mod = require('role.harvester'); + * mod.thing == 'a thing'; // true + */ + +var roleHarvester = { + + /** @param {Creep} creep **/ + run: function(creep) { + if(creep.store.getFreeCapacity() > 0) { + var sources = creep.room.find(FIND_SOURCES); + if(creep.harvest(sources[0]) == ERR_NOT_IN_RANGE) { + creep.moveTo(sources[0]); + } + } + else { + if(creep.transfer(Game.spawns['Spawn1'], RESOURCE_ENERGY) == ERR_NOT_IN_RANGE) { + creep.moveTo(Game.spawns['Spawn1']); + } + } + } +}; + +module.exports = roleHarvester; \ No newline at end of file