2016-04-14 58 views
-1

Bir harf içeren bir dizeyi oluşturduğum ve rastgele harf seçiliyken tıklattığım düğme varsa bir şey olmasını istediğim bir oyun oluşturuyorum..equal ifadesinde başka çalışma çalışmıyor

public class JeuxMemoire extends Applet implements ActionListener { 
    Button start; 
    Button end; 

    Button un= new Button("q"); 
    Button deux= new Button("w"); 
    Button trois= new Button("e"); 
    Button quatre= new Button("r"); 
    Button cinq= new Button("t"); 
    Button six= new Button("y"); 
    Button sept= new Button("u"); 
    Button huit= new Button("i"); 
    Button neuf= new Button("o"); 
    Button dix= new Button("p"); 
    Button onze= new Button("a"); 
    Button douze= new Button("s"); 
    Button treize= new Button("d"); 
    Button quatorze= new Button("f"); 
    Button quinze= new Button("g"); 
    Button seize= new Button("h"); 

    int scur = 0; 
    String[] num = {"q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h"}; 
    Label score; 
    Label timer = new Label("Lettre: ") ; 
    Label lettre = new Label("temps: "); 

    public void RestartGame() 
    { 
     start.setEnabled(true); 
     un.setEnabled(false); 
     deux.setEnabled(false); 
     trois.setEnabled(false); 
     quatre.setEnabled(false); 
     cinq.setEnabled(false); 
     six.setEnabled(false); 
     sept.setEnabled(false); 
     huit.setEnabled(false); 
     neuf.setEnabled(false); 
     dix.setEnabled(false); 
     onze.setEnabled(false); 
     douze.setEnabled(false); 
     treize.setEnabled(false); 
     quatorze.setEnabled(false); 
     quinze.setEnabled(false); 
     seize.setEnabled(false); 
     scur = 0; 

    } 

    public String populateStringArray() 
    { 

     int ran = (int) (Math.random() * 15); 
     //System.out.println(ran); 
     return num[ran]; 
    } 

    public void init(){ 

     this.setLayout(new BorderLayout()); 
     this.setBackground(Color.ORANGE); 
     Font policeApplet = new Font("ComicSans", Font.BOLD, 20); 
     this.setFont(policeApplet); 


    start = new Button ("Commence"); 
    start.addActionListener(this); 

    Panel superior = new Panel(); 
    superior.setLayout(new BorderLayout()); 
    superior.add(start); 
    this.add(superior,"North"); 

    Panel time = new Panel(); 
    time.add(timer); 
    superior.add(time,"East"); 

    Panel lett = new Panel(); 
    lett.add(lettre); 
    superior.add(lett,"West"); 

    Panel central = new Panel(); 
    central.setLayout(new GridLayout(4, 4)); 
    this.add(central, "Center"); 

    central.add(un); 
    central.add(deux); 
    central.add(trois); 
    central.add(quatre); 
    central.add(cinq); 
    central.add(six); 
    central.add(sept); 
    central.add(huit); 
    central.add(neuf); 
    central.add(dix); 
    central.add(onze); 
    central.add(douze); 
    central.add(treize); 
    central.add(quatorze); 
    central.add(quinze); 
    central.add(seize); 

    RestartGame(); 

    score = new Label ("Votre Score est " + scur); 
    this.add(score,"South"); 

    un.addActionListener(this); 
    deux.addActionListener(this); 
    trois.addActionListener(this); 
    quatre.addActionListener(this); 
    cinq.addActionListener(this); 
    six.addActionListener(this); 
    sept.addActionListener(this); 
    huit.addActionListener(this); 
    neuf.addActionListener(this); 
    dix.addActionListener(this); 
    onze.addActionListener(this); 
    douze.addActionListener(this); 
    treize.addActionListener(this); 
    quatorze.addActionListener(this); 
    quinze.addActionListener(this); 
    seize.addActionListener(this); 
    } 

    public void actionPerformed(ActionEvent event) 
    { 
     String lettres ="";// populateStringArray(); 
     //Button Buton = (Button) event.getSource(); 
     Button buton = (Button) event.getSource(); 
     if (buton == start){ 
      lettres = populateStringArray(); 
      timer.setText("Let:" + lettres); 
      start.setEnabled(false); 
      un.setEnabled(true); 
      deux.setEnabled(true);  
      trois.setEnabled(true); 
      quatre.setEnabled(true); 
      cinq.setEnabled(true); 
      six.setEnabled(true); 
      sept.setEnabled(true); 
      huit.setEnabled(true); 
      neuf.setEnabled(true); 
      dix.setEnabled(true); 
      onze.setEnabled(true); 
      douze.setEnabled(true); 
      treize.setEnabled(true); 
      quatorze.setEnabled(true); 
      quinze.setEnabled(true); 
      seize.setEnabled(true); 

     } 
     else if ((buton == un)&&(lettres.equals("q"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if ((buton == deux)&&(lettres.equals("w"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == trois)/*&&(lettres.equals("e"))*/){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if ((buton == quatre)&&(lettres.equals("r"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == cinq)&&(lettres.equals("t"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == six)&&(lettres.equals("y"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == sept)&&(lettres.equals("u"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == huit)&&(lettres.equals("i"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == neuf)&&(lettres.equals("o"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == dix)&&(lettres.equals("p"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == onze)&&(lettres.equals("a"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == douze)&&(lettres.equals("s"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == treize)&&(lettres.equals("d"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == quatorze)&&(lettres.equals("f"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == quinze)&&(lettres.equals("g"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 
     else if((buton == seize)&&(lettres.equals("h"))){ 
      scur++; 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
      timer.setText("Lettre:" + lettres); 
      score.setText("Score: "+ scur); 
     } 

     //else System.out.println(lettres); 
     else { 
      lettres = populateStringArray(); 
      System.out.println(lettres); 
     } 

    } 


} 
+0

Lütfen bu sorunu çoğaltmak için kodu en aza indirgeyin. Oku [MCVE]. – Savior

+0

Eğer _lettres == 'q'_ kullanmak mümkün olacak şekilde değişken _NUM_ için dizesi yerine char dizisi kullanmayı düşünün –

cevap

1

Sorununuz lettres daima boş bir dizeye "" için başlatılır olmasıdır: Sorun ben de bir char diziye String dizi değişkeni değiştirmek ve aynı konularla == kullanmaya çalıştık, .equals() ile Bu eylem dinleyicisi her tetiklendiğinde, equals() yöntemi her zaman boş bir dizgeye karşı kontrol edecektir. İfadeler doğruysa, başka hiçbiri.