Hey thanks for the response, Ill have to think about which method (not meaning a function lol) to use. The game is set up so that there isnt a player class, theres just the int called PlayerHealth. The reason for this is most likely because the game was originally written in python as a final project for one of my college classes and I only had about a week to work on it.
Im taking a java class now and just for the hell of it I decided to convert the program to java since it would be easier to manage.
(skip to my second post for a more concise example)
Heres a simple diagram for my program:
ActionMenu.java contains the main() class with a menu that has two main options (move or check inventory), which has further sub-options below those.
Move just progresses to If statements which call methods in either Monsters.java or Movements.java. There a five of them in Movements.java: findMoney(), findWeapon() which calls a function in Inventory.java, findPotion(), foundNothing(), and GameOver().
Inventory calls ListInventory from Inventory.java which contains 3 methods: ListInventory() which calls ListWeapons() and either NoPotions or UseOrBuy from Potions.java, AddWeapon() and ListWeapons(). Potions.java contains 4 methods: UseOrBuy() which calls either UsePotion() or BuyPotions(), and NoPotions() which also calls BuyPotions().
Edit:
I tried to implement your second way, but it doesnt increase player health or decrease the amount of potions. Im probably missing something since Im doing this during another class