Robot name
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
const allNames: string[] = [];
|
||||
|
||||
for (let c1 = 0; c1 < 26; c1++) {
|
||||
const letter1 = String.fromCharCode(c1 + 65);
|
||||
for (let c2 = 0; c2 < 26; c2++) {
|
||||
const letter2 = String.fromCharCode(c2 + 65);
|
||||
for (let n1 = 0; n1 < 10; n1++) {
|
||||
const number1 = String(n1);
|
||||
for (let n2 = 0; n2 < 10; n2++) {
|
||||
const number2 = String(n2);
|
||||
for (let n3 = 0; n3 < 10; n3++) {
|
||||
const number3 = String(n3);
|
||||
allNames.push(`${letter2}${letter1}${number1}${number2}${number3}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let possibleNames = [...allNames];
|
||||
|
||||
const generateName = (): string => {
|
||||
const index = Math.floor(Math.random() * possibleNames.length);
|
||||
const name = possibleNames[index];
|
||||
possibleNames.splice(index, 1);
|
||||
return name;
|
||||
};
|
||||
|
||||
export class Robot {
|
||||
private _name = "";
|
||||
|
||||
constructor() {
|
||||
this.resetName();
|
||||
}
|
||||
|
||||
public get name(): string {
|
||||
return this._name;
|
||||
}
|
||||
|
||||
public resetName(): void {
|
||||
this._name = generateName();
|
||||
}
|
||||
|
||||
public static releaseNames(): void {
|
||||
possibleNames = [...allNames];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user