Una pregunta sobre programación de juegos (¡¡¡urgente!!!). Acabo de implementarla según tengo entendido.
Simplemente lo implementé según mi propio entendimiento.
Tampoco escribí ningún comentario.
importar java.awt.*;
importar javax.swing.*
importar java.awt.event.*; >clase pública Main extiende JPanel{
public static final int NUMBER_OF_CHARS=200;
JPanel privado p;
JButton privado jbtStart=new JButton("Generar un nuevo grupo");
JButton privado jbtStop=new JButton("Salir");
JTextArea privado jta=new JTextArea();
JLabel privado jlb ;
private char[] chars;
public Main(){
jlb=new JLabel("La clave que ingresa es:"); p>
p>
p=nuevo JPanel();
p.add(jbtStart);
p.add( jbtStop); p> setLayout(new BorderLayout());
add(p, BorderLayout.SOUTH
add(jta, BorderLayout.CENTER); (jlb, BorderLayout. NORTE);
jta.setEdditable(false);
jta.setWrapStyleWord(false);
jta.setLineWrap(true);
jta.setWrapStyleWord(false);
jta.setLineWrap(true)setLineWrap(true);
jta.setFocusable(false);
jbtStart. addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
chars=getRandomChars().toCharArray();
jta.setText( String.valueOf(chars));
jta.setFocusable(true);
jta.requestFocusInWindow();
} p>
})
jbtStop.addActionListener(addActionListener(new ActionListener(){
public void actionPerformed( ActionEvent e){
System.exit (0);
}
});
jta.addKeyListener(
nuevo KeyAdapter(){
public void keyPressed( KeyEvent e){
char c=e.getKeyChar();
if(isOver(chars)) {
jta.setText("OK");
jta.setFocusable(false);
retorno
} p>
if(chars[0]==c){
String s=String.valueOf(chars);
jta.setForeground(Color.RED);
jta.setText( s.charAt(0) "");
jta.setForeground(Color.BLACK)
chars=s.substring(1); , s.length()).toCharArray();
jta.setText( String.valueOf(chars));
if (isOver(chars)){
jta.setText("OK");
}
jta.setFocusable(true);
}
jlb; .setForeground(Color.BLACK);
Chars=s.substring(1, s.length())setText("La clave que ingresa es: " c);
}
});
}
}
Componente de pintura vacía protegida (Gráficos g){
super. paintComponent (g);
}
público estático booleano isOver(char[] caracteres){
return (chars.length==0); p> p>
}
cadena estática pública getRandomChars(){
char[] randomChars=new char[NUMBER_OF_CHARS];
for(int i= 0; NUMBER_OF_CHARS; i ){
caracteres aleatorios[ i]=getRandomCharacter();
}
return String.valueOf(randomChars);
p>}
carácter estático público getRandomCharacter(){
int coin=(int)(1 Math.random()*3);
if(coin ==1){
return (char)('A' Math.random( )*(int)('9'-'0' 1));
}
}
public static void main(String[] args){
Ma
en p=new Main();
JFrame f=new JFrame();
f.getContentPane().add(p);
f. setSize(500, 180);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ ON_CLOSE);
}
}