summaryrefslogtreecommitdiff
path: root/bitburnerFiles1026/targets.js
diff options
context:
space:
mode:
Diffstat (limited to 'bitburnerFiles1026/targets.js')
-rw-r--r--bitburnerFiles1026/targets.js45
1 files changed, 0 insertions, 45 deletions
diff --git a/bitburnerFiles1026/targets.js b/bitburnerFiles1026/targets.js
deleted file mode 100644
index 9dc9c02..0000000
--- a/bitburnerFiles1026/targets.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/** @param {NS} ns */
-export async function main(ns) {
- ns.clear("moneyServers.txt");
- const servers = netscan(ns);
- for (let i = 0; i < servers.length; i++) {
- if (ns.getServer(servers[i]).moneyMax > 0) {
- ns.write("moneyServers.txt", servers[i], "a");
- ns.write("moneyServers.txt", "\n", "a");
- }
- }
-
-}
-
-/** @param {NS} ns */
-function netscan(ns) {
- //Initialize the set and seed it with the a host so that the next line
- //has something to work with.
- let hosts = new Set(["home"]);
-
- //Sets have the useful property that when elements are added to them in
- //their own forEach loop, they will iterate over those new elements as
- //well. Be careful about this with other data structures and languages!
- //It is somewhat uncommon for data structures to tolerate manipulation
- //during iteration.
- //Anyway, because of this, we can add new neighbors to the set as we
- //find them, and they will be scanned as well.
- //We also don't have to check if the set already contains the host,
- //because sets are sets of unique elements. The underlying structure of
- //a set typically makes it impossible to add duplicate elements at all.
- hosts.forEach(h => { ns.scan(h).forEach(n => hosts.add(n)); });
-
- //Sets are irritating to work with in list contexts, because concepts
- //like sorting are inapplicable to them (e.g. you might want to sort
- //these servers by difficulty). So we convert it back to a list.
- //If you look at the printed output, you might notice that the order
- //appears to be similar to the order in which the servers were scanned.
- //Do not rely on this behavior! It is purely a side effect of the
- //implementation of the set. A set has no concept of "order" and a
- //change in its implementation (or a new compiler optimization) could
- //produce a different order.
- //Of course, you might ask how it is the above "forEach" loop works if
- //the set has no order. The answer is... uh oh, something is wrong with
- //the b1^n&de... do you feel it? Run... save yourself...
- return Array.from(hosts);
-} \ No newline at end of file