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;