Jump to content

  • Log In with Google      Sign In   
  • Create Account


Need pointed in the right direction


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 Rick281   Members   -  Reputation: 146

Like
1Likes
Like

Posted 15 July 2014 - 09:22 PM

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! 



Sponsor:

#2 megadan   GDNet+   -  Reputation: 485

Like
3Likes
Like

Posted 15 July 2014 - 11:29 PM

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, 16 July 2014 - 09:17 AM.


#3 Avalander   Members   -  Reputation: 823

Like
3Likes
Like

Posted 16 July 2014 - 12:20 AM

As megadan said, you usually want an ArrayList for that. Also, make sure you spend some time familiarizing yourself with the Collections Framework, you'll find it extremely helpful.


Edited by Avalander, 16 July 2014 - 03:52 AM.


#4 TheChubu   Crossbones+   -  Reputation: 4093

Like
0Likes
Like

Posted 16 July 2014 - 09:12 AM

Sorry but Java doesn't supports pointers biggrin.png

 

 

(also, read the links Avalander gave you)


Edited by TheChubu, 16 July 2014 - 09:13 AM.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#5 Rick281   Members   -  Reputation: 146

Like
0Likes
Like

Posted 16 July 2014 - 03:33 PM

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



#6 Avalander   Members   -  Reputation: 823

Like
1Likes
Like

Posted 17 July 2014 - 01:57 AM

Sorry but Java doesn't supports pointers biggrin.png

 

Sorry for the off-topic biggrin.png



#7 Shippou   Members   -  Reputation: 1471

Like
0Likes
Like

Posted 17 July 2014 - 05:21 AM

// 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, 17 July 2014 - 05:33 AM.

 Reactions To Technologies:
1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works.
2. Anything that's invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it.
3. Anything invented after you're thirty-five is against the natural order of things.

- Douglas Adams 2002


 


#8 Karsten_   Members   -  Reputation: 1575

Like
0Likes
Like

Posted 17 July 2014 - 05:49 AM

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_, 17 July 2014 - 05:52 AM.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS