grow helpers

This commit is contained in:
2022-09-10 20:42:31 +02:00
parent b0abc2a614
commit 7b393a7ffc
12 changed files with 281 additions and 111 deletions
+23 -13
View File
@@ -3,33 +3,43 @@
export async function main(ns) {
// ns.disableLog('ALL');
async function writeLog(obj) {
await ns.tryWritePort(1, obj + '\n');
}
let server = ns.args[0];
let maxMoney = ns.getServerMaxMoney(server);
let minSecurity = ns.getServerMinSecurityLevel(server);
let loop = 0;
let previousMoney = 0;
while (true) {
while (maxMoney != 0) {
let currentMoney = ns.getServerMoneyAvailable(server);
let currentSecurity = ns.getServerSecurityLevel(server);
ns.print(`Money: ${currentMoney} / ${maxMoney}`);
ns.print(`Security: ${currentSecurity} / ${minSecurity}`);
let newMoney = 'N/A';
if (currentMoney < 0.95 * maxMoney) {
newMoney = await ns.grow(server);
}
let newSecurity = 'N/A';
if (currentSecurity > 2 * minSecurity) {
newSecurity = await ns.weaken(server);
}
let hackedMoney = 0;
if (currentMoney > 0.4 * maxMoney) {
if (currentMoney > 0.1 * maxMoney) {
hackedMoney = await ns.hack(server);
currentMoney = ns.getServerMoneyAvailable(server);
}
await ns.tryWritePort(1, `${server} = {loop: ${++loop}, hack: ${Math.floor(hackedMoney)}, money: "${Math.floor(currentMoney)} / ${Math.floor(maxMoney)} = ${((currentMoney / maxMoney) * 100).toFixed(2)}", security: "${currentSecurity.toFixed(2)} / ${Math.floor(minSecurity) } = ${((currentSecurity / minSecurity) * 100).toFixed(4)}"};\n`);
if (currentMoney < 0.9 * maxMoney) {
while (currentMoney <= previousMoney) {
await ns.grow(server);
currentMoney = ns.getServerMoneyAvailable(server);
}
}
previousMoney = currentMoney;
if (currentSecurity > 2 * minSecurity) {
await ns.weaken(server);
currentSecurity = ns.getServerSecurityLevel(server);
}
await writeLog(`${server.replaceAll('-', '_')} = {loop: ${++loop}, hack: ${Math.floor(hackedMoney)}, money: ${Math.floor(currentMoney)} / ${Math.floor(maxMoney)} == ${((currentMoney / maxMoney) * 100).toFixed(2)}, security: ${currentSecurity.toFixed(2)} / ${Math.floor(minSecurity)} == ${((currentSecurity / minSecurity) * 100).toFixed(4)}};`);
await ns.sleep(10);
}
await ns.sleep(10);
}