summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Harley2018-06-26 03:13:58 +0100
committerTom Harley2018-06-26 03:13:58 +0100
commite08f49adfc17de12aca1490fe71c01beb49050cf (patch)
treeeb17aaa3b2f4e13ad95fdc8c220e6ca77da8f60f
downloadscreeps-ai-e08f49adfc17de12aca1490fe71c01beb49050cf.tar.gz
screeps-ai-e08f49adfc17de12aca1490fe71c01beb49050cf.zip

Initial commit

-rw-r--r--src/main.js7
-rw-r--r--src/role.harvester.js16
2 files changed, 23 insertions, 0 deletions
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000..e466974
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,7 @@
+const harvester = require('role.harvester');
+
+module.exports.loop = () => {
+ for (const name in Game.creeps) {
+ harvester.run(Game.creeps[name]);
+ }
+}
diff --git a/src/role.harvester.js b/src/role.harvester.js
new file mode 100644
index 0000000..aae5a2c
--- /dev/null
+++ b/src/role.harvester.js
@@ -0,0 +1,16 @@
+module.exports = {
+ run: (creep) => {
+ if (creep.carry.energy < creep.carryCapacity) {
+ // just use the first sourrce for now
+ const source = creep.room.find(FIND_SOURCES)[0];
+ if (creep.harvest(source) == ERR_NOT_IN_RANGE) {
+ creep.moveTo(source);
+ }
+ } else {
+ const spawn = Game.spawns['Initial'];
+ if (creep.transfer(spawn), RESOURCE_ENERGY) == ERR_NOT_IN_RANGE) {
+ creep.moveTo(spawn);
+ }
+ }
+ }
+};