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 144 145 146 147 148 149 150 151 152 153 154
| package maBatailleNavale;
import java.util.Scanner;
///On import la classe random
import java.util.Random;
public class Main_Bataille {
public static void main(String[ ] args) {
Scanner n = new Scanner(System.in);
Scanner n1 = new Scanner(System.in);
///On initialise toutes les variables memes celles que l'utilisateur doit rentrer
/// Random est la fonction qui choisit au hasard les coordonnées de la cible
Random rand = new Random();
String boucle = "oui";
Erreur_Entree ErreurStr = new Erreur_Entree();
Erreur_Entree Erreur_boucle = new Erreur_Entree();
while(boucle.equals("oui"))
{
/// On demande a l'utilisateur d'entrée la taille du terrain
String message_grille = "Entrez le nombre de carreaux du coté de la grille svp";
int grille = 0 ;
boolean erreur = true;
Erreur_Entree ErreurInt = new Erreur_Entree();
grille = ErreurInt.Erreur_int(message_grille, erreur, grille, n);
while(grille > 100)
{
System.out.println("Je suis désolé mais votre grille est trop grande.");
grille = ErreurInt.Erreur_int(message_grille, erreur, grille, n);
}
System.out.println(grille);
/// On donne des valeurs aleatoires aux coordonnées de la cible
int a = rand.nextInt(grille);
int b = rand.nextInt(grille);
int x = grille + 1;
int y = grille + 1;
int essaie = 0;
/// On demande a l'utilisateur d'entrer une limite de coups
int limite2 = 0;
String message_limite = "Veuillez entrer la limite de tentative que vous pouvez faire";
limite2 = ErreurInt.Erreur_int(message_limite, erreur, limite2, n);
int limite = 1;
String rep_liste[] = {"oui","non"};
String rep = "oui";
String rep2;
int reussit = 0;
int compris = 1;
Fen_Inter fen = new Fen_Inter();
//On crée la boucle principale du jeu
while (rep.equals("oui"))
{
essaie = essaie + 1;
System.out.println("À vous de jouer");
while (x > grille)
{
String message_x = "Entrez x: ";
x = ErreurInt.Erreur_int(message_x, erreur, x, n);
if(x>grille)
{
System.out.println("Désolé, ce chiffre est trop grand");
}
}
while (y > grille)
{
String message_y = "Entrez y: ";
y = ErreurInt.Erreur_int(message_y, erreur, y, n);
if(y>grille)
{
System.out.println("Désolé, ce chiffre est trop grand");
}
}
if (x == a && y == b) {
System.out.println("Touché");
reussit = 1;
break; }
else if (x == a || y == b) {
if (x == a+1 && y == b){
System.out.println("En Vue");}
else if ((a==x || a==x-1 || a==x+1) && (b==y || b==y+1 || b==y-1)){
System.out.println("En Vue");}
}
else {
System.out.println("A l'eau");
}
if (limite == limite2)
{
System.out.println("Désolé mais vous avez atteint la limite de coups joués.");
break;
}
///On demande a l'utilisateur si il veut rejouer
System.out.println("Voulez vous rejouer oui/non ? ");
rep2 = n1.nextLine();
/// Tant que l'utilisateur n'entre pas oui ou non on lui redemande s'il veut rejouer
/// Pour comprendre comment marche l'objet Erreur_Entree voir sur le deuxieme .java
rep2 = ErreurStr.Erreur_str(compris, rep2, rep_liste, n1);
if (rep2.equals("non")){
break;
}
limite = limite + 1;
/// Si l'utilisateur atteint la limite qu'il s'était fixé on stoppe le jeu et on l'informe
/// qu'il a perdu
x = grille + 1 ;
y = grille + 1;
}
System.out.println("Partie terminée \n");
/// Si l'utilisateur a réussit on lui indique en combien de coups
if (reussit == 1){
System.out.println("Vous avez réussit en " + essaie + " coups");}
compris = 1;
System.out.println("Voulez vous faire une nouvelle partie (oui/non) ?");
boucle = n1.nextLine();
boucle = Erreur_boucle.Erreur_str(compris, boucle, rep_liste, n1);
}
System.out.println("Au revoir");
n.close();
n1.close();
}
} |
Partager