Prix d'un lot

Résolu/Fermé
macabi - Modifié par macabi le 8/12/2010 à 19:03
 el adi - 1 avril 2011 à 03:06
Bonjour, je vien de m'inscrit sur se forum et j'ai besoin d'aide et assistance en programmation orientée objet.aidez moi.
qestion:a)Le jeu consiste à découvrir par essais successifs le prix d'un lot.pour chaque essai,le joueur reçoit un message:"Trop grand","Trop petit" ou "BRAVO ! vous avez trouvé en K essai".le jeu est fini quand le joueur à trouvé le prix du lot.

on propose d'ecrire un programme JAVA PrixLot.java qui joue le role de meneur de jeu;l'exécution de ce programme vous fera tenir le role du joueur.le programme Prixlot doit définir le prix du lot en tirant un entier aléatoire entre 1 et 1000 et dialoguer avec le joueur pendant le jeu.

pour choisir un nombre au hasard on utilisera la methode random de la classe math qui retourne un réel(double)tiré au hasard et de manière uniforme dans l'intervalle[0 1].

exemple:
double x;
x=math.random

b) copier dans le fichier PrixLot2.java le fichier PrixLot1.java,et modifier PrixLot2.java de manière à pouvoir:
-enchainer plusieurs jeux consecutifs lors d'une meme execution du programme(à la fin de chaque jeu,il est demandé au joueurs de preciser s'il veut s'arreter ou rejouer)
-limiter le nombre d'essai du joueur lors d'une partie(au début de chaque partie,le programme demandera le nombre maximum 'essai autorisés)


c)En jouant avec le programme précédent,essayer de trouver une strategie systématique et efficace.ecrire un programme PrixLot3.java qui fait jouer l'ordinateur à votre place suivant la tactique que vous venez de définir;les deux roles de meneur de jeu et de joueur sont sont donc à la charge du programme,le joueur"ignorant" évidemment le prix connu du meneur de jeu,mais "sachant" si son essai est plus grand ou plus petit que le prix

Le programme PrixLot3 effectue 20 parties; il affiche pour chaque pertie le prix tiré au sort et le nombre d'essai successifs qui ont été necessaires pour le trouver avec la tactique programmée

Pouvez-vous prévoir,pour la tactique que vous avez choisie,l'ordre de grandeur des nombres d'essai?Completer le programme PrixLot3 en lui faisant calculer le moyenne des 20 nombres d'essais obtenus pour les 20 parties.
aidez moi a ecrire se programme




A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
8 déc. 2010 à 18:41
0
package ensa;

import java.util.Scanner;

public class PrixLot1 {

public static void main(String[] args) {
Scanner Input = new Scanner(System.in);
int Prix = (int) (1000 * Math.random());//entier entre 0 et 1000
int MonPrix; //le prix que je doix saisir
int NbrEssais = 1; // nombre d'essais
System.out.print("Tapez un prix : ");
MonPrix = Input.nextInt();

while (MonPrix != Prix) {
if (MonPrix < Prix)
System.out.println("Trop petit !");
else if (MonPrix > Prix)
System.out.println("Trop grand");

NbrEssais++;
System.out.print("Tapez un prix :");
MonPrix = Input.nextInt();
}
System.out.println("BRAVO ! Vous avez gagné en " + NbrEssais + " essais.");
}

}

b- Prix d'un lot

package ensa-marrakech;

import java.util.Scanner;
public class PrixLot2 {
Scanner Input = new Scanner(System.in);

public void PrixLot1(int NbrMaxEssais) {

int Prix = (int) (1000 * Math.random());
int MonPrix;
int NbrEssais = 1;
System.out.print("Tapez un prix : ");
MonPrix = Input.nextInt();

while (MonPrix != Prix && NbrMaxEssais >= 1) {
if (MonPrix < Prix)
System.out.println("Trop petit !");
else if (MonPrix > Prix)
System.out.println("Trop grand");

NbrMaxEssais--;
System.out.print(NbrMaxEssais);
NbrEssais++;
System.out.print("Tapez un prix :");
MonPrix = Input.nextInt();
}
if (NbrMaxEssais == 1) {
System.out.println("PERDU ! Vous avez épuisé le nombre essais.");
System.out.println("Le nombre était :" + Prix);

} else
System.out.println("BRAVO ! Vous avez gagné en " + NbrEssais + " essais.");

}

public static void main(String[] args) {

Scanner InputChar = new Scanner(System.in);
String Choix = "o";
PrixLot2 obj = new PrixLot2();
System.out.print("1ère partie. Nombre maximum d'essais:");
int NbrEssais = obj.Input.nextInt();
int NbrParties = 2;

obj.PrixLot1(NbrEssais);
System.out.print("Voulez-vous essayer un autre nombre O/N ? :");
Choix = InputChar.nextLine();

while (Choix.charAt(0) == 'o') {

System.out.print(NbrParties + "ème partie. Nombre maximum d'essais:");
NbrEssais = obj.Input.nextInt();
obj.PrixLot1(NbrEssais);

System.out.print("Voulez-vous essayer un autre nombre O/N ? :");
Choix = InputChar.nextLine();
NbrParties++;
}
}
}
0