mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-10 09:43:54 +01:00
[refactor] Moved getRandombyte
to its own TS file
Also made use of `getRandomInt`
This commit is contained in:
parent
be9891d93b
commit
8b98321b9c
@ -1,13 +1,15 @@
|
||||
import {AllServers} from "../src/Server";
|
||||
import {getRandomByte} from "./helpers/getRandomByte";
|
||||
|
||||
/* Functions to deal with manipulating IP addresses*/
|
||||
|
||||
//Generate a random IP address
|
||||
//Will not return an IP address that already exists in the AllServers array
|
||||
function createRandomIp() {
|
||||
var ip = createRandomByte(99) +'.' +
|
||||
createRandomByte(9) +'.' +
|
||||
createRandomByte(9) +'.' +
|
||||
createRandomByte(9);
|
||||
var ip = getRandomByte(99) + '.' +
|
||||
getRandomByte(9) + '.' +
|
||||
getRandomByte(9) + '.' +
|
||||
getRandomByte(9);
|
||||
|
||||
//If the Ip already exists, recurse to create a new one
|
||||
if (ipExists(ip)) {
|
||||
@ -28,10 +30,6 @@ function ipExists(ip) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function createRandomByte(n=9) {
|
||||
return Math.round(Math.random()*n);
|
||||
}
|
||||
|
||||
function isValidIPAddress(ipaddress) {
|
||||
if (/^(25[0-6]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-6]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-6]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-6]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ipaddress))
|
||||
{
|
||||
|
13
utils/helpers/getRandomByte.ts
Normal file
13
utils/helpers/getRandomByte.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { getRandomInt } from "./getRandomInt";
|
||||
|
||||
/**
|
||||
* Gets a random value in the range of a byte (0 - 255), or up to the maximum.
|
||||
* @param max The maximum value (up to 255).
|
||||
*/
|
||||
export function getRandomByte(max: number) {
|
||||
// Technically 2^8 is 256, but the values are 0-255, not 1-256.
|
||||
const byteMaximum: number = 255;
|
||||
const upper: number = Math.max(Math.min(max, byteMaximum), 0);
|
||||
|
||||
return getRandomInt(0, upper);
|
||||
}
|
Loading…
Reference in New Issue
Block a user