-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
143 lines (122 loc) · 3.96 KB
/
main.cpp
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include "EquipoPokemon.h"
Equipo<int> EquipoPKMN;
int main(){
std::ifstream inputFile ("default.pkmn");
std::string Fnombre;
std::string Ftipo1;
std::string Ftipo2;
int Fvida;
int Fataque;
int Fdefensa;
int Fvelocidad;
if(inputFile){
while(inputFile >>Fnombre>>Ftipo1>>Ftipo2>>Fvida>>Fataque>>Fdefensa>>Fvelocidad){
EquipoPKMN.add(Fnombre, Ftipo1, Ftipo2, Fvida, Fataque, Fdefensa, Fvelocidad);
};
}
std::system("CLS"); //Función para limpiar la consola.
int seleccion;
bool continuar = true;
while(continuar==true){
std::cout<<"\nSelecciona una accion:\n\n1. Mostrar tu equipo. \n2. Consultar un Pokemon \n3. Annadir un pokemon. \n4. Ordenar tu equipo. \n5. Eliminar un pokemon \n6. Eliminar tu equipo \n7. Cargar datos previos \n8. Borrar datos previos \n9. Salir.\n";
std::cin>>seleccion;
if(seleccion==1){
std::cout<<EquipoPKMN.toString();
}
else if(seleccion==2){
std::string elegido;
std::cout<<"Que pokemon quieres consultar? (escribe su nombre)\n";
std::cin>>elegido;
int numPkmn = EquipoPKMN.indexOf(elegido);
std::cout<<EquipoPKMN.IndexToString(numPkmn);
}
else if(seleccion==3){
std::cout<<"\nComo se llama?";
std::cin>>Fnombre;
std::cout<<"\nCual es su primer tipo?";
std::cin>>Ftipo1;
std::cout<<"\nCual es su segundo tipo?";
std::cin>>Ftipo2;
std::cout<<"\nCuanta vida tiene?";
std::cin>>Fvida;
std::cout<<"\nCuanto ataque tiene?";
std::cin>>Fataque;
std::cout<<"\nCuanta defensa tiene?";
std::cin>>Fdefensa;
std::cout<<"\nCuanta velocidad tiene?";
std::cin>>Fvelocidad;
EquipoPKMN.add(Fnombre,Ftipo1,Ftipo2,Fvida,Fataque,Fdefensa,Fvelocidad);
std::ofstream saveFile ("save.pkmn", std::ios::app);
if(saveFile){
saveFile<<Fnombre<<" "<<Ftipo1<<" "<<Ftipo2<<" "<<Fvida<<" "<<Fataque<<" "<<Fdefensa<<" "<<Fvelocidad<<"\n";
}
saveFile.close();
}
else if(seleccion==4){
int sort;
std::cout<<"\nSelecciona un parametro para ordenar:\n\n1. Por nombre.\n2. Por tipo principal.\n3. Por tipo secundario.\n4. Por puntos de vida.\n5. Por ataque.\n6. Por defensa.\n7. Por velocidad.\n";
std::cin>>sort;
if(sort == 1){
EquipoPKMN.sort_nombre();
}
else if(sort == 2){
EquipoPKMN.sort_tipo1();
}
else if(sort == 3){
EquipoPKMN.sort_tipo2();
}
else if(sort == 4){
EquipoPKMN.sort_vida();
}
else if(sort == 5){
EquipoPKMN.sort_ataque();
}
else if(sort == 6){
EquipoPKMN.sort_defensa();
}
else if(sort == 7){
EquipoPKMN.sort_velocidad();
}
else{
std::cout<<"Opción no válida";
}
}
else if(seleccion==5){
std::string elegido;
std::cout<<"Que pokemon quieres eliminar? (escribe su nombre)\n";
std::cin>>elegido;
int numPkmn = EquipoPKMN.indexOf(elegido);
EquipoPKMN.remove(numPkmn);
}
else if(seleccion==6){
int confirmar;
std::cout<<"Estas seguro que quieres eliminar a todo tu equipo? \n1. Si \n2. No \n";
std::cin>>confirmar;
if(confirmar == 1){
EquipoPKMN.clear();
}
}
else if(seleccion==7){
std::ifstream saveFile ("save.pkmn");
if(saveFile){
while(saveFile >>Fnombre>>Ftipo1>>Ftipo2>>Fvida>>Fataque>>Fdefensa>>Fvelocidad){
EquipoPKMN.add(Fnombre, Ftipo1, Ftipo2, Fvida, Fataque, Fdefensa, Fvelocidad);
}
}
saveFile.close();
}
else if(seleccion==8){
std::ofstream saveFile ("save.pkmn", std::ofstream::trunc);
saveFile.close();
}
else if(seleccion==9){
continuar = false;
}
else{
std::cout<<"Seleccion invalida.\n";
}
}
}