/* PFanalyse.java - jpq - 05/02/00
 * modification et ajout de main() le 07/02/18
 * JFrame, JPanel et modifications le 26/02/21
 */

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;

public class PFanalyse extends JPanel implements ActionListener {
  static final long serialVersionUID = 210226L;
  TextArea ta, tb;
  int Nlancers = 100;
  Button ok, efface;

  public PFanalyse() {
	Font f = new Font ("Arial", Font.PLAIN, 10);
	setLayout (new FlowLayout());
    setBackground (Color.lightGray);
    add (ok = new Button ("Analyse"));
    ok.addActionListener (this);
    add (efface = new Button ("Efface"));
    efface.addActionListener (this);
    add (ta = new TextArea ("", 5, 50, TextArea.SCROLLBARS_BOTH));
	add (tb = new TextArea ("", 2, 50, TextArea.SCROLLBARS_BOTH));
    ok.setFont (f);
    efface.setFont (f);
    ta.setFont (f);
    setFont (f);
  }

  public void actionPerformed (ActionEvent e) {
	if (e.getSource () == efface) {
	  ta.setText ("");
      tb.setText ("");
    } else if (e.getSource () == ok) {
	  String s = ta.getText().toLowerCase();
      int ls = s.length();
      int i = 0, inc = 1, max = 1, tot = 0;
      char derc = ' ';
      while ((i < ls) && (tot < 100)) {
		char c = s.charAt (i ++);
        if ((c == 'p') || (c == 'f')) {
		  tot ++;
          if (c == derc)
		    inc ++;
          else {
			derc = c;
            if (inc > max)
			  max = inc;
            inc = 1;
          }
        }
        if (inc > max) max = inc;
      }
      if (tot < 100)
		tb.setText ("il y a moins de 100 données");
      else if ((max < 5) || (max > 9))
		tb.setText ("votre séquence de PF n'a pas été créée à l'aide d'un\ngénérateur aléatoire ni avec de vrais lancers de pièce");
      else
		tb.setText ("votre séquence de PF a été créée à l'aide d'un\ngénérateur aléatoire ou avec de vrais lancers de pièce");
    }
  }

////////////////////////////////////////////////////////////////////////////////

  public static void main (String [] args) {
    PFanalyse app = new PFanalyse();

	JFrame f = new JFrame ("PFanalyse");
	f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
	f.add (app);
	f.setSize (400, 230);
	f.setVisible (true);
  }

}
