From 86112a0633f4c17968de90262f8f9e15019d0f97 Mon Sep 17 00:00:00 2001 From: SloaneTribble Date: Thu, 11 May 2023 14:03:34 -0700 Subject: [PATCH 1/2] Refactor orc boss naming function to use arrays instead of switch statements --- .../src/app/orc-boss/orc-boss.component.ts | 70 ++++--------------- 1 file changed, 13 insertions(+), 57 deletions(-) diff --git a/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts b/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts index 642eb7e..ae82c9a 100644 --- a/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts +++ b/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts @@ -108,63 +108,19 @@ export class OrcBossComponent { const name_title = Math.floor(Math.random() * 4); let name = ''; - // switch based off the various options - switch (name_start) { - case 0: - name += 'Ger'; - break; - case 1: - name += 'Bo'; - break; - case 2: - name += 'Da'; - break; - case 3: - name += 'Jor'; - break; - } - switch (name_middle) { - case 0: - name += 'bod'; - break; - case 1: - name += 'nok'; - break; - case 2: - name += 'vik'; - break; - case 3: - name += 'jor'; - break; - } - switch (name_end) { - case 0: - name += 'bod'; - break; - case 1: - name += 'nok'; - break; - case 2: - name += 'vik'; - break; - case 3: - name += 'jor'; - break; - } - switch (name_title) { - case 0: - name += ' the Mighty'; - break; - case 1: - name += ' the Fearsome'; - break; - case 2: - name += ' the Terrible'; - break; - case 3: - name += ' the Warrior'; - break; - } + const name_starts = ['Ger', 'Bo', 'Da', 'Jor']; + const name_middles_and_ends = ['bod', 'nok', 'vik', 'jor']; + const name_titles = [ + ' the Mighty', + ' the Fearsome', + ' the Terrible', + ' the Warrior', + ]; + + name += name_starts[name_start]; + name += name_middles_and_ends[name_middle]; + name += name_middles_and_ends[name_end]; + name += name_titles[name_title]; localStorage.setItem('orc-boss-name', name); return name; } From 4a82f2fb58d6475a56f69e0b00595289c3c79360 Mon Sep 17 00:00:00 2001 From: SloaneTribble Date: Thu, 11 May 2023 15:12:05 -0700 Subject: [PATCH 2/2] Improve scalability of index calculation functions --- .../src/app/orc-boss/orc-boss.component.ts | 12 ++++++++---- .../app/sloane-lvl-one/sloane-lvl-one.component.ts | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts b/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts index ae82c9a..2fc091b 100644 --- a/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts +++ b/muscle-quest-app/src/app/orc-boss/orc-boss.component.ts @@ -102,10 +102,7 @@ export class OrcBossComponent { return boss_name; } else { // Generate a random name for the boss - const name_start = Math.floor(Math.random() * 4); - const name_middle = Math.floor(Math.random() * 4); - const name_end = Math.floor(Math.random() * 4); - const name_title = Math.floor(Math.random() * 4); + let name = ''; const name_starts = ['Ger', 'Bo', 'Da', 'Jor']; @@ -117,6 +114,13 @@ export class OrcBossComponent { ' the Warrior', ]; + const name_start = Math.floor(Math.random() * name_starts.length); + const name_middle = Math.floor( + Math.random() * name_middles_and_ends.length + ); + const name_end = Math.floor(Math.random() * name_middles_and_ends.length); + const name_title = Math.floor(Math.random() * name_titles.length); + name += name_starts[name_start]; name += name_middles_and_ends[name_middle]; name += name_middles_and_ends[name_end]; diff --git a/muscle-quest-app/src/app/sloane-lvl-one/sloane-lvl-one.component.ts b/muscle-quest-app/src/app/sloane-lvl-one/sloane-lvl-one.component.ts index a1c65cb..9a459b4 100644 --- a/muscle-quest-app/src/app/sloane-lvl-one/sloane-lvl-one.component.ts +++ b/muscle-quest-app/src/app/sloane-lvl-one/sloane-lvl-one.component.ts @@ -70,7 +70,7 @@ export class SloaneLvlOneComponent { setBonus() { type EquippedKey = 'head' | 'chest' | 'hands' | 'feet' | 'weapon'; - let user = this.userService.getCurrentUserData(); + const user = this.userService.getCurrentUserData(); let dex = 0; const currentElement = this.elementChoice;