Hassen_Gharbi
Messages postés12Date d'inscriptionjeudi 13 octobre 2016StatutMembreDernière intervention 8 mai 2019
-
Modifié par KX le 20/10/2016 à 21:39
Hassen_Gharbi
Messages postés12Date d'inscriptionjeudi 13 octobre 2016StatutMembreDerniè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();
}
}
KX
Messages postés16754Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention25 novembre 20243 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 ?
Hassen_Gharbi
Messages postés12Date d'inscriptionjeudi 13 octobre 2016StatutMembreDerniè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
21 oct. 2016 à 20:10
le but si de créer une jeux avec une base de donne