guiVersion of project, rewriting code for maximum clarity

This commit is contained in:
Joshua-Ashton01
2022-11-08 17:14:43 -07:00
parent 823683e5c4
commit b06a6021c8
29 changed files with 142 additions and 109 deletions
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="17" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" />
</project> </project>
+1
View File
@@ -3,6 +3,7 @@
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/.idea/DndApplication.iml" filepath="$PROJECT_DIR$/.idea/DndApplication.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/DndApplication.iml" filepath="$PROJECT_DIR$/.idea/DndApplication.iml" />
<module fileurl="file://$PROJECT_DIR$/dndBuilder/dndBuilder.iml" filepath="$PROJECT_DIR$/dndBuilder/dndBuilder.iml" />
</modules> </modules>
</component> </component>
</project> </project>
-76
View File
@@ -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();
}
}
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public class Charisma extends Stats { public class Charisma extends Stats {
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public class Constitution extends Stats { public class Constitution extends Stats {
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public class Dexterity extends Stats { public class Dexterity extends Stats {
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public class Intelligence extends Stats{ public class Intelligence extends Stats{
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public abstract class Stats { public abstract class Stats {
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public class Strength extends Stats { public class Strength extends Stats {
@@ -1,4 +1,4 @@
package dnd; package AbilityScores;
public class Wisdom extends Stats { public class Wisdom extends Stats {
@@ -1,4 +1,4 @@
package dnd; package Classes;
public interface ClassTemplate { public interface ClassTemplate {
@@ -1,4 +1,4 @@
package dnd; package Classes;
public class Cleric implements ClassTemplate { public class Cleric implements ClassTemplate {
@@ -1,4 +1,4 @@
package dnd; package Classes;
public class Fighter implements ClassTemplate { public class Fighter implements ClassTemplate {
@@ -1,4 +1,4 @@
package dnd; package Classes;
public class Wizard implements ClassTemplate { public class Wizard implements ClassTemplate {
@@ -1,3 +1,8 @@
import GUI.*;
import Races.*;
import Classes.*;
import AbilityScores.*;
public class DndCharacterBuilder { public class DndCharacterBuilder {
public static void main(String[] args) { public static void main(String[] args) {
@@ -1,4 +1,7 @@
public static class PanelHolder { package GUI;
import javax.swing.*;
public class PanelHolder {
private JPanel mainMenuPanel; private JPanel mainMenuPanel;
private JPanel racePanel; 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() { 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() { private JPanel createRaceSelectPanel() {
return new JPanel();
} }
// TODO: Need to implement. // TODO: Need to implement.
private JPanel createClassSelectPanel() { private JPanel createClassSelectPanel() {
return new JPanel();
} }
// TODO: Need to implement. // TODO: Need to implement.
private JPanel createAbilityScoreSelectPanel() { private JPanel createAbilityScoreSelectPanel() {
return new JPanel();
} }
// TODO: Need to implement. // TODO: Need to implement.
private JPanel createDescriptionPanel() { private JPanel createDescriptionPanel() {
return new JPanel();
} }
// TODO: Need to implement. // TODO: Need to implement.
private JPanel createEquipmentSelectPanel() { private JPanel createEquipmentSelectPanel() {
return new JPanel();
} }
// TODO: Need to implement. // TODO: Need to implement.
private JPanel createFinalizePanel() { private JPanel createFinalizePanel() {
return new JPanel();
} }
// TODO: Need to implement. // TODO: Need to implement.
private JPanel createLoadMenu() { private JPanel createLoadMenu() {
return new JPanel();
} }
+69
View File
@@ -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();
}
}
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Dragonborn implements Race{ public class Dragonborn implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Dwarf implements Race{ public class Dwarf implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Elf implements Race{ public class Elf implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Gnome implements Race{ public class Gnome implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class HalfElf implements Race{ public class HalfElf implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class HalfOrc implements Race{ public class HalfOrc implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Halfling implements Race{ public class Halfling implements Race{
private String[] traits; private String[] traits;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Human implements Race { public class Human implements Race {
@@ -1,4 +1,4 @@
package dnd; package Races;
import java.util.ArrayList; import java.util.ArrayList;
@@ -1,4 +1,4 @@
package dnd; package Races;
public class Tiefling implements Race{ public class Tiefling implements Race{
private String[] traits; private String[] traits;