main.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. #include <iostream>
  2. #include <fstream>
  3. #include <ctime>
  4. #include <cstdlib>
  5. #include <string>
  6. using namespace std;
  7. int main()
  8. {
  9. cout << "Bienvenue dans le programme de baston développé par du mais !!! XD" << endl;
  10. /// Initialisation
  11. // Initialisation du random
  12. srand(time(0));
  13. // Tableau de caractéristiques
  14. int Caracteristique[2][4]; // [joueur][caracteristique]
  15. /*
  16. Caracteristique == Vitesse
  17. Caracteristique == Defense en %
  18. Caracteristique == Vie
  19. Caracteristique == Attaque
  20. */
  21. // Chaines de caracteres
  22. string nomPerso1;
  23. string nomPerso2;
  24. string phraseDeVictime;
  25. string nomPari;
  26. // Variables
  27. int nbRand1;
  28. int taille;
  29. char lettre;
  30. const char refe('-');
  31. // Ouverture du fichier des noms
  32. ifstream monFlux("Perso.txt");
  33. monFlux.seekg(0, ios::end);
  34. taille = monFlux.tellg() ;
  35. /// Choix des noms
  36. // Joueur 1
  37. nbRand1 = rand () % (taille-7);
  38. monFlux.seekg(nbRand1, ios::beg);
  39. do{
  40. monFlux.seekg(0, ios::cur);
  41. monFlux.get(lettre);
  42. } while(lettre != refe);
  43. getline( monFlux, nomPerso1 );
  44. // Joueur 2
  45. nbRand1 = rand () % (taille-7);
  46. monFlux.seekg(nbRand1, ios::beg);
  47. do{
  48. monFlux.seekg(0, ios::cur);
  49. monFlux.get(lettre);
  50. } while(lettre != refe);
  51. getline( monFlux, nomPerso2 );
  52. monFlux.close();
  53. // Affichage de début
  54. cout << "Les paris sont ouverts !!!" << endl;
  55. cout << nomPerso1;
  56. cout << " (1) va se battre contre ";
  57. cout << nomPerso2;
  58. cout << " (2)" << endl << endl;
  59. /// Pari
  60. // Choix joueur
  61. do{
  62. cout << "Sur qui voulez-vous parier ?" << endl;
  63. cin >> nomPari;
  64. if( nomPari != "1" && nomPari != "2" ) {
  65. cout << "Ce nombre ne correspond a aucuns des combattants..." << endl;
  66. }
  67. } while (nomPari != "1" && nomPari != "2");
  68. // Choix des caractéristiques
  69. for (int i=0; i<4;i++){
  70. Caracteristique[0][i] = rand() % 21;
  71. }
  72. for (int i=0; i<4;i++){
  73. Caracteristique[1][i] = rand() % 21;
  74. }
  75. //Cheat Perso
  76. if(nomPerso1 == "CeciEstCoderEnC++ParMariusEtBruce" || nomPerso1 == "°°°°°°°°"){
  77. Caracteristique[0][0] = 666;
  78. Caracteristique[0][1] = 666;
  79. Caracteristique[0][2] = 666;
  80. Caracteristique[0][3] = 666;
  81. }
  82. if(nomPerso2 == "CeciEstCoderEnC++ParMariusEtBruce" || nomPerso2 == "°°°°°°°°"){
  83. Caracteristique[1][0] = 666;
  84. Caracteristique[1][1] = 666;
  85. Caracteristique[1][2] = 666;
  86. Caracteristique[1][3] = 666;
  87. }
  88. //Affichage des caractéristiques
  89. cout << endl;
  90. cout << "Stats pour " << nomPerso1 << endl;
  91. cout << endl;
  92. cout << "Vitesse : " << Caracteristique[0][0] << endl;
  93. cout << "Defense : " << Caracteristique[0][1] << endl;
  94. cout << "Vie : " << Caracteristique[0][2] << endl;
  95. cout << "Attaque : " << Caracteristique[0][3] << endl;
  96. cout << endl;
  97. cout << "Stats pour " << nomPerso2 << endl;
  98. cout << endl;
  99. cout << "Vitesse : " << Caracteristique[1][0] << endl;
  100. cout << "Defense : " << Caracteristique[1][1] << endl;
  101. cout << "Vie : " << Caracteristique[1][2] << endl;
  102. cout << "Attaque : " << Caracteristique[1][3] << endl;
  103. cout << endl;
  104. cout << nomPerso1 << ": Prepare toi a mourrir !" << endl;
  105. cout << nomPerso2 << ": Tu mourras avant moi !" << endl;
  106. cout << endl;
  107. /// Boucle de combat
  108. int Ordre = 0;
  109. while(Caracteristique[1][2] > 0 && Caracteristique[0][2] > 0)
  110. {
  111. int Prems = 0;
  112. do
  113. {
  114. if ( (Caracteristique[0][0]<Caracteristique[1][0] && Ordre == 0) || Ordre == 2 )
  115. {
  116. int Degats1 = Caracteristique[1][3] - Caracteristique[0][1]*0.4;
  117. if (Degats1 <= 0)
  118. {
  119. Degats1 = 1 ;
  120. }
  121. Caracteristique[0][2] = Caracteristique[0][2] - Degats1;
  122. Prems = 1;
  123. cout << nomPerso2 << " inflige " << Degats1 << " a " << nomPerso1 << endl;
  124. if (Caracteristique [0][2] <= 0)
  125. {
  126. Caracteristique [0][2] = 0;
  127. }
  128. cout << "Il reste " << Caracteristique [0][2] << " PV a " << nomPerso1 << endl;
  129. Ordre = 1;
  130. }
  131. else if ((Caracteristique[0][0]>Caracteristique[1][0] && Ordre == 0) || Ordre == 1)
  132. {
  133. int Degats1 = Caracteristique[0][3] - Caracteristique[1][1]*0.4;
  134. if (Degats1 <= 0)
  135. {
  136. Degats1 = 1 ;
  137. }
  138. Caracteristique[1][2] = Caracteristique[1][2] - Degats1;
  139. Prems = 1;
  140. cout << nomPerso1 << " inflige " << Degats1 << " a " << nomPerso2 << endl;
  141. if (Caracteristique [1][2] <= 0)
  142. {
  143. Caracteristique [1][2] = 0;
  144. }
  145. cout << "Il reste " << Caracteristique [1][2] << " PV a " << nomPerso2 << endl;
  146. Ordre = 2 ;
  147. }
  148. else
  149. {
  150. int nki = rand() % 2;
  151. Caracteristique[nki][0] =- 1;
  152. }
  153. } while(Prems == 0);
  154. }
  155. // Choix de la mort
  156. ifstream fileStream("Phrases.txt");
  157. fileStream.seekg(0,ios::end);
  158. taille = fileStream.tellg() ;
  159. nbRand1 = rand () % (taille-11);
  160. fileStream.seekg(nbRand1, ios::beg);
  161. do{
  162. fileStream.seekg(0, ios::cur);
  163. fileStream.get(lettre);
  164. } while(lettre != refe);
  165. getline(fileStream,phraseDeVictime);
  166. // Test de la mort pour affichage
  167. if( Caracteristique[1][2] <= 0 ){
  168. cout << nomPerso1 << " " << phraseDeVictime << nomPerso2 << endl;
  169. if(nomPari == "1"){
  170. cout << "Vous avez reussi votre pari ! Bravo !" << endl;
  171. }
  172. else{
  173. cout << "Vous avez perdu votre pari... Dommage..." << endl;
  174. }
  175. }
  176. else{
  177. cout << nomPerso2 << " " << phraseDeVictime << nomPerso1 << endl;
  178. if(nomPari == "2"){
  179. cout << "Vous avez reussi votre pari ! Bravo !" << endl;
  180. }
  181. else{
  182. cout << "Vous avez perdu votre pari... Dommage..." << endl;
  183. }
  184. }
  185. fileStream.close();
  186. return 0;
  187. }