I believe the fact that you are asking on this forum is a huge indicator that you should be starting a smaller project, but I digress.
When designing an tile based game, everything has to do with how objects interact. At the moment, you just have a bunch of variables all in the same spot. I'm not saying it isn't going to work, but there is a huge chance that if you don't write the objects first you'll have a bunch of problems.
That being said, here is a different version of tackling the same problem. It completely depends on your game though...
1 2 3 4 5 6 7 8 9 10 11
| public class Character{
private int HP; private int maxHP; private int MP; private int maxMP; private int locx; private int locy; } |
1 2 3 4 5 6 7
| public class Warrior extends Character{ private int attack; private int defense; private int magicAtk; private int magicDef;} |
then, you can structure your classes from there.
public class Monster extends Warrior |
public class NPC extends Character |
I would actually put the inventory and jobs in a separate classes to avoid it being mixed up with the player character.
Make sure the classes are split up by type in packages. Then you'll realize that you have leagues more code you need to write to make this game functional.