From b06a6021c8789092c50ddfdd25299870e7b5e33d Mon Sep 17 00:00:00 2001 From: Joshua-Ashton01 Date: Tue, 8 Nov 2022 17:14:43 -0700 Subject: [PATCH] guiVersion of project, rewriting code for maximum clarity --- .idea/codeStyles/codeStyleConfig.xml | 5 ++ .idea/misc.xml | 2 +- .idea/modules.xml | 1 + 1410_DND/src2/UImanager.java | 76 ------------------- dndBuilder/dndBuilder.iml | 11 +++ .../src/AbilityScores}/Charisma.java | 2 +- .../src/AbilityScores}/Constitution.java | 2 +- .../src/AbilityScores}/Dexterity.java | 2 +- .../src/AbilityScores}/Intelligence.java | 2 +- .../src/AbilityScores}/Stats.java | 2 +- .../src/AbilityScores}/Strength.java | 2 +- .../src/AbilityScores}/Wisdom.java | 2 +- .../src/Classes}/ClassTemplate.java | 2 +- .../src/Classes}/Cleric.java | 2 +- .../src/Classes}/Fighter.java | 2 +- .../src/Classes}/Wizard.java | 2 +- .../src}/DndCharacterBuilder.java | 5 ++ .../src/GUI}/PanelHolder.java | 40 +++++++--- dndBuilder/src/GUI/UImanager.java | 69 +++++++++++++++++ .../src/Races}/Dragonborn.java | 2 +- .../dnd => dndBuilder/src/Races}/Dwarf.java | 2 +- .../src/dnd => dndBuilder/src/Races}/Elf.java | 2 +- .../dnd => dndBuilder/src/Races}/Gnome.java | 2 +- .../dnd => dndBuilder/src/Races}/HalfElf.java | 2 +- .../dnd => dndBuilder/src/Races}/HalfOrc.java | 2 +- .../src/Races}/Halfling.java | 2 +- .../dnd => dndBuilder/src/Races}/Human.java | 2 +- .../dnd => dndBuilder/src/Races}/Race.java | 2 +- .../src/Races}/Tiefling.java | 2 +- 29 files changed, 142 insertions(+), 109 deletions(-) create mode 100644 .idea/codeStyles/codeStyleConfig.xml delete mode 100644 1410_DND/src2/UImanager.java create mode 100644 dndBuilder/dndBuilder.iml rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Charisma.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Constitution.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Dexterity.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Intelligence.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Stats.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Strength.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/AbilityScores}/Wisdom.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/Classes}/ClassTemplate.java (97%) rename {1410_DND/src/dnd => dndBuilder/src/Classes}/Cleric.java (99%) rename {1410_DND/src/dnd => dndBuilder/src/Classes}/Fighter.java (99%) rename {1410_DND/src/dnd => dndBuilder/src/Classes}/Wizard.java (99%) rename {1410_DND/src2 => dndBuilder/src}/DndCharacterBuilder.java (72%) rename {1410_DND/src2 => dndBuilder/src/GUI}/PanelHolder.java (66%) create mode 100644 dndBuilder/src/GUI/UImanager.java rename {1410_DND/src/dnd => dndBuilder/src/Races}/Dragonborn.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Dwarf.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Elf.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Gnome.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/HalfElf.java (99%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/HalfOrc.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Halfling.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Human.java (98%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Race.java (93%) rename {1410_DND/src/dnd => dndBuilder/src/Races}/Tiefling.java (98%) diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index c1c2a99..aedfe4c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 2356e9d..29f4ba6 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,6 +3,7 @@ + \ No newline at end of file diff --git a/1410_DND/src2/UImanager.java b/1410_DND/src2/UImanager.java deleted file mode 100644 index 8b88590..0000000 --- a/1410_DND/src2/UImanager.java +++ /dev/null @@ -1,76 +0,0 @@ -public class UImanager { - - private JFrame gui; - private PanelHolder guiPanels; - private int currentPanel; - - public UImanager (PanelHolder guiPanels) { - - this.gui = new JFrame("D&D Character Builder"); - this.guiPanels = guiPanels; - - if (returningUser()) { - - this.currentPanel = 0; - - } else { - - this.currentPanel = 1; - - } - - frameSetup(); - - - } - - // TODO: Need to implement. - private void frameSetup() { - - - - } - - // TODO: Need to implement. - private boolean returningUser() { - - return false; - - } - - private JPanel getNextPanel() { - - switch (currentPanel) { - - case: 1 - return guiPanels.getRacePanel(); - case: 2 - return guiPanels.getClassPanel(); - case: 3 - return guiPanels.getAbilityScorePanel(); - case: 4 - return guiPanels.getDescriptionPanel(); - case: 5 - return guiPanels.getEquipmentPanel(); - case: 6 - return guiPanels.getLoadMenuPanel(); - case: 7 - return guiPanels.getFinalizePanel(); - default: - return guiPanels.getMainMenuPanel(); - - } - - } - - private void clearAndReset(JPanel nextPanel) { - - gui.removeAll(); - gui.addComponent(nextPanel); - - gui.repaint(); - gui.revalidate(); - - } - -} \ No newline at end of file diff --git a/dndBuilder/dndBuilder.iml b/dndBuilder/dndBuilder.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/dndBuilder/dndBuilder.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/1410_DND/src/dnd/Charisma.java b/dndBuilder/src/AbilityScores/Charisma.java similarity index 97% rename from 1410_DND/src/dnd/Charisma.java rename to dndBuilder/src/AbilityScores/Charisma.java index 26eed1f..e9153d2 100644 --- a/1410_DND/src/dnd/Charisma.java +++ b/dndBuilder/src/AbilityScores/Charisma.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public class Charisma extends Stats { diff --git a/1410_DND/src/dnd/Constitution.java b/dndBuilder/src/AbilityScores/Constitution.java similarity index 97% rename from 1410_DND/src/dnd/Constitution.java rename to dndBuilder/src/AbilityScores/Constitution.java index 3b89d49..c29f993 100644 --- a/1410_DND/src/dnd/Constitution.java +++ b/dndBuilder/src/AbilityScores/Constitution.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public class Constitution extends Stats { diff --git a/1410_DND/src/dnd/Dexterity.java b/dndBuilder/src/AbilityScores/Dexterity.java similarity index 97% rename from 1410_DND/src/dnd/Dexterity.java rename to dndBuilder/src/AbilityScores/Dexterity.java index 8f7a6e1..d6919d4 100644 --- a/1410_DND/src/dnd/Dexterity.java +++ b/dndBuilder/src/AbilityScores/Dexterity.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public class Dexterity extends Stats { diff --git a/1410_DND/src/dnd/Intelligence.java b/dndBuilder/src/AbilityScores/Intelligence.java similarity index 97% rename from 1410_DND/src/dnd/Intelligence.java rename to dndBuilder/src/AbilityScores/Intelligence.java index 051ed92..e4151cf 100644 --- a/1410_DND/src/dnd/Intelligence.java +++ b/dndBuilder/src/AbilityScores/Intelligence.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public class Intelligence extends Stats{ diff --git a/1410_DND/src/dnd/Stats.java b/dndBuilder/src/AbilityScores/Stats.java similarity index 97% rename from 1410_DND/src/dnd/Stats.java rename to dndBuilder/src/AbilityScores/Stats.java index dcb5e46..992d2d0 100644 --- a/1410_DND/src/dnd/Stats.java +++ b/dndBuilder/src/AbilityScores/Stats.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public abstract class Stats { diff --git a/1410_DND/src/dnd/Strength.java b/dndBuilder/src/AbilityScores/Strength.java similarity index 97% rename from 1410_DND/src/dnd/Strength.java rename to dndBuilder/src/AbilityScores/Strength.java index df00aa0..db8a5fb 100644 --- a/1410_DND/src/dnd/Strength.java +++ b/dndBuilder/src/AbilityScores/Strength.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public class Strength extends Stats { diff --git a/1410_DND/src/dnd/Wisdom.java b/dndBuilder/src/AbilityScores/Wisdom.java similarity index 97% rename from 1410_DND/src/dnd/Wisdom.java rename to dndBuilder/src/AbilityScores/Wisdom.java index 8dc39cc..c90a619 100644 --- a/1410_DND/src/dnd/Wisdom.java +++ b/dndBuilder/src/AbilityScores/Wisdom.java @@ -1,4 +1,4 @@ -package dnd; +package AbilityScores; public class Wisdom extends Stats { diff --git a/1410_DND/src/dnd/ClassTemplate.java b/dndBuilder/src/Classes/ClassTemplate.java similarity index 97% rename from 1410_DND/src/dnd/ClassTemplate.java rename to dndBuilder/src/Classes/ClassTemplate.java index 852bcb3..224a08b 100644 --- a/1410_DND/src/dnd/ClassTemplate.java +++ b/dndBuilder/src/Classes/ClassTemplate.java @@ -1,4 +1,4 @@ -package dnd; +package Classes; public interface ClassTemplate { diff --git a/1410_DND/src/dnd/Cleric.java b/dndBuilder/src/Classes/Cleric.java similarity index 99% rename from 1410_DND/src/dnd/Cleric.java rename to dndBuilder/src/Classes/Cleric.java index b20f68b..a97ec3e 100644 --- a/1410_DND/src/dnd/Cleric.java +++ b/dndBuilder/src/Classes/Cleric.java @@ -1,4 +1,4 @@ -package dnd; +package Classes; public class Cleric implements ClassTemplate { diff --git a/1410_DND/src/dnd/Fighter.java b/dndBuilder/src/Classes/Fighter.java similarity index 99% rename from 1410_DND/src/dnd/Fighter.java rename to dndBuilder/src/Classes/Fighter.java index bca8ab5..9b83018 100644 --- a/1410_DND/src/dnd/Fighter.java +++ b/dndBuilder/src/Classes/Fighter.java @@ -1,4 +1,4 @@ -package dnd; +package Classes; public class Fighter implements ClassTemplate { diff --git a/1410_DND/src/dnd/Wizard.java b/dndBuilder/src/Classes/Wizard.java similarity index 99% rename from 1410_DND/src/dnd/Wizard.java rename to dndBuilder/src/Classes/Wizard.java index 5e62c93..4a9baf3 100644 --- a/1410_DND/src/dnd/Wizard.java +++ b/dndBuilder/src/Classes/Wizard.java @@ -1,4 +1,4 @@ -package dnd; +package Classes; public class Wizard implements ClassTemplate { diff --git a/1410_DND/src2/DndCharacterBuilder.java b/dndBuilder/src/DndCharacterBuilder.java similarity index 72% rename from 1410_DND/src2/DndCharacterBuilder.java rename to dndBuilder/src/DndCharacterBuilder.java index f10f0b8..bf9fd36 100644 --- a/1410_DND/src2/DndCharacterBuilder.java +++ b/dndBuilder/src/DndCharacterBuilder.java @@ -1,3 +1,8 @@ +import GUI.*; +import Races.*; +import Classes.*; +import AbilityScores.*; + public class DndCharacterBuilder { public static void main(String[] args) { diff --git a/1410_DND/src2/PanelHolder.java b/dndBuilder/src/GUI/PanelHolder.java similarity index 66% rename from 1410_DND/src2/PanelHolder.java rename to dndBuilder/src/GUI/PanelHolder.java index b5904ba..f36d6ec 100644 --- a/1410_DND/src2/PanelHolder.java +++ b/dndBuilder/src/GUI/PanelHolder.java @@ -1,4 +1,7 @@ -public static class PanelHolder { +package GUI; + +import javax.swing.*; +public class PanelHolder { private JPanel mainMenuPanel; private JPanel racePanel; @@ -70,59 +73,74 @@ public static class PanelHolder { } - // TODO: Need to implement. + /* TODO: Need to implement. + + LEFT-SIDE: Two large buttons, split with a horizontal line. One is to create a new DnD character, the other is to create a + random character. + + RIGHT-SIDE: One extra-large button to load an existing character. + + */ private JPanel createMainMenuPanel() { - + return new JPanel(); } - // TODO: Need to implement. + /* TODO: Need to implement. + + LEFT-SIDE: Should appear with a random portrait of the default race, human. Below this + portrait, a button for the user to upload their own portrait. + + RIGHT-SIDE: Should appear with a scrollable list of the user's available races. A tooltip is on each race, and expands to + describe the race, their proficiencies, languages, and ability score improvements. + + */ private JPanel createRaceSelectPanel() { - + return new JPanel(); } // TODO: Need to implement. private JPanel createClassSelectPanel() { - + return new JPanel(); } // TODO: Need to implement. private JPanel createAbilityScoreSelectPanel() { - + return new JPanel(); } // TODO: Need to implement. private JPanel createDescriptionPanel() { - + return new JPanel(); } // TODO: Need to implement. private JPanel createEquipmentSelectPanel() { - + return new JPanel(); } // TODO: Need to implement. private JPanel createFinalizePanel() { - + return new JPanel(); } // TODO: Need to implement. private JPanel createLoadMenu() { - + return new JPanel(); } diff --git a/dndBuilder/src/GUI/UImanager.java b/dndBuilder/src/GUI/UImanager.java new file mode 100644 index 0000000..40e27e7 --- /dev/null +++ b/dndBuilder/src/GUI/UImanager.java @@ -0,0 +1,69 @@ +package GUI; + +import javax.swing.*; + +public class UImanager { + + private final JFrame gui; + private final PanelHolder guiPanels; + private int currentPanel; + + public UImanager (PanelHolder guiPanels) { + + this.gui = new JFrame("D&D Character Builder"); + this.guiPanels = guiPanels; + + if (returningUser()) { + + this.currentPanel = 0; + + } else { + + this.currentPanel = 1; + + } + + frameSetup(); + + } + + // TODO: Need to implement. + private void frameSetup() { + + + + } + + // TODO: Need to implement. + private boolean returningUser() { + + return false; + + } + + private JPanel getNextPanel() { + + return switch (currentPanel) { + case 1 -> guiPanels.getRacePanel(); + case 2 -> guiPanels.getClassPanel(); + case 3 -> guiPanels.getAbilityScorePanel(); + case 4 -> guiPanels.getDescriptionPanel(); + case 5 -> guiPanels.getEquipmentPanel(); + case 6 -> guiPanels.getLoadMenuPanel(); + case 7 -> guiPanels.getFinalizePanel(); + default -> guiPanels.getMainMenuPanel(); + }; + + } + + private void clearAndReset(JPanel nextPanel) { + + gui.removeAll(); + gui.add(nextPanel); + + gui.repaint(); + gui.revalidate(); + + } + +} \ No newline at end of file diff --git a/1410_DND/src/dnd/Dragonborn.java b/dndBuilder/src/Races/Dragonborn.java similarity index 98% rename from 1410_DND/src/dnd/Dragonborn.java rename to dndBuilder/src/Races/Dragonborn.java index 4496b61..c840918 100644 --- a/1410_DND/src/dnd/Dragonborn.java +++ b/dndBuilder/src/Races/Dragonborn.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Dragonborn implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/Dwarf.java b/dndBuilder/src/Races/Dwarf.java similarity index 98% rename from 1410_DND/src/dnd/Dwarf.java rename to dndBuilder/src/Races/Dwarf.java index cb262ef..fcebe19 100644 --- a/1410_DND/src/dnd/Dwarf.java +++ b/dndBuilder/src/Races/Dwarf.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Dwarf implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/Elf.java b/dndBuilder/src/Races/Elf.java similarity index 98% rename from 1410_DND/src/dnd/Elf.java rename to dndBuilder/src/Races/Elf.java index da53c71..3eeb958 100644 --- a/1410_DND/src/dnd/Elf.java +++ b/dndBuilder/src/Races/Elf.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Elf implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/Gnome.java b/dndBuilder/src/Races/Gnome.java similarity index 98% rename from 1410_DND/src/dnd/Gnome.java rename to dndBuilder/src/Races/Gnome.java index 43390e5..8ab661c 100644 --- a/1410_DND/src/dnd/Gnome.java +++ b/dndBuilder/src/Races/Gnome.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Gnome implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/HalfElf.java b/dndBuilder/src/Races/HalfElf.java similarity index 99% rename from 1410_DND/src/dnd/HalfElf.java rename to dndBuilder/src/Races/HalfElf.java index 7f53ee6..c2acd07 100644 --- a/1410_DND/src/dnd/HalfElf.java +++ b/dndBuilder/src/Races/HalfElf.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class HalfElf implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/HalfOrc.java b/dndBuilder/src/Races/HalfOrc.java similarity index 98% rename from 1410_DND/src/dnd/HalfOrc.java rename to dndBuilder/src/Races/HalfOrc.java index 9a76b10..f59104d 100644 --- a/1410_DND/src/dnd/HalfOrc.java +++ b/dndBuilder/src/Races/HalfOrc.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class HalfOrc implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/Halfling.java b/dndBuilder/src/Races/Halfling.java similarity index 98% rename from 1410_DND/src/dnd/Halfling.java rename to dndBuilder/src/Races/Halfling.java index 2e0dc9d..d6fbbb8 100644 --- a/1410_DND/src/dnd/Halfling.java +++ b/dndBuilder/src/Races/Halfling.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Halfling implements Race{ private String[] traits; diff --git a/1410_DND/src/dnd/Human.java b/dndBuilder/src/Races/Human.java similarity index 98% rename from 1410_DND/src/dnd/Human.java rename to dndBuilder/src/Races/Human.java index c3fd2fe..d305121 100644 --- a/1410_DND/src/dnd/Human.java +++ b/dndBuilder/src/Races/Human.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Human implements Race { diff --git a/1410_DND/src/dnd/Race.java b/dndBuilder/src/Races/Race.java similarity index 93% rename from 1410_DND/src/dnd/Race.java rename to dndBuilder/src/Races/Race.java index 218e40b..d172841 100644 --- a/1410_DND/src/dnd/Race.java +++ b/dndBuilder/src/Races/Race.java @@ -1,4 +1,4 @@ -package dnd; +package Races; import java.util.ArrayList; diff --git a/1410_DND/src/dnd/Tiefling.java b/dndBuilder/src/Races/Tiefling.java similarity index 98% rename from 1410_DND/src/dnd/Tiefling.java rename to dndBuilder/src/Races/Tiefling.java index ba65576..7c01290 100644 --- a/1410_DND/src/dnd/Tiefling.java +++ b/dndBuilder/src/Races/Tiefling.java @@ -1,4 +1,4 @@ -package dnd; +package Races; public class Tiefling implements Race{ private String[] traits;