Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var harvestBot = require('harvester');
- var buildBot = require('builder');
- var guardBot = require('guard');
- var collectBot = require('collector');
- var chargeBot = require('charger');
- var healBot = require('healer');
- var createBot = require('creator');
- var libs = require('simpleGenerator')
- var alpha = Game.spawns.Alpha;
- if(Memory.bots == undefined){
- Memory.bots = [];
- }
- if(Memory.bots['harvester'] == undefined){
- Memory.bots['harvester'] = [];
- }
- if(Memory.bots['collector'] == undefined){
- Memory.bots['collector'] = [];
- }
- if(Memory.bots['builder'] == undefined){
- Memory.bots['builder'] = [];
- }
- if(Memory.bots['charger'] == undefined){
- Memory.bots['charger'] = [];
- }
- if(Memory.bots['healer'] == undefined){
- Memory.bots['healer'] = [];
- }
- if(Memory.bots['guard'] == undefined){
- Memory.bots['guard'] = [];
- }
- var energy = alpha.room.energyAvailable;
- var roles = {
- harvester: harvestBot,
- builder: buildBot,
- guard: guardBot,
- collector: collectBot,
- charger: chargeBot,
- healer: healBot
- }
- var types = [
- 'harvester',
- 'collector',
- 'builder',
- 'charger',
- 'healer',
- 'guard'
- ]
- Memory.energyAvail = alpha.room.energyCapacityAvailable;
- var time = Game.getUsedCpu();
- if(Memory.sources == undefined){
- Memory.sources = alpha.room.find(FIND_SOURCES);
- }
- for(var i = 0, j = 1; i< 2; i++, j--){
- var id = Memory.sources[i].id;
- if(Memory.bots['harvester'].indexOf(id) < 0 && energy >= 250){
- console.log(true)
- Memory.bots['harvester'].push(alpha.createCreep(createBot['harvester'](energy),id,{role: 'harvester', source: id}));
- }
- if(Memory.bots['harvester'].length > 0){
- console.log(Memory.bots['harvester'])
- if(Memory.bots['collector'].length < 2){
- if(Memory.bots['harvester'].indexOf(id) >= 0){
- id = sources[j].id
- }
- Memory.bots['collector'].push(alpha.createCreep(createBot['collector'](energy),libs.simpleGenerator(),{role: 'collector', harvester: id}));
- }
- }
- if(Game.getUsedCpu() - time >= 5){
- console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building harvesters and collectors"); // Benchmark
- }
- }
- time = Game.getUsedCpu();
- if(Memory.bots['collector'].length >= 20){
- if(Memory.bots['builder'].length <= 3 && energy > 200){
- Memory.builders.push(alpha.createCreep(createBot['builder'](energy),libs.simpleGenerator(),{role: 'builder'}));
- if(Game.getUsedCpu() - time >= 5){
- console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building builders"); // Benchmark
- }
- }
- }
- time = Game.getUsedCpu();
- if(Memory.bots['builder'].length > 1){
- if(Memory.bots['charger'].length < 2 && energy > 300){
- Memory.bots['charger'].push(alpha.createCreep(createBot['charger'](energy),libs.simpleGenerator(),{role: 'charger'}));
- if(Game.getUsedCpu() - time >= 5){
- console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building chargers"); // Benchmark
- }
- }
- }
- time = Game.getUsedCpu();
- if(Memory.bots['charger'].length > 1){
- if(Memory.bots['healer'].length < 1 && energy > 100){
- Memory.bots['healer'].push(alpha.createCreep(createBot['healer'](energy),libs.simpleGenerator(),{role: 'healer'}));
- }
- if(Game.getUsedCpu() - time >= 5){
- console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building healers"); // Benchmark
- }
- }
- time = Game.getUsedCpu();
- if(Memory.bots['healer'].length > 0){
- if(Memory.bots['guard'].length < 2 && energy > 350){
- Memory.bots['guard'].push(alpha.createCreep(createBot['guard'](energy),libs.simpleGenerator(),{role: 'guard'}));
- }
- if(Game.getUsedCpu() - time >= 5){
- console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms building guards"); // Benchmark
- }
- }
- for(var i in Memory.bots){
- for(var j in Memory.bots[types[i]]){
- console.log(types[i]+': '+Memory.bots[types[i]][j]);
- }
- }
- // VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
- for(var name in Game.creeps){
- var creep = Game.creeps[name];
- var time = Game.getUsedCpu(); // Benchmark
- // Current code
- if (typeof roles[creep.memory.role] === "function") {
- var role = creep.memory.role;
- if(Memory.bots[role] == undefined){
- Memory.bots[role] = [];
- Memory.bots[role].push(creep.name);
- }
- if(creep.ticksToLive < 2){
- var role = creep.memory.role;
- Memory.bots[role].splice(1, creep.name)
- }
- console.log(Memory.bots[role]);
- //creep.suicide()
- roles[creep.memory.role](creep);
- if(Game.getUsedCpu() - time >= 5){
- console.log("The ai spent " + (Game.getUsedCpu() - time) + " ms quality time with creep " + creep.name); // Benchmark
- }
- } else {
- console.log("Unknown role: " + creep.memory.role);
- }
- /*
- continue; // Lets not execute future code for now
- // Future code
- if (roles[creep.memory.role] === undefined) {
- console.log("Unknown role: " + creep.memory.role);
- continue;
- }
- if (typeof roles[creep.memory.role].turn === "function") {
- roles[creep.memory.role].turn(creep);
- } else {
- console.log("No turn function for role " + creep.memory.role);
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment