cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012
-
10 mars 2009 à 20:42
shyrachtz
Messages postés50Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention 1 juillet 2011
-
17 mars 2009 à 13:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
public Prop(){
init();
try{
loadProperties(basePathProp);
}catch(Exception e){
JOptionPane.showMessageDialog(null,"erreur in loading the TXT file \n"+e.getMessage());}
}
class Mot{
private String w=" ";
final int module;
int nbE=0;
private int nbV=0;
private int Rest;
final int f=10;
private String t=" ";
boolean[] o;
Prop p;
Mot(){
p = new Prop();
w=word();
introduction();
System.out.print("Le mot est forme de "+ w.length()+" caracteres");
o=new boolean[w.length()];
module=w.length();
for(int j=0;j<w.length();j++)
o[j]=false;
Rest=module;}
void Testg(String a){
int i,j,passe=1,trouve=0;
char u=a.charAt(0);
for( i=0;i<t.length();i++) {
if(t.charAt(i)==u){
passe=0;
break;}
}
t+=u;
if(passe==1){
System.out.println("lettre entrer est: "+u);
for( i=0;i<w.length();i++)
if(w.charAt(i) == u ){
nbV++;trouve=1; Rest-=1;o[i]=true;
System.out.print(" ");
for(int l=0;l<o.length;l++)
if(o[l]==true)
{System.out.print(w.charAt(l));}
else System.out.print("-");
System.out.println("\n\n "+(char)16+"\t donc il rest "+(module-nbV)+" a les trouver"+
"\n_______________________________________________\n" );}
if(trouve==0){ setnbE();
System.out.println(" !! letre est fausse et il rest pour vous: "+(10-getE())+
" essayes\n__________________________________________________\n");}
}
else{
System.out.println("le lettre ( "+u+" ) est deja saisi"+
"\n__________________________________________________________\n");}///
}
public String toString(){
String s=" les resultats sont:\n\t nombre d'erreur: "+getE()+"\n\t les lettres saisient sont: "+getT();
if(getR()==0)
s+="\n\n\t***le mot etait: "+getW()+"\n\t"+ (char)16+" La resultat: tu es gagnant "+(char)17+"\n";
else
s+="\n\n"+(char)7+"\t\t***le mot etait: "+getW()+"\n "+(char)2+" !!!! La resultat: tu ne gagnes pas "+(char)2;
return s;}
String getT(){
return t;}
String getW(){
return w;}
int getE(){
return nbE;}
int getR(){
return Rest;}
int getF(){
return f;}
void setnbE(){
nbE=nbE+1;}
int getV(){
return nbV;}
void introduction(){
System.out.println( "CHARBEL ELIAS TANNOUS\n\n"+
(char)177+" cherchez le mot?");}
static String lir(){
String a;
a=JOptionPane.showInputDialog("Entrer une china de caractere");
return a;}
static int lirmod(){
int a=0,c=0;String b=" ";
while(c==0){
b=JOptionPane.showInputDialog("entrer module de mot");
try{a=Integer.parseInt(b);c=1;}
catch(NumberFormatException e){
System.out.println("*******ERROR pour le nombre de caractere******");}}
return a;}
}
//------------------------
class CHT{
public static void main(String args[]){
Mot a=new Mot();
String e;
a.aff();
//-----------------------------------
Ce jeu est adressé au débutant et pas à l’expert,
Il est pour ceux qui ont fini la première année universitaire de l’informatique,
Et pas la deuxième, ou ….
L’autre solution est comme a dit loloof64 avec les Stream et buffer….
Les information dans le fichier: lib.txt
Vous pouvez ajoute, après la premier exécution...
Explorez-le.
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 17 mars 2009 à 08:33
Bonjour,
en effet j'avais mal compris l'idée de l'auteur .
Je pense aussi qu'une meilleure méthode (si toutefois il maitrise les flux de données textes) aurait été de mettre tous les mots dans un .txt, et de creer un classe (ayant son propre main, de préférence) qui crée une classe à partir des mots de ce texte; les mots etant contenus dans un tableau, éventuellement déclaré statique .
( C'est possible, j'ai réussi à le faire ) .
ltb69
Messages postés5Date d'inscriptionsamedi 7 octobre 2006StatutMembreDernière intervention16 mars 2009 16 mars 2009 à 09:13
Par "Un petit jeu avec une librairie statique des mots.", je pense que l'auteur veut dire que la liste des mots est statique, i.e. non dynamique donc non évolutive => pour modifier la liste, il faut modifier le code. Les mots sont mal choisis, mais on sent quelque faiblesse dans le phrasé :).
Petits commentaires, en sachant que je ne l'ai pas lu a fond :
- Les noms de variables nbE, nbV, Rest, f, t, o : pas trés explicite
- Les noms de méthodes ne sont pas top non plus : aff, lir, lirmod
- Une lecture des mots dans un fichier avec un mot par ligne ne coute pas cher (BufferedReader) et apporte un vrai plus.
- une petit fonction "à la mastermind", avec le nombre de lettre bien placées / mal placées aurait été un plus.
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 11 mars 2009 à 17:57
Je pense que la défintion de librairie statique n'a rien à voir avec le mot clé java static .
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 11 mars 2009 à 17:53
Je suis désolé de m'être mal exprimé : je pense que ta librairie n'est pas une librairie statique .
shyrachtz
Messages postés50Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention 1 juillet 2011 11 mars 2009 à 07:19
meme les experts ne sont pas encore des experts, car chaque jour il y a de nouveaux. ...
shyrachtz
Messages postés50Date d'inscriptionmercredi 10 décembre 2008StatutMembreDernière intervention 1 juillet 2011 11 mars 2009 à 07:13
Dans ce code la librairie est comme ca, mais, on peut la faire suivant un fichier normale avec ( ; par exemple) comme separateur.
mot1;mot2;……
Puis chargement …..
Mais c’est un exemple, pas plus.
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 10 mars 2009 à 20:42
Salut :)
Ne connaissans que le J2SE et non le J2EE, j'ai dû taper sur Google pour oir ce que signifie librairie statique => Conclusion : il semblerait que cela soit davantage une libraire développée en C++ (ou autre langage que Java lui-même peut être) à inclure grâce à l'utilisation de JINI .
Tu as peut être voulu parler de librairie intégréé au code .
Mais bon, je le répète : je suis loin d'être un expert .
17 mars 2009 à 13:19
//---------------------------------- V2 -------------------
import java.io.*;
import javax.swing.JOptionPane;
import java.util.Properties;
class Prop {
private String basePathProp=".\\lib.txt";
File fichier;
FileWriter ff;
private Properties properties = null;
public Prop(){
init();
try{
loadProperties(basePathProp);
}catch(Exception e){
JOptionPane.showMessageDialog(null,"erreur in loading the TXT file \n"+e.getMessage());}
}
private void init(){
fichier=new File(basePathProp);
if(!fichier.exists() || !fichier.canRead()){
try {
ff=new FileWriter(fichier);
ff.write("# 10 est le nombre des mots qui seront en services.\n");
ff.write("nbmot=10\n");
ff.write("\n #key(format numerique)=value\n");
ff.write("1=auxiliairement\n");
ff.write("2=avachie\n");
ff.write("3=avaler\n");
ff.write("4=avec\n");
ff.write("5=aventures\n");
ff.write("6=coing\n");
ff.write("7=colidacilles\n");
ff.write("8=collant\n");
ff.write("9=collectionneurs\n");
ff.write("10=crache\n");
} catch (Exception ex) {
JOptionPane.showMessageDialog(null,"erreur initialisation....\n"+ex.getMessage());
} finally {
try {
ff.close();
} catch (IOException ex) {
JOptionPane.showMessageDialog(null,"Erreur in Closing ... \n"+ex.getMessage());
}
}
}
}
private void loadProperties(String propertiesFileName) throws FileNotFoundException {
properties = new Properties();
FileInputStream fileInputStream = new FileInputStream(propertiesFileName);
try {
properties.load(fileInputStream);
} catch (IOException e) {
e.printStackTrace();}
finally{
try {
fileInputStream.close();
} catch (Exception e) { }
}
}
public String get(String s){
return properties.getProperty(s);}
public static void main(String[] arg){
Prop p=new Prop();
System.out.println("test1="+p.get("1"));
}
}
// ----------------------------------------------
class Mot{
private String w=" ";
final int module;
int nbE=0;
private int nbV=0;
private int Rest;
final int f=10;
private String t=" ";
boolean[] o;
Prop p;
Mot(){
p = new Prop();
w=word();
introduction();
System.out.print("Le mot est forme de "+ w.length()+" caracteres");
o=new boolean[w.length()];
module=w.length();
for(int j=0;j<w.length();j++)
o[j]=false;
Rest=module;}
void Testg(String a){
int i,j,passe=1,trouve=0;
char u=a.charAt(0);
for( i=0;i<t.length();i++) {
if(t.charAt(i)==u){
passe=0;
break;}
}
t+=u;
if(passe==1){
System.out.println("lettre entrer est: "+u);
for( i=0;i<w.length();i++)
if(w.charAt(i) == u ){
nbV++;trouve=1; Rest-=1;o[i]=true;
System.out.print(" ");
for(int l=0;l<o.length;l++)
if(o[l]==true)
{System.out.print(w.charAt(l));}
else System.out.print("-");
System.out.println("\n\n "+(char)16+"\t donc il rest "+(module-nbV)+" a les trouver"+
"\n_______________________________________________\n" );}
if(trouve==0){ setnbE();
System.out.println(" !! letre est fausse et il rest pour vous: "+(10-getE())+
" essayes\n__________________________________________________\n");}
}
else{
System.out.println("le lettre ( "+u+" ) est deja saisi"+
"\n__________________________________________________________\n");}///
}
void aff(){
String s=" ";
for(int i=0;i<module;i++)
s+="-";
System.out.println(s);
for(int i=0;i<50;i++)
System.out.print((char)205);
System.out.println();}
public String toString(){
String s=" les resultats sont:\n\t nombre d'erreur: "+getE()+"\n\t les lettres saisient sont: "+getT();
if(getR()==0)
s+="\n\n\t***le mot etait: "+getW()+"\n\t"+ (char)16+" La resultat: tu es gagnant "+(char)17+"\n";
else
s+="\n\n"+(char)7+"\t\t***le mot etait: "+getW()+"\n "+(char)2+" !!!! La resultat: tu ne gagnes pas "+(char)2;
return s;}
String getT(){
return t;}
String getW(){
return w;}
int getE(){
return nbE;}
int getR(){
return Rest;}
int getF(){
return f;}
void setnbE(){
nbE=nbE+1;}
int getV(){
return nbV;}
void introduction(){
System.out.println( "CHARBEL ELIAS TANNOUS\n\n"+
(char)177+" cherchez le mot?");}
String word(){
String s="";
try{
int nb=Integer.parseInt(p.get("nbmot"));
s= p.get(""+(1+(int)(Math.random()*nb)));
} catch(Exception e){
System.out.println("erreur:"+e.getMessage());
return p.get("1"); }
return s;}
}
//-------------------------------
import javax.swing.*;
class Jeux{
static String lir(){
String a;
a=JOptionPane.showInputDialog("Entrer une china de caractere");
return a;}
static int lirmod(){
int a=0,c=0;String b=" ";
while(c==0){
b=JOptionPane.showInputDialog("entrer module de mot");
try{a=Integer.parseInt(b);c=1;}
catch(NumberFormatException e){
System.out.println("*******ERROR pour le nombre de caractere******");}}
return a;}
}
//------------------------
class CHT{
public static void main(String args[]){
Mot a=new Mot();
String e;
a.aff();
while((a.getE()<a.getF())&& (a.getR()!=0) ){
e=Jeux.lir();
a.Testg(e); }
System.out.println(a);
new Charbel();
}
}
//-----------------------------------
Ce jeu est adressé au débutant et pas à l’expert,
Il est pour ceux qui ont fini la première année universitaire de l’informatique,
Et pas la deuxième, ou ….
L’autre solution est comme a dit loloof64 avec les Stream et buffer….
Les information dans le fichier: lib.txt
Vous pouvez ajoute, après la premier exécution...
Explorez-le.
17 mars 2009 à 08:33
en effet j'avais mal compris l'idée de l'auteur .
Je pense aussi qu'une meilleure méthode (si toutefois il maitrise les flux de données textes) aurait été de mettre tous les mots dans un .txt, et de creer un classe (ayant son propre main, de préférence) qui crée une classe à partir des mots de ce texte; les mots etant contenus dans un tableau, éventuellement déclaré statique .
( C'est possible, j'ai réussi à le faire ) .
16 mars 2009 à 09:13
Petits commentaires, en sachant que je ne l'ai pas lu a fond :
- Les noms de variables nbE, nbV, Rest, f, t, o : pas trés explicite
- Les noms de méthodes ne sont pas top non plus : aff, lir, lirmod
- Une lecture des mots dans un fichier avec un mot par ligne ne coute pas cher (BufferedReader) et apporte un vrai plus.
- une petit fonction "à la mastermind", avec le nombre de lettre bien placées / mal placées aurait été un plus.
11 mars 2009 à 17:57
11 mars 2009 à 17:53
11 mars 2009 à 07:19
11 mars 2009 à 07:13
mot1;mot2;……
Puis chargement …..
Mais c’est un exemple, pas plus.
10 mars 2009 à 20:42
Ne connaissans que le J2SE et non le J2EE, j'ai dû taper sur Google pour oir ce que signifie librairie statique => Conclusion : il semblerait que cela soit davantage une libraire développée en C++ (ou autre langage que Java lui-même peut être) à inclure grâce à l'utilisation de JINI .
Tu as peut être voulu parler de librairie intégréé au code .
Mais bon, je le répète : je suis loin d'être un expert .
Salut :)