/* * CombateTaeKwonDo.java * * Created on 11 de noviembre de 2001, 12:23 PM */ import javax.swing.*; import java.awt.*; import java.awt.event.*; //import java.lang.String.*; import javax.swing.border.*; /** * * @author ALvArO ArEnAs */ public class CombateTaeKwonDo extends JFrame implements ActionListener{ public final static int UN_SEGUNDO = 1000; public final static int DOS_SEGUNDOS = 2000; public final static int RED = 0; public final static int BLUE = 1; /** Creates new form CombateTaeKwonDo */ public CombateTaeKwonDo( TaeKwonDo Caller ) { Origen = Caller; CronometroCorre = false; TimerCronometro = new Timer(UN_SEGUNDO, this); TimerCronometro.setCoalesce(false); initComponents(); BotonTiempo.requestDefaultFocus(); puntos = new int[2][7][3]; for(int i=0;i<7;i++) for(int j=0;j<3;j++) { puntos[RED][i][j]=0; puntos[BLUE][i][j]=0; } filaActual=1; periodo=new String("round"); Resultado = new MarcadorFinal(this,true,"Resultado"); } public void IniCombate(int tiempoR, int tiempoF, int tiempoDescanso, int cantidadR) { TRound = new MiTiempo(tiempoR); TFuera = new MiTiempo(tiempoF); TDescanso = new MiTiempo(tiempoDescanso); nRound = cantidadR; Cronometro.setText(TRound.toString()); Round.setText("1"); show(); CanchonBlue.setText("0"); CanchonRed.setText("0"); KiongoRed.setText("0"); KiongoBlue.setText("0"); PuntajeBlue.setText("0"); PuntajeRed.setText("0"); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents BotTiempoFuera = new JButton(); FoulPanel = new JPanel(); jLabel3 = new JLabel(); CanchonPanel = new JPanel(); jLabel10 = new JLabel(); jLabel6 = new JLabel(); jLabel8 = new JLabel(); CanchonRed = new JButton(); CanchonBlue = new JButton(); EliCanchonRed = new JButton(); EliCanchonBlue = new JButton(); jPanel2 = new JPanel(); jLabel5 = new JLabel(); KiongoRed = new JButton(); KiongoBlue = new JButton(); EliKiongoRed = new JButton(); EliKiongoBlue = new JButton(); BotonTiempo = new JButton(); Cancelar = new JButton(); jPanel1 = new JPanel(); Round = new JLabel(); jLabel2 = new JLabel(); Cronometro = new JLabel(); PuntajeRed = new JLabel(); jLabel18 = new JLabel(); EliPuntajeRed = new JButton(); PuntajeBlue = new JLabel(); EliPuntajeBlue = new JButton(); jLabel20 = new JLabel(); getContentPane().setLayout(null); setTitle("A&J-J&A TaeKowondo Manager"); setName("PrincipalPanel"); setResizable(false); setFont(new Font("Papyrus", 0, 12)); addWindowListener(new WindowAdapter() { public void windowClosing( WindowEvent evt) { exitForm(evt); } }); BotTiempoFuera.setFont(new Font("Papyrus", 0, 18)); BotTiempoFuera.setText("Tiempo Fuera"); BotTiempoFuera.setBorder(new BevelBorder( BevelBorder.RAISED)); BotTiempoFuera.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { BotTiempoFueraMouseReleased(evt); } }); getContentPane().add(BotTiempoFuera); BotTiempoFuera.setBounds(560, 480, 200, 50); FoulPanel.setLayout(null); FoulPanel.setBorder(new EtchedBorder()); jLabel3.setText("Foul"); jLabel3.setHorizontalAlignment( SwingConstants.CENTER); jLabel3.setFont(new Font("Papyrus", 0, 24)); FoulPanel.add(jLabel3); jLabel3.setBounds(60, 10, 80, 30); CanchonPanel.setLayout(null); CanchonPanel.setBorder(new EtchedBorder()); jLabel10.setText("Canchon (1)"); jLabel10.setHorizontalAlignment( SwingConstants.CENTER); jLabel10.setFont(new Font("Papyrus", 0, 16)); CanchonPanel.add(jLabel10); jLabel10.setBounds(40, 0, 90, 30); jLabel6.setText("Chong"); jLabel6.setForeground( Color.red); jLabel6.setHorizontalAlignment( SwingConstants.CENTER); jLabel6.setFont(new Font("Papyrus", 0, 20)); CanchonPanel.add(jLabel6); jLabel6.setBounds(20, 20, 62, 40); jLabel8.setText("Honk"); jLabel8.setForeground( Color.blue); jLabel8.setFont(new Font("Papyrus", 0, 20)); CanchonPanel.add(jLabel8); jLabel8.setBounds(90, 20, 60, 40); CanchonRed.setForeground( Color.red); CanchonRed.setFont(new Font("Arial Narrow", 0, 54)); CanchonRed.setText("0"); CanchonRed.setBorder(new BevelBorder( BevelBorder.RAISED)); CanchonRed.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { CanchonRedMouseReleased(evt); } }); CanchonPanel.add(CanchonRed); CanchonRed.setBounds(20, 60, 60, 50); CanchonBlue.setForeground( Color.blue); CanchonBlue.setFont(new Font("Arial Narrow", 0, 54)); CanchonBlue.setText("0"); CanchonBlue.setBorder(new BevelBorder( BevelBorder.RAISED)); CanchonBlue.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { CanchonBlueMouseReleased(evt); } }); CanchonPanel.add(CanchonBlue); CanchonBlue.setBounds(80, 60, 60, 50); EliCanchonRed.setFont(new Font("Papyrus", 0, 16)); EliCanchonRed.setText("Quitar"); EliCanchonRed.setBorder(new BevelBorder( BevelBorder.RAISED)); EliCanchonRed.setHorizontalTextPosition( SwingConstants.CENTER); EliCanchonRed.setMargin(new Insets(2, 2, 2, 2)); EliCanchonRed.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { EliCanchonRedMouseReleased(evt); } }); CanchonPanel.add(EliCanchonRed); EliCanchonRed.setBounds(20, 110, 60, 31); EliCanchonBlue.setFont(new Font("Papyrus", 0, 16)); EliCanchonBlue.setText("Quitar"); EliCanchonBlue.setBorder(new BevelBorder( BevelBorder.RAISED)); EliCanchonBlue.setMargin(new Insets(2, 2, 2, 2)); EliCanchonBlue.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { EliCanchonBlueMouseReleased(evt); } }); CanchonPanel.add(EliCanchonBlue); EliCanchonBlue.setBounds(80, 110, 60, 30); FoulPanel.add(CanchonPanel); CanchonPanel.setBounds(20, 40, 160, 150); jPanel2.setLayout(null); jPanel2.setBorder(new EtchedBorder()); jLabel5.setText("Kiongo(1/2)"); jLabel5.setHorizontalAlignment( SwingConstants.CENTER); jLabel5.setFont(new Font("Papyrus", 0, 16)); jPanel2.add(jLabel5); jLabel5.setBounds(30, 0, 100, 30); KiongoRed.setForeground( Color.red); KiongoRed.setFont(new Font("Arial Narrow", 0, 54)); KiongoRed.setText("0"); KiongoRed.setBorder(new BevelBorder( BevelBorder.RAISED)); KiongoRed.addActionListener(new ActionListener() { public void actionPerformed( ActionEvent evt) { KiongoRedActionPerformed(evt); } }); KiongoRed.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { KiongoRedMouseReleased(evt); } }); jPanel2.add(KiongoRed); KiongoRed.setBounds(20, 30, 60, 50); KiongoBlue.setForeground( Color.blue); KiongoBlue.setFont(new Font("Arial Narrow", 0, 54)); KiongoBlue.setText("0"); KiongoBlue.setBorder(new BevelBorder( BevelBorder.RAISED)); KiongoBlue.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { KiongoBlueMouseReleased(evt); } }); jPanel2.add(KiongoBlue); KiongoBlue.setBounds(80, 30, 60, 50); EliKiongoRed.setFont(new Font("Papyrus", 0, 16)); EliKiongoRed.setText("Quitar"); EliKiongoRed.setBorder(new BevelBorder( BevelBorder.RAISED)); EliKiongoRed.setHorizontalTextPosition( SwingConstants.CENTER); EliKiongoRed.setMargin(new Insets(2, 2, 2, 2)); EliKiongoRed.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { EliKiongoRedMouseReleased(evt); } }); jPanel2.add(EliKiongoRed); EliKiongoRed.setBounds(20, 80, 60, 31); EliKiongoBlue.setFont(new Font("Papyrus", 0, 16)); EliKiongoBlue.setText("Quitar"); EliKiongoBlue.setBorder(new BevelBorder( BevelBorder.RAISED)); EliKiongoBlue.setMargin(new Insets(2, 2, 2, 2)); EliKiongoBlue.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { EliKiongoBlueMouseReleased(evt); } }); jPanel2.add(EliKiongoBlue); EliKiongoBlue.setBounds(80, 80, 60, 30); FoulPanel.add(jPanel2); jPanel2.setBounds(20, 210, 160, 120); getContentPane().add(FoulPanel); FoulPanel.setBounds(560, 30, 200, 350); BotonTiempo.setFont(new Font("Papyrus", 0, 40)); BotonTiempo.setText("Iniciar"); BotonTiempo.setBorder(new BevelBorder( BevelBorder.RAISED)); BotonTiempo.addKeyListener(new KeyAdapter() { public void keyPressed( KeyEvent evt) { BotonTiempoKeyPressed(evt); } }); BotonTiempo.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { BotonTiempoMouseReleased(evt); } }); getContentPane().add(BotonTiempo); BotonTiempo.setBounds(560, 400, 200, 80); Cancelar.setFont(new Font("Papyrus", 0, 18)); Cancelar.setText("Cancelar"); Cancelar.setBorder(new BevelBorder( BevelBorder.RAISED)); Cancelar.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { CancelarMouseReleased(evt); } }); getContentPane().add(Cancelar); Cancelar.setBounds(560, 530, 200, 30); jPanel1.setLayout(null); jPanel1.setBorder(new EtchedBorder()); Round.setText("5"); Round.setHorizontalAlignment( SwingConstants.CENTER); Round.setFont(new Font("Papyrus", 0, 26)); jPanel1.add(Round); Round.setBounds(100, 0, 30, 40); jLabel2.setText("Round"); jLabel2.setHorizontalAlignment( SwingConstants.CENTER); jLabel2.setFont(new Font("Papyrus", 0, 26)); jPanel1.add(jLabel2); jLabel2.setBounds(10, 10, 90, 30); getContentPane().add(jPanel1); jPanel1.setBounds(200, 110, 140, 40); Cronometro.setText("2:36"); Cronometro.setForeground( Color.black); Cronometro.setHorizontalAlignment( SwingConstants.CENTER); Cronometro.setFont(new Font("Arial Narrow", 0, 324)); getContentPane().add(Cronometro); Cronometro.setBounds(20, 250, 520, 280); PuntajeRed.setText("0"); PuntajeRed.setForeground( Color.red); PuntajeRed.setHorizontalAlignment( SwingConstants.CENTER); PuntajeRed.setFont(new Font("Arial Narrow", 0, 170)); PuntajeRed.setBorder(new EtchedBorder()); getContentPane().add(PuntajeRed); PuntajeRed.setBounds(30, 60, 160, 140); jLabel18.setText("Chong"); jLabel18.setForeground( Color.red); jLabel18.setHorizontalAlignment( SwingConstants.CENTER); jLabel18.setFont(new Font("Papyrus", 0, 34)); getContentPane().add(jLabel18); jLabel18.setBounds(50, 10, 107, 40); EliPuntajeRed.setFont(new Font("Papyrus", 0, 16)); EliPuntajeRed.setText("Quitar"); EliPuntajeRed.setBorder(new BevelBorder( BevelBorder.RAISED)); EliPuntajeRed.setHorizontalTextPosition( SwingConstants.CENTER); EliPuntajeRed.setMargin(new Insets(2, 2, 2, 2)); EliPuntajeRed.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { EliPuntajeRedMouseReleased(evt); } }); getContentPane().add(EliPuntajeRed); EliPuntajeRed.setBounds(30, 200, 160, 31); PuntajeBlue.setText("0"); PuntajeBlue.setForeground( Color.blue); PuntajeBlue.setHorizontalAlignment( SwingConstants.CENTER); PuntajeBlue.setFont(new Font("Arial Narrow", 0, 170)); PuntajeBlue.setBorder(new EtchedBorder()); getContentPane().add(PuntajeBlue); PuntajeBlue.setBounds(350, 60, 160, 140); EliPuntajeBlue.setFont(new Font("Papyrus", 0, 16)); EliPuntajeBlue.setText("Quitar"); EliPuntajeBlue.setBorder(new BevelBorder( BevelBorder.RAISED)); EliPuntajeBlue.setMargin(new Insets(2, 2, 2, 2)); EliPuntajeBlue.addMouseListener(new MouseAdapter() { public void mouseReleased( MouseEvent evt) { EliPuntajeBlueMouseReleased(evt); } }); getContentPane().add(EliPuntajeBlue); EliPuntajeBlue.setBounds(350, 200, 160, 30); jLabel20.setText("Honk"); jLabel20.setForeground( Color.blue); jLabel20.setFont(new Font("Papyrus", 0, 34)); getContentPane().add(jLabel20); jLabel20.setBounds(400, 10, 100, 40); pack(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setSize(new Dimension(800, 600)); setLocation((screenSize.width-800)/2,(screenSize.height-600)/2); }//GEN-END:initComponents private void KiongoRedActionPerformed( ActionEvent evt) {//GEN-FIRST:event_KiongoRedActionPerformed // Add your handling code here: }//GEN-LAST:event_KiongoRedActionPerformed private void BotTiempoFueraMouseReleased( MouseEvent evt) {//GEN-FIRST:event_BotTiempoFueraMouseReleased periodo= new String("TFuera"); Cronometro.setText(TFuera.toString()); TimerCronometro.start(); CronometroCorre=true; BotonTiempo.setText("Detener"); BotTiempoFuera.setEnabled(false); Cancelar.setEnabled(false); }//GEN-LAST:event_BotTiempoFueraMouseReleased private void CancelarMouseReleased( MouseEvent evt) {//GEN-FIRST:event_CancelarMouseReleased if(Cancelar.isEnabled()) { hide(); Origen.show(); } }//GEN-LAST:event_CancelarMouseReleased private void KiongoBlueMouseReleased( MouseEvent evt) {//GEN-FIRST:event_KiongoBlueMouseReleased KiongoBlue.setText( String.valueOf( Integer.parseInt( KiongoBlue.getText() ) + 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_KiongoBlueMouseReleased private void EliPuntajeRedMouseReleased( MouseEvent evt) {//GEN-FIRST:event_EliPuntajeRedMouseReleased long numLabel= Integer.parseInt( PuntajeRed.getText() ); if(numLabel!=0) PuntajeRed.setText( String.valueOf( numLabel - 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_EliPuntajeRedMouseReleased private void EliPuntajeBlueMouseReleased( MouseEvent evt) {//GEN-FIRST:event_EliPuntajeBlueMouseReleased long numLabel= Integer.parseInt( PuntajeBlue.getText() ); if(numLabel!=0) PuntajeBlue.setText( String.valueOf( numLabel - 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_EliPuntajeBlueMouseReleased private void BotonTiempoMouseReleased( MouseEvent evt) {//GEN-FIRST:event_BotonTiempoMouseReleased if(CronometroCorre==false) { TimerCronometro.start(); CronometroCorre=true; BotonTiempo.setText("Detener"); BotTiempoFuera.setEnabled(false); Cancelar.setEnabled(false); } else { //el cronómetro esta corriendo TimerCronometro.stop(); CronometroCorre = false; BotonTiempo.setText("Reanudar"); BotTiempoFuera.setEnabled(true); Cancelar.setEnabled(true); } }//GEN-LAST:event_BotonTiempoMouseReleased private void EliKiongoBlueMouseReleased( MouseEvent evt) {//GEN-FIRST:event_EliKiongoBlueMouseReleased long numLabel= Integer.parseInt( KiongoBlue.getText() ); if(numLabel!=0) KiongoBlue.setText( String.valueOf( numLabel - 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_EliKiongoBlueMouseReleased private void EliKiongoRedMouseReleased( MouseEvent evt) {//GEN-FIRST:event_EliKiongoRedMouseReleased long numLabel= Integer.parseInt( KiongoRed.getText() ); if(numLabel!=0) KiongoRed.setText( String.valueOf( numLabel - 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_EliKiongoRedMouseReleased private void KiongoRedMouseReleased( MouseEvent evt) {//GEN-FIRST:event_KiongoRedMouseReleased KiongoRed.setText( String.valueOf( Integer.parseInt( KiongoRed.getText() ) + 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_KiongoRedMouseReleased private void EliCanchonRedMouseReleased( MouseEvent evt) {//GEN-FIRST:event_EliCanchonRedMouseReleased long numLabel= Integer.parseInt( CanchonRed.getText() ); if(numLabel!=0) CanchonRed.setText( String.valueOf( numLabel - 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_EliCanchonRedMouseReleased private void CanchonRedMouseReleased( MouseEvent evt) {//GEN-FIRST:event_CanchonRedMouseReleased CanchonRed.setText( String.valueOf( Integer.parseInt( CanchonRed.getText() ) + 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_CanchonRedMouseReleased private void CanchonBlueMouseReleased( MouseEvent evt) {//GEN-FIRST:event_CanchonBlueMouseReleased CanchonBlue.setText( String.valueOf(Integer.parseInt( CanchonBlue.getText() ) + 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_CanchonBlueMouseReleased private void EliCanchonBlueMouseReleased( MouseEvent evt) {//GEN-FIRST:event_EliCanchonBlueMouseReleased long numLabel= Integer.parseInt( CanchonBlue.getText() ); if(numLabel!=0) CanchonBlue.setText( String.valueOf( numLabel - 1) ); BotonTiempo.requestFocus(); }//GEN-LAST:event_EliCanchonBlueMouseReleased private void BotonTiempoKeyPressed( KeyEvent evt) {//GEN-FIRST:event_BotonTiempoKeyPressed int juez=9; int color; char c = evt.getKeyChar(); if(c=='q'||c=='z') juez=0; else if(c=='y'||c=='n') juez=1; else if(c=='p'||c=='-')//puede ser una letra no valida juez=2; if(c=='q'||c=='y'||c=='p') color = RED; else if(c=='z'||c=='n'||c=='-') color = BLUE; else color = -1; if(color!=-1) //solo si es una tecla válida atenderPulso(filaActual, color, juez); }//GEN-LAST:event_BotonTiempoKeyPressed private void atenderPulso(int fila, int color, int juez) { if(puntos[color][fila][juez]==1) { //en esta casilla no hay que marcar atenderPulso( (fila+1)%6, color, juez ); } else if (puntos[color][fila][0]==0&&puntos[color][fila][1]==0&& /* crear un nuevo Timer */ puntos[color][fila][2]==0) { new Timer( DOS_SEGUNDOS, new TimerListener(this, color) ).start(); puntos[color][fila][juez]=1; } else //ya estaba iniciado el timer. puntos[color][fila][juez]=1; } public void contarPuntos(int color) { int i,f; f = filaActual; filaActual = (filaActual+1)%6;//asi los prox eventos escribiran en otra fila if( puntos[color][f][0] + puntos[color][f][1] + puntos[color][f][2] >= 2 ){ if(color==RED) PuntajeRed.setText( String.valueOf(Integer.parseInt( PuntajeRed.getText() ) + 1) ); else PuntajeBlue.setText( String.valueOf(Integer.parseInt( PuntajeBlue.getText() ) + 1) ); } for(i=0;i<3;i++) puntos[color][f][i]=0; } private void exitForm( WindowEvent evt) {//GEN-FIRST:event_exitForm if(Cancelar.isEnabled()) { hide(); Origen.show(); } }//GEN-LAST:event_exitForm //atiende los eventos que hacen disminuir el cronometro public void actionPerformed( ActionEvent e) { if( periodo.equalsIgnoreCase("Round" ) ){ TRound.disminuir(); Cronometro.setText(TRound.toString()); if(TRound.actual()<=0) { //hay que dejar de leer datos TimerCronometro.stop(); if( Integer.parseInt( Round.getText() ) == nRound ) { //MOSTRAR EL FINAL Resultado.mostrar( Origen,PuntajeRed.getText(), PuntajeBlue.getText(),KiongoRed.getText(), KiongoBlue.getText(),CanchonRed.getText(), CanchonBlue.getText() ); hide(); TimerCronometro.stop(); CronometroCorre = false; BotonTiempo.setEnabled(true); BotonTiempo.setText("Iniciar"); BotTiempoFuera.setEnabled(false); Cancelar.setEnabled(true); } else { // al descanso periodo = new String("Descanso"); CronometroCorre=false; TDescanso.setInicial(); Cronometro.setText(TDescanso.toString()); TRound.setInicial(); BotonTiempo.setText("Reanudar"); BotTiempoFuera.setEnabled(true); Cancelar.setEnabled(true); } } } else if( periodo.equalsIgnoreCase("Descanso") ){ TDescanso.disminuir(); Cronometro.setText(TDescanso.toString()); if(TDescanso.actual()<=0) {// comenzar round TimerCronometro.stop(); CronometroCorre=false; Cronometro.setText(TRound.toString()); periodo = new String("Round"); Round.setText( String.valueOf( Integer.parseInt( Round.getText() ) + 1) ); BotonTiempo.setText("Reanudar"); BotTiempoFuera.setEnabled(true); Cancelar.setEnabled(true); } } else {//tiempo fuera TFuera.disminuir(); Cronometro.setText(TFuera.toString()); if(TFuera.actual()<=0) {//comenzar round TimerCronometro.stop(); CronometroCorre=false; Cronometro.setText(TRound.toString()); periodo = new String("Round"); BotonTiempo.setText("Reanudar"); BotTiempoFuera.setEnabled(true); Cancelar.setEnabled(true); TFuera.setInicial(); } } } // Variables declaration - do not modify//GEN-BEGIN:variables private JButton BotTiempoFuera; private JPanel FoulPanel; private JLabel jLabel3; private JPanel CanchonPanel; private JLabel jLabel10; private JLabel jLabel6; private JLabel jLabel8; private JButton CanchonRed; private JButton CanchonBlue; private JButton EliCanchonRed; private JButton EliCanchonBlue; private JPanel jPanel2; private JLabel jLabel5; private JButton KiongoRed; private JButton KiongoBlue; private JButton EliKiongoRed; private JButton EliKiongoBlue; private JButton BotonTiempo; private JButton Cancelar; private JPanel jPanel1; private JLabel Round; private JLabel jLabel2; private JLabel Cronometro; private JLabel PuntajeRed; private JLabel jLabel18; private JButton EliPuntajeRed; private JLabel PuntajeBlue; private JButton EliPuntajeBlue; private JLabel jLabel20; // End of variables declaration//GEN-END:variables private TaeKwonDo Origen; private MiTiempo TRound, TFuera,TDescanso; private int nRound,roundActual; private Timer TimerCronometro; private boolean CronometroCorre; private int[][][] puntos; //anota los puntos en la ventana de tiempo private int filaActual; //indica cual linea de la matriz puntos mirará private String periodo; private MarcadorFinal Resultado; }