Solicitando el código fuente del juego java
Importar subprograma de Java .
Importar Java.awt.toolkit;
Importar formato de archivo javax.sound.sampled.audio;
Importar sistema javax.sound.sampled.audio;
Importar javax.swing.jframe;
Importar javax.swing.jpanel;
Importar Java.awt.rectangle;
Importar javax .swing .fábrica de bordes
Importar javax .jswing . /p>
Importar javax .swing .jlabel;
Importar javax .swing Utilidades;
Importar javax ui manager;
Importar evento de cambio javax.
Importar evento de acción javax.
>Importar evento de clave Java .
Importar evento de clave Java . p>Importar archivo Java .io .
Importar Java .util vector;
La clase pública Frame extiende JFrame para implementar Runnable {
JPanel contentPane p >
JPanel JPanel 1 = nuevo JPanel();
JButton JButton 1 = nuevo JButton();
JSlider JSlider 1 = nuevo JSlider();
JLabel JLabel 1 = nuevo JLabel();
JButton JButton 2 = nuevo JButton();
JLabel JLabel 2 = nuevo JLabel();
int count = 1, fast = 80; // Calcula el número actual y la posición del cursor rápido.
int zhengque = 0, CuO Wu = 0;
int rush[] = {10, 20, 30} //El número de niveles del juego se puede agregar libremente; .
Columna {10, 20, 30, 40, 50}
int rush_count = 0; //número final del registro
char list[] = { 'A ', ' B ', 'C','D','E','F','G','H','I','J','K','L',
' m ' , 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
z ', ' 1 ', ' 2 ', ' 3 ', ' 4 ', ' 5 ', ' 6 ', ' 7 ', ' 8 ', ' 9 '} // Números aleatorios se puede agregar libremente.
Número de vector = nuevo vector();
Cadenapaiduan = " true
AudioClip Musci_Anjian, Music_White Stone, Music_Chenggong;
Público Frame(){
Prueba{
setDefaultCloseOperation(EXIT _ ON _ CLOSE
// - Archivo de sonido /p>
Musci_anjian=. Applet.newAudioClip(nuevo archivo(" sonidos//anjian.wav")
.toURL());
Music_白石= Applet.newAudioClip(nuevo archivo(" sonidos/ /shibai.wav ")
.toURL());
music_cheng gong = subprograma. newaudioclip(nuevo archivo(
"sonido//chenggong.wav ").toURL());
// -
JB init();
} catch(Excepción){
excepción . printstacktrace();
}
}
/**
*Inicialización de componentes.
*
* @throws java.lang.Exception
*/
Private void jbInit() lanza una excepción { p >
panel de contenido =(JPanel)obtener panel de contenido();
panel de contenido establecer diseño(nulo);
setSize(nueva dimensión (588, 530));
setTitle("título del marco");
jpanel 1. set border(border factory. createetchedborder());
jPanel1.setBounds(nuevo rectángulo ( 4, 4, 573, 419));
jpanel 1. establecer diseño (nulo);
jButton1.setBounds (nuevo rectángulo (277, 442, 89, 31));
jbutton 1. settext(" Inicio ");
jbutton 1. addactionlistener(nuevo marco 1 _ jbutton 1 _ actionAdapter(this)
jSlider1); .setBounds(nuevo rectángulo(83, 448, 164, 21));
jslider 1. setmaximum(100);
jslider 1. set mínimo(1);
p>
js lider 1. setvalue(50);
jlabel 1. settext(" velocidad ");
jLabel1.setBounds(nuevo rectángulo(35 , 451, 39 , 18));
jButton2.setBounds(nuevo rectángulo (408, 442, 89, 31));
jbutton 2. settext(" fin ");
jbutton 2 . addactionlistener(new frame 1 _ jbutton 2 _ action adaptor(this));
jlabel 2 .
jLabel2 .setBounds(nuevo rectángulo(414, 473, 171, 21));
panel de contenido. agregar(jpanel 1);
panel de contenido. );
p>panel de contenido . add(jbutton 1);
panel de contenido . add(jslider 1); );
panel de contenido . add(jlabel 2);
this . addkey oyente (nuevo mi oyente()); nuevo mi oyente());
jslider 1. addkey oyente(nuevo mi oyente());
jslider 1. addchangelistener(nuevo cambio oyente(){
estado de vacío público cambiado (evento de cambio e
){
Rapidez = js lider 1. getvalue();
}
});
}
Public void run(){
número clear();
falta positivo = 0;
cuowu = 0;
paiduan = " true
mientras(cuenta & lt; = prisa[rush_count]) {
prueba{
Hilo t = nuevo hilo(nuevo Thilo ( ));
t . inicio();
cuenta+=
hilo dormir(100(int)(math. random() *. 2000)); //El tiempo de pausa del siguiente grupo de producción
//El más rápido es 1. El más lento es 2 segundos
} catch (InterruptedException e) { p >
e .printstacktrace();
}
}
Mientras (verdadero) {//Espera a que desaparezca el último carácter p>
if (número.tamaño() == 0) {
Romper;
}
}
Si (zhengque == 0) {//Para división futura... Si ambos son verdaderos o falsos, se producirá un error. Por lo tanto...
pájaro positivo = 1;
}
if (cuowu == 0) {
CuO Wu = 1;
}
Si (paiyuan.equals(" true ")) {//Determina si es un final natural.
if(Zheng que/CuO Wu & gt; = 2) {
Joptionpane. Mostrar cuadro de diálogo de mensaje ( vacío, "Felicitaciones por pasar el nivel");
rush _ count+= 1; //Cerrar automáticamente 1.
if(rush _ count & lt; rush.length) {
if(rapidity>10) {//Cuando la velocidad es mayor que 10, aumenta la aceleración a -5. Me temo que la velocidad es demasiado rápida.
Rapidez-= 5. ; //La velocidad se reduce automáticamente en 10 milisegundos
jSlider1.setValue(fastness); //Selecciona la posición
}
Thread t = new. hilo (esto);
t .start();
}else{
Panel de opciones. Mostrar cuadro de diálogo de mensaje (vacío, "Niu B... eres inocente...");
rush_count = 0;
count = 0;
}
}else{
Panel de opciones.
Mostrar cuadro de diálogo de mensaje (vacío, "Sigue intentándolo");
rush_count = 0;
count = 0;
}
} De lo contrario {
rush_count = 0
count = 0
}
}
< p; >public void jbutton 1 _ acción realizada(evento de acción e){Subproceso t = nuevo subproceso (este
t .
); }
botón jpublic void 2 _ acción realizada(evento de acción e){
count = rush[rush _ count]+1;
paiduan = " flase
}
La clase Tthread implementa Runnable {
Public void run(){
boolean fo = true
int Y = 0, Plain, 33));
jpanel 1. add(show);
x = 1(int)(math. random()* 400) ;
Parámetro de cadena = lista[(int)(math. random()* list. length)]+" ";
Bean Bean = new Bean(); >
bean.setParameter(parámetro);
bean.set show(show);
número. (parámetro);
p>
mientras (fo) {
// - El número se mueve hacia abajo.
show.setBounds(new rectángulo(X,Y += 2,33,33));
Pruebe {
Thread.sleep(fast);
} catch (InterruptedException e) {
e . printstacktrace();
}
if (Y & gt= 419) {
fo = false;
for(int I = número . tamaño()-1;i>= 0;i-) {
Bean bn = ((Bean)número . get(I));
if(parámetro . igualsignorecase(bn . getparameter()){
CuO Wu+= 1;
JLabel2.setText("Correcto: "+zhengque+", incorrecto: "+cuowu "
+"pieza");
número . removeelementat(I);
número . removeelementat(I);
p>
música _ shibai .
Romper
}
}
}
}
}
}
La clase MyListener extiende KeyAdapter {
Clave de anulación pública (evento clave e) { p>
cadena uu = e . getkey char()+" "
for(int I = 0; i<number; . tamaño(); i++) {
Bean Bean =((Bean)número . get(I));
if(uu . igualsignorecase(bean . getparameter()){
Positivo += 1;
p>número .removeelementat(I);
bean.getShow().
JLabel2. setText("Correcto:"+falta positiva+ "pieza, error: "+cuowu+"pieza");
música _ cheng gong(); >
}
}
musci_anjian play();
}
}
Pruebe {
ui manager . setlookandfeel(ui manager . getsystemlookandfeelclassname()
} catch); (Excepción){
excepción . printstacktrace();
}
Marco Marco = nuevo Marco()
dimensión tamaño de pantalla = kit de herramientas.
getScreenSize();
dimensión frameSize = frame . getsize();
if(framesize . height & gt; screenSize.height) {
framesize . = tamaño de pantalla .
}
if(tamaño de marco . ancho & gt; tamaño de pantalla.ancho) {
ancho de marco = ancho de pantalla;
p>
p>
}
marco establecer ubicación ((tamaño de pantalla. ancho-tamaño de marco. ancho)/2,
(tamaño de pantalla. altura-tamaño de marco. altura )/2);
marco establecido visible(verdadero);
}
}
clase marco 1 _ jbutton 2 _. el adaptador de acción implementa ActionListener {
Adaptador de marco especializado;
Marco 1 _ jbutton 2 _ adaptador de acción (adaptador de marco) {
this.adaptee = adaptee p>
}
acción de anulación pública realizada (evento de acción e){
adaptee . jbutton 2 _ acción realizada (e);
}
}
Marco de clase 1 _ jbutton 1 _ adaptador de acción implementa ActionListener {
Adaptador de marco especializado;
Marco 1 _ jbutton 1 _ adaptador de acción (adaptador de marco){
this.adaptee = adaptee
}
acción de anulación pública realizada (evento de acción e){
adaptee . jbutton 1 _ acción realizada(e);
}
}
Class Bean {
Parámetro de cadena = nulo
JLabel show = null
JLabel público getShow() {
Devolver show;
}
Vacío público setShow(JLabel show ) {
this.show = show
}
Cadena pública getParameter() {
Parámetros de retorno;
}
setParameter public void(parámetro de cadena){
this.parameter = parámetro;
}
}