forked from maloney626/SoftwareEngineeringProject
/
Pokemon.java
129 lines (104 loc) · 3.46 KB
/
Pokemon.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package edu.ycp.cs320.fokemon_webApp.shared.PokemonClasses;
import java.util.ArrayList;
import java.util.Random;
import edu.ycp.cs320.fokemon_webApp.client.FokemonUI;
import edu.ycp.cs320.fokemon_webApp.client.TempBattle;
import edu.ycp.cs320.fokemon_webApp.shared.MoveClasses.Move;
import edu.ycp.cs320.fokemon_webApp.shared.MoveClasses.MoveDataBase;
import edu.ycp.cs320.fokemon_webApp.shared.MoveClasses.MoveName;
public class Pokemon {
//create parameters for each pokemon
private BattleStats stats;
private PokeInfo info;
private TempBattleStats tempBattleStats;
private ArrayList <Move> moves;
public Pokemon(PokeInfo info, BattleStats stats, ArrayList <Move> moves){
this.info=info;
this.stats=stats;
this.moves=moves;
}
public static Pokemon GeneratePokemon(PokeID ID, int lvl){
Random rand=new Random();
//Pokemon poke= new Pokemon(ID, lvl);
PokedexEntry entry=new PokedexEntry();
entry=FokemonUI.getPokedex().getPokeMap().get(ID);
boolean gender;
if(rand.nextInt()%2==0)gender=false;
else gender=true;
entry.getPokeID();
TempBattle.getUser().getPlayerID();
entry.getPokeName();
entry.getPokeName();
entry.getType();
PokeInfo information=new PokeInfo(entry.getPokeID(),TempBattle.getUser().getPlayerID(),entry.getPokeName(),entry.getPokeName(),gender,entry.getType(),lvl,0);
Move move1=MoveDataBase.generateMove(MoveName.Tackle);
ArrayList<Move>moves=new ArrayList<Move>();
moves.add(move1);
BattleStats battleStats=new BattleStats(0,0,0,0,0,0, 0, Status.NRM,entry.getBaseXP(),entry.getBaseStats(),entry.getEVyield());
Pokemon pokemon=new Pokemon(information, battleStats, moves);
pokemon.UpdateStats();
pokemon.getStats().setCurHp(pokemon.getStats().getMaxHp());
return pokemon;
}
public void LevelUp(){
CheckEvolve();
CheckLearnMove();
UpdateStats();
}
public void UpdateStats() {
// TODO Auto-generated method stub
UpdateHPStat();
int stat;
int IV=0; int EV=0; int Nature=1;
stat=((IV+2*getStats().getBaseStats()[1]+EV/4)*getInfo().getLvl()/100+5)*Nature;
getStats().setAtk(stat);
stat=((IV+2*getStats().getBaseStats()[2]+EV/4)*getInfo().getLvl()/100+5)*Nature;
getStats().setDef(stat);
stat=((IV+2*getStats().getBaseStats()[3]+EV/4)*getInfo().getLvl()/100+5)*Nature;
getStats().setSpAtk(stat);
stat=((IV+2*getStats().getBaseStats()[4]+EV/4)*getInfo().getLvl()/100+5)*Nature;
getStats().setSpDef(stat);
stat=((IV+2*getStats().getBaseStats()[5]+EV/4)*getInfo().getLvl()/100+5)*Nature;
getStats().setSpd(stat);
}
private void UpdateHPStat() {
int HP;
int IV=0; int EV=0;
HP=(IV+2*getStats().getBaseStats()[0]+EV/4+100)*getInfo().getLvl()/100+10;
getStats().setMaxHp(HP);
// TODO Auto-generated method stub
}
private void CheckLearnMove() {
// TODO Auto-generated method stub
}
private void CheckEvolve() {
// TODO Auto-generated method stub
}
public BattleStats getStats() {
return stats;
}
public void setStats(BattleStats stats) {
this.stats = stats;
}
public PokeInfo getInfo() {
return info;
}
public void setInfo(PokeInfo info) {
this.info = info;
}
public TempBattleStats getTempBattleStats() {
return tempBattleStats;
}
public void setTempBattleStats(TempBattleStats tempBattleStats) {
this.tempBattleStats = tempBattleStats;
}
public ArrayList <Move> getMoves() {
return moves;
}
public void setMoves(ArrayList <Move> moves) {
this.moves = moves;
}
public Move getMove(int index){
return moves.get(index);
}
}