Jump to content
  • Advertisement
Sign in to follow this  
Rick281

Need pointed in the right direction

This topic is 1434 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok so I am trying to create a console version of pokemon in java. I have made some really good progress, but find myself stuck on creating and storing multiple pokemon objects inside the player party and in-game computer storage. Like in what way could I create these pokemon objects to allow another pokemon object to be created when the player catches another pokemon and to allow the player to move the pokemon objects around in their party, computer, etc. I know that this may be complex and that there is no "right" way of doing this, I just really need pointed in the right direction. So far the only possibility that I have come up with is to create an array of pokemon objects with a length of owned pokemon, but I see many flaws in this idea. I'm not sure how I would initialize each of the objects and am afriad that each time the number of owned pokemon increases, an entire new array would be created. I also have no idea how I would allow the player to move around the pokemon from the party and computer with the array concept. Any type of advice is appreciated! 

Share this post


Link to post
Share on other sites
Advertisement
It seems like each pokemon will have a set of unique properties and a set of common properties. I would try to separate these into two different data sets. For unique stats like level, equipped skills, etc, you could have just a simple data class to contain this information. Something like:
 
class PokemonInfo {
...
int pokedexNum;
int level;
... etc
}
 
You could then just have two dynamic ArrayLists or LinkedLists of these, one for your party, and one for your computer.  As you encounter a random pokemon you create one of these, and then you can add it to the party or computer.
 
Then you might use the pokedexNum as an index into an array containing useful information that is common to all pokemon of particular pokedex entry.  For example, what it looks like, its types and weaknesses, etc.
Edited by megadan

Share this post


Link to post
Share on other sites

Sorry but Java doesn't supports pointers biggrin.png

 

 

(also, read the links Avalander gave you)

Edited by TheChubu

Share this post


Link to post
Share on other sites

Big thanks for the arraylist and collections!! I'll be reading up on them and seeing what I can do. Thanks everyone!

Share this post


Link to post
Share on other sites
// this is not a complete demo, but should give you a good idea how it works
public class Poke {
	String name;
	int number;
	int experence;
	int health;
	Skills[] skills;
	
	public void Poke(String nam, Skills[] sk, int he, int exp, int num){
		name = nam;
		skills = sk;
		health = he;
		experence = exp;
		number = num;
		
	}
	

public class Skills{
	String name;
	String type;
	String effect; 
	int eff_ammount;
	

public void Skills(String n, String t, String e, int ea){
	name = n;
	type = t;
	effect = e;
	eff_ammount = ea;
	
	}
 
 public String getName(){
	 return name;
 }
 public String getType(){
	 return type;
 }
 public String getEffect(){
	 return effect;
}
 public int getEff_ammount(){
	 return eff_ammount;
 }
 
}

public class Player{
	Poke[] pokemons;
	int money;
	int health;
	Inv inventory;
	
	public void Player(){
		pokemons = new Poke[6];
		money = 10;
		health = 100;
		inventory = new Inv();
		
	}
	
	public void setMoney(int m){
		money += m;
	}
	
	public int getMoney(){
		return money;
	}
	
	public void setHealth(int h){
		health += h;
	}
	
	public int getHealth(){
		return health;
	}
	
	
}

...

Edit:

...

To create a new pokedude



Poke some_poke_name = new Poke(some_poke_name,some_Skill_array , 25, 1, 455);
Edited by Shippou

Share this post


Link to post
Share on other sites

Java doesnt support developing Pokemon games.

The reason being that the strange missingno / weedle trainer memory corruption "functionality" will not be possible sad.png

 

Try using a more suitable language like assembly ;)

 

That aside, to build on what other have said. An example would be using two ArrayLists (computerPokes, partyPokes) and using the ArrayList's methods (i.e  partyPokes.add(poke) and computerPokes.remove(poke)) to move Pokema'ns between the lists.

Note, you can also use the index to remove pokes from the ArrayList (i.e computerPokes.remove(7)) if that is more fitting to your design

 

The ArrayList Javadocs might be useful: http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

Edited by Karsten_

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!