Followers 0

Is there an easier way?

6 posts in this topic

Ok so for those of you who don't know I am in the process of making a very small console based pokemon clone in java. While coding today I ran across a question and figured that I should ask it here and maybe I'll learn something new. (My goal is to learn at least one new detail about Java everyday). Anyways, I was beginning to hard code some stuff like pokemon moves, stats, etc. and wondered if there was a better way of doing it all. Currently, I am really just using the name of the pokemon in a switch to determine which moves it has. It is really a lot of work for just one pokemon and I got to thinking how someone would do this for lets say 100 pokemon. Not that I plan to do 100 pokemon, I am just wondering if there are more efficient concepts behind stuff like his. Thanks in advance!!

0

Share on other sites

I'd suggest storing all of the stats in a text file for each type and then reading it into either an ArrayList where the index is the pokemon number or into a HashMap where the key is the pokemon type and the value is an object containing the stats.  This makes it easy to change stats or add pokemon without adding any code.  If you'd rather not load from a file, you can still use the mentioned data structures to make it easier to handle without a lot of switch statements.

0

Share on other sites

You don't need a switch ...

"Hard coding" pokedudes is fine if you are only going to have a few of them, however in the long run it is far easier to store them in a text file and add / modify them using a separate application .

Each pokedude should be a separate object with attacks, health, and specials stored inside.

public class pokedude{ // how a pokedude class may look like
String name;          // this code is not debugged
String[] abilities;
String current_buff;
String current_debuff;
int experience;
int current_health;
int max_health;

public void pokedude(String n, String[] a, int mh){
name = n;
abilities = a;
current_health = mh;
max_health = mh;
current_buff = "";
current_debuff = "";
experience = 0;
{

public void setExperience (int e){
experience += e;
}
public void setCurrentHealth (int ch){
current_health += ch;
}
public void heal (){
current_health = max_health;
}
public String getName(){
return name;
}
public String getCurrentBuff(){
return current_buff;
}
public String getCurrentDebuff(){
return current_debuff;
}
public String[] getAbilities(){
return abilities;
}
public int getCurrentHealth(){
return current_health;
}
public int getExperience(){
return experience;
}
}

Edited by Shippou
0

Share on other sites

Ok I like the concept that Fell said about using a data base, but I am totally lost as to where to start. Some questions that I have about it would be, How do I make the data base?, Where do I put the data base? How would I use the information from the data base to make an object? Sorry for my inexperience, but I am only trying to learn.

0

Create an account

Register a new account