Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.35 KB | None | 0 0
  1. import java.util.Random;
  2. import java.util.Scanner;
  3.  
  4.  
  5. public class TheFightGameV2 {
  6.  
  7.  
  8. // Declaration des constantes:
  9. public final static int JOUEUR = 0;
  10. public final static int ORDI = 1;
  11. public final static int POT = 2;
  12. public final static int[] VALEUR_PIECES = {1, 5, 10, 25};
  13. public final static int VALEUR_CHOIX_MIN = 1;
  14. public final static int VALEUR_CHOIX_MAX = 4;
  15. public final static int VALEUR_CHOIX_QUITTER = 5;
  16. public final static String MSG_ERREUR_VALEUR_CHOISIE = "Erreur!! " +
  17. "Merci de choisir un nombre entre: 1 et 5";
  18.  
  19. // Declaration du tableau 2D à l'etat initial:
  20. public static int[][] tab = {{4, 3, 2, 1},
  21. {4, 3, 2, 1},
  22. {0, 0, 0, 0}};
  23.  
  24. // Declaration d'un tableau Valeur du pot:
  25. public static int[] valeurPot = {tab[POT][0] * VALEUR_PIECES[0], tab[POT][1] * VALEUR_PIECES[1],
  26. tab[POT][2] * VALEUR_PIECES[2], tab[POT][3] * VALEUR_PIECES[3]};
  27.  
  28. // Declaration des variables:
  29. static int choixJoueur = 0;
  30. static int choixOrdi = 0;
  31.  
  32.  
  33. /**
  34. * Message invitant le joueur a choisir un nombre dans la liste
  35. */
  36. public static void messageJouer() {
  37. // inviter l'utlisateur a faire son choix"
  38. System.out.println();
  39. System.out.println(" Faites votre choix");
  40. System.out.println(" ------------------");
  41. System.out.println(" 1: piece de 1 sou");
  42. System.out.println(" 2: piece de 5 sous ");
  43. System.out.println(" 3: piece de 10 sous ");
  44. System.out.println(" 4: piece de 25 sous");
  45. System.out.println(" 5: Abandonner la partie");
  46. System.out.println();
  47. System.out.print(" Entrez votre choix : ");
  48.  
  49. }
  50.  
  51. /**
  52. * Message qui affiche l'etat initial du jeu
  53. */
  54. public static void afficherEtatJoueurs() {
  55.  
  56. // Declaration du tableau a l etat initial:
  57.  
  58. // Affichage de l'etat du joueur:
  59. System.out.println("Joueur");
  60. System.out.println(" 1 sou : " + tab[JOUEUR][0]);
  61. System.out.println(" 5 sous : " + tab[JOUEUR][1]);
  62. System.out.println(" 10 sous : " + tab[JOUEUR][2]);
  63. System.out.println(" 25 sous : " + tab[JOUEUR][3]);
  64.  
  65. // Affichage de l'etat du Pot:
  66. System.out.println("Pot");
  67. System.out.println(" 1 sou : " + tab[POT][0]);
  68. System.out.println(" 5 sous : " + tab[POT][1]);
  69. System.out.println(" 10 sous : " + tab[POT][2]);
  70. System.out.println(" 25 sous : " + tab[POT][3]);
  71.  
  72. // Affichage de l' 'etat de l ordi:
  73. System.out.println("Ordinateur");
  74. System.out.println(" 1 sou : " + tab[ORDI][0]);
  75. System.out.println(" 5 sous : " + tab[ORDI][1]);
  76. System.out.println(" 10 sous : " + tab[ORDI][2]);
  77. System.out.println(" 25 sous : " + tab[ORDI][3]);
  78. }
  79.  
  80. /**
  81. * Methode qui valide si le joueur a assez de pieces pour jouer
  82. */
  83. public static void validerNombrePieces(int[] tab, int choix) {
  84. if (tab[choix] == 0) {
  85. System.out.println(" Tu n'as plus de pieces de ce type! " +
  86. "Essaye une autre peice");
  87. }
  88. }
  89.  
  90. /* Methode qui calcule la somme d'un tableau d'entier
  91.  
  92. */
  93. public static int sommeTableau(int tableau[]) {
  94. int i = 0;
  95. int somme = 0;
  96. for (i = 0; i < tableau.length; i++) {
  97. somme = somme + tableau[i];
  98. }
  99. return somme;
  100. }
  101.  
  102. // Methode qui retourne un entier aleatoire entre 1 et 5:
  103. public static int getRandomNumberInRange() {
  104.  
  105. Random r = new Random();
  106. return r.nextInt(4) + 1;
  107. }
  108.  
  109. /**
  110. * Parcourir le tableau 2D et afficher son contenu
  111. *
  112. * @param tab, le tableau a afficher
  113. */
  114. public static void afficherTab2D(int tab[][]) {
  115. for (int i = 0; i < tab.length; i++) {
  116. for (int j = 0; j < tab[i].length; j++) {
  117. System.out.printf("%-4d", tab[i][j]);
  118. }
  119. System.out.println();
  120. }
  121. }
  122.  
  123. public static void main(String[] args) {
  124. // Conditions initiales pour commencer le jeux
  125. // while(sommeTableau(tab[JOUEUR]) != 0 && sommeTableau(tab[ORDI]) != 0 ){
  126.  
  127. // Afficher l'etet initial du tableau 2D:
  128. afficherTab2D(tab);
  129.  
  130. // inviter le Joueur à choisir une piece valide
  131. messageJouer();
  132. Scanner clavier = new Scanner(System.in);
  133. choixJoueur = clavier.nextInt();
  134. System.out.println(" vous avez choisi : " + choixJoueur);
  135.  
  136.  
  137. tab[JOUEUR][choixJoueur - 1] = tab[JOUEUR][choixJoueur - 1] - 1;
  138. tab[POT][choixJoueur - 1] = tab[POT][choixJoueur - 1] + 1;
  139.  
  140.  
  141. //afficherTab2D(tab);
  142.  
  143. switch (choixJoueur) {
  144. case 4:
  145. if (valeurPot[2] >= 20) { //il y a au moins 2 pieces de 10c dans le pot
  146. if (valeurPot[0] > 4) { // il y a au moins 5 pieces de 1c dans le pot
  147. tab[JOUEUR][2] = tab[JOUEUR][2] + 2;
  148. tab[POT][2] = tab[POT][2] - 2; // on va prendre 20c du pot et la mettre dans le tas du joueur
  149. tab[JOUEUR][0] = tab[JOUEUR][0] + 4;
  150. tab[POT][0] = tab[POT][0] - 4; // on va prendre 4c du pot et la mettre dans le tas du joueur
  151.  
  152. } else {
  153. tab[JOUEUR][2] = tab[JOUEUR][2] + 2;
  154. tab[POT][2] = tab[POT][2] - 2; // on va prendre 20c du pot et la mettre dans le tas du joueur
  155. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0];
  156. tab[POT][0] = tab[POT][0] - tab[POT][0]; // on va prendre tous les 1c
  157. // du pot et la mettre dans le tas du joueur
  158. }
  159. } else if (valeurPot[2] == 10) { //il y a 1 pieces de 10c dans le pot
  160. tab[JOUEUR][2] = tab[JOUEUR][2] + 1;
  161. tab[POT][2] = tab[POT][2] - 1; // on va prendre 10c du pot et la mettre dans le tas du joueur
  162. if (valeurPot[1] > 5) { //il y a au moins 2 pieces de 5c dans le pot
  163. if (valeurPot[0] > 4) { // il y a au moins 5 pieces de 1c dans le pot
  164. tab[JOUEUR][1] = tab[JOUEUR][1] + 2;
  165. tab[POT][1] = tab[POT][1] - 2; // on va prendre 2 x 5c du pot et les mettre dans le tas du joueur
  166. tab[JOUEUR][0] = tab[JOUEUR][0] + 4;
  167. tab[POT][0] = tab[POT][0] - 4; // on va prendre 4c du pot et la mettre dans le tas du joueur
  168.  
  169. } else {
  170. tab[JOUEUR][1] = tab[JOUEUR][1] + 2;
  171. tab[POT][1] = tab[POT][1] - 2; // on va prendre 2 x 5c du pot et les mettre dans le tas du joueur
  172. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0];
  173. tab[POT][0] = tab[POT][0] - tab[POT][0]; // on va prendre tous les 1c
  174. // du pot et la mettre dans le tas du joueur
  175.  
  176. }
  177.  
  178. } else { //il y a au maximum 1 piece de 5c dans le pot
  179. tab[JOUEUR][1] = tab[JOUEUR][1] + tab[POT][1];
  180. tab[POT][1] = tab[POT][1] - tab[POT][1]; // on ajoute tout le contenu du pot au joueur
  181. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0];
  182. tab[POT][0] = tab[POT][0] - tab[POT][0];
  183.  
  184. }
  185. } else {
  186. if (valeurPot[1] > 10) { //il y a au moins 3 pieces de 5c dans le pot
  187. tab[JOUEUR][1] = tab[JOUEUR][1] + 3;
  188. tab[POT][1] = tab[POT][1] - 3; // on va prendre 3 x 5c du pot et les mettre dans le tas du joueur
  189. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0];
  190. tab[POT][0] = tab[POT][0] - tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  191.  
  192. } else {
  193. tab[JOUEUR][2] = tab[JOUEUR][2] + tab[POT][1];
  194. tab[POT][1] = tab[POT][1] - tab[POT][1]; // on ajoute tout le contenu du pot au joueur
  195. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0];
  196. tab[POT][0] = tab[POT][0] - tab[POT][0];
  197.  
  198. }
  199. }
  200. case 3:
  201. if (valeurPot[1] >= 5) { //il y a au moins 1 piece de 5c dans le pot
  202. tab[JOUEUR][1] = tab[JOUEUR][1] + 1;
  203. tab[POT][1] = tab[POT][1] - 1;
  204. if (valeurPot[0] > 4) { // il y a au moins 5 pieces de 1c dans le pot
  205. tab[JOUEUR][0] = tab[JOUEUR][0] + 4;
  206. tab[POT][0] = tab[POT][0] - 4; // on va prendre 4c du pot et la mettre dans le tas du joueur
  207.  
  208. } else {
  209. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  210. tab[POT][0] = tab[POT][0] - tab[POT][0];
  211. }
  212.  
  213. } else {
  214. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  215. tab[POT][0] = tab[POT][0] - tab[POT][0];
  216. }
  217. case 2:
  218. if (valeurPot[0] >= 5) { //il y a au moins 5 piece de 1c dans le pot
  219. tab[JOUEUR][0] = tab[JOUEUR][0] + 4;// on va prendre 4c du pot et la mettre dans le tas du joueur
  220. tab[POT][0] = tab[POT][0] - 4;
  221.  
  222. } else {
  223. tab[JOUEUR][0] = tab[JOUEUR][0] + tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  224. tab[POT][0] = tab[POT][0] - tab[POT][0];
  225.  
  226. }
  227. }
  228.  
  229. System.out.println("Voici les resultats: ");
  230. System.out.println();
  231. afficherTab2D(tab);
  232. System.out.println();
  233. System.out.println(" L'ordi joue");
  234.  
  235. // inviter l'ordi à choisir une piece valide
  236. choixOrdi = getRandomNumberInRange();
  237. System.out.println(" L'ordi a choisi : " + choixOrdi);
  238.  
  239. tab[ORDI][choixOrdi - 1] = tab[ORDI][choixOrdi - 1] - 1;
  240. tab[POT][choixOrdi - 1] = tab[POT][choixOrdi - 1] + 1;
  241. switch (choixOrdi) {
  242. case 4:
  243. if (valeurPot[2] >= 20) { //il y a au moins 2 pieces de 10c dans le pot
  244. if (valeurPot[0] > 4) { // il y a au moins 5 pieces de 1c dans le pot
  245. tab[ORDI][2] = tab[ORDI][2] + 2;
  246. tab[POT][2] = tab[POT][2] - 2; // on va prendre 20c du pot et la mettre dans le tas du joueur
  247. tab[ORDI][0] = tab[ORDI][0] + 4;
  248. tab[POT][0] = tab[POT][0] - 4; // on va prendre 4c du pot et la mettre dans le tas du joueur
  249.  
  250. } else {
  251. tab[ORDI][2] = tab[ORDI][2] + 2;
  252. tab[POT][2] = tab[POT][2] - 2; // on va prendre 20c du pot et la mettre dans le tas du joueur
  253. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0];
  254. tab[POT][0] = tab[POT][0] - tab[POT][0]; // on va prendre tous les 1c du pot et la mettre dans le tas du joueur
  255. }
  256. } else if (valeurPot[2] == 10) { //il y a 1 pieces de 10c dans le pot
  257. tab[ORDI][2] = tab[ORDI][2] + 1;
  258. tab[POT][2] = tab[POT][2] - 1; // on va prendre 10c du pot et la mettre dans le tas du joueur
  259. if (valeurPot[1] > 5) { //il y a au moins 2 pieces de 5c dans le pot
  260. if (valeurPot[0] > 4) { // il y a au moins 5 pieces de 1c dans le pot
  261. tab[ORDI][1] = tab[ORDI][1] + 2;
  262. tab[POT][1] = tab[POT][1] - 2; // on va prendre 2 x 5c du pot et les mettre dans le tas du joueur
  263. tab[ORDI][0] = tab[ORDI][0] + 4;
  264. tab[POT][0] = tab[POT][0] - 4; // on va prendre 4c du pot et la mettre dans le tas du joueur
  265. } else {
  266. tab[ORDI][1] = tab[ORDI][1] + 2;
  267. tab[POT][1] = tab[POT][1] - 2; // on va prendre 2 x 5c du pot et les mettre dans le tas du joueur
  268. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0];
  269. tab[POT][0] = tab[POT][0] - tab[POT][0]; // on va prendre tous les 1c
  270. // du pot et la mettre dans le tas du joueur
  271. }
  272.  
  273. } else { //il y a au maximum 1 piece de 5c dans le pot
  274. tab[ORDI][1] = tab[ORDI][1] + tab[POT][1];
  275. tab[POT][1] = tab[POT][1] - tab[POT][1]; // on ajoute tout le contenu du pot au joueur
  276. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0];
  277. tab[POT][0] = tab[POT][0] - tab[POT][0];
  278. }
  279. } else {
  280. if (valeurPot[1] > 10) { //il y a au moins 3 pieces de 5c dans le pot
  281. tab[ORDI][1] = tab[ORDI][1] + 3;
  282. tab[POT][1] = tab[POT][1] - 3; // on va prendre 3 x 5c du pot et les mettre dans le tas du joueur
  283. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0];
  284. tab[POT][0] = tab[POT][0] - tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  285.  
  286. } else {
  287. tab[ORDI][2] = tab[ORDI][2] + tab[POT][1];
  288. tab[POT][1] = tab[POT][1] - tab[POT][1]; // on ajoute tout le contenu du pot au joueur
  289. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0];
  290. tab[POT][0] = tab[POT][0] - tab[POT][0];
  291.  
  292. }
  293. }
  294. case 3:
  295. if (valeurPot[1] >= 5) { //il y a au moins 1 piece de 5c dans le pot
  296. tab[ORDI][1] = tab[ORDI][1] + 1;
  297. tab[POT][1] = tab[POT][1] - 1;
  298. if (valeurPot[0] > 4) { // il y a au moins 5 pieces de 1c dans le pot
  299. tab[ORDI][0] = tab[ORDI][0] + 4;
  300. tab[POT][0] = tab[POT][0] - 4; // on va prendre 4c du pot et la mettre dans le tas du joueur
  301. } else {
  302. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  303. tab[POT][0] = tab[POT][0] - tab[POT][0];
  304. }
  305.  
  306. } else {
  307. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  308. tab[POT][0] = tab[POT][0] - tab[POT][0];
  309. }
  310. case 2:
  311. if (valeurPot[0] >= 5) { //il y a au moins 5 piece de 1c dans le pot
  312. tab[ORDI][0] = tab[ORDI][0] + 4;// on va prendre 4c du pot et la mettre dans le tas du joueur
  313. tab[POT][0] = tab[POT][0] - 4;
  314.  
  315. } else {
  316. tab[ORDI][0] = tab[ORDI][0] + tab[POT][0]; // on ajoute tout le contenu du pot au joueur
  317. tab[POT][0] = tab[POT][0] - tab[POT][0];
  318.  
  319. }
  320. System.out.println("Voici les resultats: ");
  321. System.out.println();
  322. afficherTab2D(tab);
  323. System.out.println();
  324. }
  325.  
  326. }
  327. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement