Jeux java avec une base de donnee

Fermé
Hassen_Gharbi Messages postés 12 Date d'inscription jeudi 13 octobre 2016 Statut Membre Dernière intervention 8 mai 2019 - Modifié par KX le 20/10/2016 à 21:39
Hassen_Gharbi Messages postés 12 Date d'inscription jeudi 13 octobre 2016 Statut Membre Dernière intervention 8 mai 2019 - 21 oct. 2016 à 20:10
bref c'est le jeux motus créer avec Eclipse mais il utilise une tableaux qu'elle et les modification nécessaire pour remplace le tableau de mots par une base de donne
package fr.games.motus;

import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import test1.Boules;

// import javax.swing.JOptionPane;


public class MOTUS<grille> extends Applet implements ActionListener
{  
 
 private static final long serialVersionUID = 1L;
 
 // liste des mots
 // s'il y a des mots � ajouter 
 String mots[]={"decors","glaces","vision","auteur","taille","lignes","nouees","lucide","peines","couter","accent","vaches","trente","sainte","poutre","police","saumon","minois","etroit","minees","joules","gaffes","equipe","eviter","prison","etoile","hockey","repris","migale","aimant","pierre","ardeur","alcool","nombre","confus","auteur","postes","repris","eclair","organe","ouvert","tester","pentes","tentes","traite","cartes","doutes","pistes","piston","carton","routes","calcul","tartes","mordue","cousin","freres","plaire","traces","courte","ecoles","dettes","crimes","vagues","cycles","tables","suites"};
 
 // variables du jeux
 private String solution,dernier_mot="";
    private  Random alea;
 // Les boules
 public Frame boules;
 public Grille grille;

 
 private int MotNum=0;
 
 private boolean MotTrouve=false; 
 private boolean MotValide=true;
 private boolean jeuFini=false;
 
 private boolean PosExactes[][]=new boolean[6][6];
 private boolean PosFausses[][]=new boolean[6][6];
 
 private boolean HistoExacte[]=new boolean[6];
 
 private String MotSaisies[]=new String[6];
 
 // Les composants de la fen�tre
 
 private Button cmdok,changerColor;
 private TextField txtmot;
 
 private Label lbl1,lblmessage;
 
 public void init()
 {
  initComposants();
  choisirMot();
  
 }
 private void initComposants()
 {
  setBackground(Color.pink);
  setLayout(null);
  
  lbl1=new Label("Your word : ");
  lbl1.setFont(new Font("Arial",Font.ITALIC+Font.BOLD,15));  
  lbl1.setForeground(Color.blue);
  lbl1.setBounds(10,400,100,20);
  
  
  txtmot=new TextField("",10); 
  txtmot.setBounds(120,400,70,20);
  txtmot.addActionListener(this);         
  
  cmdok=new Button("   Ok   ");
  cmdok.setBackground(Color.yellow);
  cmdok.addActionListener(this);
  cmdok.setBounds(200,400,90,20);
  
  lblmessage=new Label();  
  lblmessage.setBackground(getBackground());
  lblmessage.setBounds(10,430,280,20);
  
  changerColor = new Button("C");
  changerColor.setBounds(300,495,20,20);
  changerColor.addActionListener(this);
  changerColor.setBackground(getBackground());
  
  add(lbl1);
  add(txtmot);
  add(cmdok);
  add(lblmessage);
  add(changerColor);
  
  
  alea = new Random();
  setRandomBackground();
  
  Object test1;
  // les boules
  grille = new Grille();

  
 }
 private void choisirMot()
 {
  solution=mots[alea.nextInt(mots.length)].toUpperCase();
  if(solution.equals(dernier_mot)) choisirMot(); 
  dernier_mot = solution;
 }
 
 
 public void actionPerformed(ActionEvent AE)
 {   // Quand on appuye sur le bouton C --> changement de la couleur
  if(AE.getActionCommand().equals("C"))
  {
        setRandomBackground();
  return; 
  }
  
  
  if(jeuFini) 
  {
  // JOptionPane.showMessageDialog(null,"ici");
   
  initApresChoixBoules();
 
  }
  
  else 
  {
   testerSaisie ();
   
   if(!MotValide) 
   {lblmessage.setText("Type a corrct word having 6 letters.") ;}
   else
   {
    MotNum++;
    lblmessage.setText("") ;
    MotSaisies[MotNum]=txtmot.getText().toUpperCase();
    repaint();}
  }
 }
 
 public void paint(Graphics G)
 { 
  // G.drawString(solution,10,20);
  
  
  dessinerInterface(G);
  
  
  if( MotNum ==0) {ecrirePremiereLetrre(G);return;}
  
  dessinerHistorique(G);
  dessinerPositionsFausses(G);
  dessinerPositionsJustes(G);
  G.setColor(Color.black);
  
  ecrireMots(G);  
  
  if(MotTrouve  && !jeuFini) initMotTrouve();
  else if(MotNum==5 && !MotTrouve) initPerdu();
  else if(!jeuFini)
  {
   ecrireMotSuivant(G);
  }
 }
 
 private void dessinerInterface(Graphics G)
 {
 G.setFont(new Font("Arial",Font.BOLD,30));
 G.setColor(Color.blue);
 G.drawString("Java Motus Game",40,50);
 
 G.setFont(new Font("Helvetika",Font.BOLD,20));
 G.setColor(Color.black);
 G.drawRoundRect(5,390,300,80,4,4);
 
 int x=40,y=100,nb=0;
 
 while(nb < 30)
 {
  G.drawRect(x,y,40,40);
  x+=40;nb++;
  if(nb % 6 == 0) {x=40; y+=40;}
 }
 
 G.setFont(new Font("Helvetika",Font.BOLD,20)); 
 G.setColor(Color.black);
 }
 
 private void initPerdu()
 {
  lblmessage.setText("You lose the solution was "+solution+" .");
  txtmot.setText("");
  MotNum=0;choisirMot();
  for(int i=1;i<6;i++) for(int j=0;j<6;j++) {PosExactes[i][j]=false;this.HistoExacte[i]=false;}
  cmdok.setLabel("Restart");
  jeuFini=true; 
   
 }
 
 
 private  void initMotTrouve()
 {
  lblmessage.setText("Well done you found the word!") ;
  txtmot.setText("");
  
  // O choisi la boule
  jeuFini=true;
  boules = new Frame();
  boules.setTitle("Choix de la boule");
  boules.setSize(200,200);
  boules.setResizable(false);
  //  this.setLocation(600,200);
  // setSize(210,230);
  boules.setLocation(600,440);
  try
  {
  Applet boules_app= new Boules();
  boules.add(boules_app);
  }
  catch(Exception ex) { ex.printStackTrace();}
  cmdok.setEnabled(false);
  txtmot.setEnabled(false);
  boules.setVisible(true);

  
 }
 
 
 private  void ecrireMotSuivant(Graphics g)
 {
  g.drawString(String.valueOf(solution.charAt(0)),55,130+ 40*MotNum);
  
  int pos=1;
  int x=95;
  int y=130 + 40 * MotNum;
  
  while(pos < 6)
  { 
   if(HistoExacte[pos]) g.drawString(String.valueOf(solution.charAt(pos)) , x , y );
   else g.drawString("." , x , y );
   x+=40;pos++;}
  
  txtmot.setText("");
  
 }
 
 
 
 private  void ecrirePremiereLetrre(Graphics g)
 {
  g.drawString(String.valueOf(solution.charAt(0)),55,130);
  
  int pos=1;
  int  x=95;
  int y=130 + 40 * MotNum;
  
  while(pos < 6)
  {g.drawString("." , x , y );
  x+=40;pos++;}
  
  
 }         
 
 
 
 
 private  void dessinerHistorique(Graphics g)
 {
  int x,y;
  int i,j;
  g.setColor(Color.yellow );
  for(i=1;i < MotNum;i++)
  {
   x=40;
   y=100 + 40 * (i-1);
   for(j=0;j < 6 ;j++)
   {if(PosFausses[i][j]) g.fillOval( x + 3 , y+ 3 , 35 , 35);
   
   x+=40;}
   
  }
  g.setColor(Color.red );
  for(i=1;i < MotNum;i++)
  {
   x=40;
   y=100 + 40 * (i-1);
   for(j=0 ;j < 6 ;j++)
   {if(PosExactes[i][j]) { g.fillRect( x + 3 , y + 3 , 35 , 35);}
   
   x+=40;}
   
  }
  
 }
 
 
 private  void ecrireMots(Graphics g)
 {int pos,x,y;
 
 for(int cpt=1;cpt<=MotNum;cpt++)
 {pos=0;
 x=55;
 y=130 + 40 * (cpt-1);
 
 while(pos < 6)
 {
  g.drawString(String.valueOf(MotSaisies[cpt].charAt(pos)) , x , y );
  x+=40;pos++;}
 }
 
 }
 
 
 
 
 private  void dessinerPositionsJustes(Graphics g)
 {int x,y,pos;
 g.setColor(Color.red);
 pos=0;
 x=40;
 y=100 + 40 * (MotNum-1);
 
 while(pos < 6)
 {
  if( MotSaisies[MotNum].charAt(pos) == solution.charAt(pos) )   
  {g.fillRect( x + 3 , y + 3 , 35 , 35);
  PosExactes[MotNum][pos]=true;
  HistoExacte[pos]=true;
  
  }
  else
   PosExactes[MotNum][pos]=false;
  x+=40;pos++;}
 if( MotSaisies[MotNum].equals(solution) ) MotTrouve=true;
 }
 
 private  void dessinerPositionsFausses(Graphics g)
 {
  String tmp=solution;
  char[] tmpc=tmp.toCharArray();
  for(int i=0;i<6;i++)
  {  if(tmp.charAt(i)==MotSaisies[MotNum].charAt(i)) tmpc[i]=' ';           }
  tmp=String.valueOf(tmpc);
  
  g.setColor(Color.yellow);
  int i=0;
  int x=40;
  int y=100 + 40 * (MotNum-1);
  
  while(i < 6)
  {char c= MotSaisies[MotNum].charAt(i);
  if(occurence( c, tmp ) > 0)
  {g.fillOval(x+3 ,y + 3 , 35, 35); 
  PosFausses[MotNum][i]=true;
  tmp=eliminer(c,tmp);}
  else PosFausses[MotNum][i]=false;
  
  x+=40;
  i++;}
  
  
  
 }
 private  String eliminer(char c,String ch)
 {int i=0;
 String resultat="";
 while(i<ch.length())
 {if(ch.charAt(i)==c) {c='1';}
 else resultat+=ch.charAt(i);
 i++;
 }
 
 return resultat;    
 
 
 }
 private  int occurence(char c,String ch)
 {int res=0;
 int i=0;
 while(i<ch.length())
 {if(ch.charAt(i)==c) res++;
 i++;
 }
 return res;
 }
 
 private void testerSaisie()
 {String saisie=txtmot.getText();
 if(saisie.length()!=6)
  MotValide=false;
 else
 {boolean isChar=true;
 int pos=0;
 while(pos < 6 && isChar)
 {isChar=Character.isLetter(saisie.charAt(pos)); pos++;}
 MotValide=isChar;} 
 }
 
 public void setRandomBackground()
 {  
 int r= 150 + alea.nextInt(55);
 int v= 150 + alea.nextInt(55);
 int b= 150 + alea.nextInt(55);
  
 setBackground(new Color(r,v,b));
 lblmessage.setBackground(getBackground());
 lbl1.setBackground(getBackground());
 changerColor.setBackground(getBackground());
 }

 public void initBoutons()
 {
 cmdok.setLabel("Recommencer");
 cmdok.setEnabled(true);
 }
 
 public void initApresChoixBoules()
 {
  txtmot.setText("");
  lblmessage.setText("");
  MotNum=0;choisirMot(); 
  MotTrouve=false;
  for(int i=1;i<6;i++) for(int j=0;j<6;j++) 
  {PosExactes[i][j]=false;this.HistoExacte[j]=false;}
  
  txtmot.setEnabled(true);
  cmdok.setLabel("Ok");
  jeuFini=false; 

  repaint();
 }
}
A voir également:

1 réponse

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 oct. 2016 à 21:55
Bonjour,

D'une part les Applet utilisent une technologie obsolète qu'il faudrait oublier.
D'autre part pour se connecter à une base de données depuis l'Applet il faudrait l'héberger sur un serveur pour que les clients s'y connectent.

Alors commençons par le début : quel type de bases de données est-ce que tu as, quel est le lien pour accéder à ton serveur, et au passage, quelle est la structure des tables en base de données où tu as mis tes mots ?
0
Hassen_Gharbi Messages postés 12 Date d'inscription jeudi 13 octobre 2016 Statut Membre Dernière intervention 8 mai 2019
21 oct. 2016 à 20:10
j'utilise phpmyadmin pour la création de base de donnée wampserver lien localhost
le but si de créer une jeux avec une base de donne
0